summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 203f9ed)
raw | patch | inline | side by side (parent: 203f9ed)
author | Gunjan Dang <gdang@ti.com> | |
Tue, 17 Aug 2010 12:29:02 +0000 (17:59 +0530) | ||
committer | Sundaram Raju <sundaram@ti.com> | |
Tue, 17 Aug 2010 12:33:18 +0000 (18:03 +0530) |
- Added a new 'generic' platform in the Resource Manager library
that can be used for devices unsupported in the EDMA3 LLD
Signed-off-by: Sundaram Raju <sundaram@ti.com>
that can be used for devices unsupported in the EDMA3 LLD
Signed-off-by: Sundaram Raju <sundaram@ti.com>
packages/ti/sdo/edma3/rm/package.bld | patch | blob | history | |
packages/ti/sdo/edma3/rm/package.xs | patch | blob | history | |
packages/ti/sdo/edma3/rm/src/edma3resmgr.c | patch | blob | history |
index ca4151ae2ecbc5a607a44e859b68dadcb2a4bad1..bd7a09a03b7ad125fdf06bad687b1d9d2245a24a 100755 (executable)
"src/edma3_rm_gbl_data.c",
];
+var objListGeneric = [
+ /* Common file. */
+ "src/edma3resmgr.c",
+ /* File defining internal data structures. */
+ "src/edma3_rm_gbl_data.c",
+];
+
+
var objList = [
objListDA830,
objListSimTCI6498,
'dm740/',
'c6472/',
'tci6486/',
+ 'generic/',
];
for each (var targ in Build.targets)
}
}
- if (bool == 0)
- throw new Error('Unexpected value in "platform" parameter')
+ if (bool == 0) {
+ //throw new Error('Unexpected value in "platform" parameter')
+ }
if (java.lang.String(targ.model.endian).equals("big")) {
Pkg.addLibrary(lib + "Debug/" + Pkg.name, targ,
).addObjects(objList[i]);
}
}
+
+ var lib = "lib/generic/";
+
+ /* Also build a generic library */
+ if (java.lang.String(targ.model.endian).equals("big")) {
+ Pkg.addLibrary(lib + "Debug/" + Pkg.name, targ,
+ { defs:"-DBIG_ENDIAN_MODE -DGENERIC ", profile: "debug"}
+ ).addObjects(objListGeneric);
+ Pkg.addLibrary(lib + "Release/" + Pkg.name, targ,
+ { defs:"-DBIG_ENDIAN_MODE -DGENERIC ", profile: "release"}
+ ).addObjects(objListGeneric);
+ } else {
+ Pkg.addLibrary(lib + "Debug/" + Pkg.name, targ,
+ { defs:" -DGENERIC ", profile: "debug"}
+ ).addObjects(objListGeneric);
+ Pkg.addLibrary(lib + "Release/" + Pkg.name, targ,
+ { defs:" -DGENERIC ", profile: "release"}
+ ).addObjects(objListGeneric);
+ }
}
'lib/tci6486/Debug/ti.sdo.edma3.rm.a64Pe',
'lib/tci6486/Release/ti.sdo.edma3.rm.a64P',
'lib/tci6486/Release/ti.sdo.edma3.rm.a64Pe',
+ 'lib/Debug/ti.sdo.edma3.rm.a674',
+ 'lib/Release/ti.sdo.edma3.rm.a674',
+ 'lib/Debug/ti.sdo.edma3.rm.a64P',
+ 'lib/Debug/ti.sdo.edma3.rm.a64Pe',
+ 'lib/Release/ti.sdo.edma3.rm.a64P',
+ 'lib/Release/ti.sdo.edma3.rm.a64Pe',
'src',
'.cdtproject',
'.project',
index 660b7b79c5473b234be16adcbabac4e3b8f6c9b1..c5d489b39b761255a1de54b0086de0f7ee0a8740 100755 (executable)
}
}
- if (bool == 0)
+ if (bool == 0) {
+ /*
throw new Error('Unexpected value in "platform" parameter')
+ */
+ lib = lib + "generic/";
+ target = ".a" + Program.build.target.suffix;
+ }
switch (this.profile) {
case 'debug':
diff --git a/packages/ti/sdo/edma3/rm/src/edma3resmgr.c b/packages/ti/sdo/edma3/rm/src/edma3resmgr.c
index fef972f0d69e154dd9825525e2478e14018930c9..b42677b2ebf0f4eb35094f37e91ac6e72dcf0153 100755 (executable)
extern const unsigned int EDMA3_MAX_RM_INSTANCES;
+#ifndef GENERIC
/**
* \brief Static Configuration structure for EDMA3
* controller, to provide Global SoC specific Information.
*/
extern EDMA3_RM_InstanceInitConfig defInstInitConfig [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_REGIONS];
+#endif
+
/**
* \brief Region Specific Configuration structure for
static unsigned short rmInitDone = FALSE;
const EDMA3_RM_MiscParam *miscOpt = (const EDMA3_RM_MiscParam *)miscParam;
+#ifdef GENERIC
+ /* GENERIC libraries don't come with a default confifguration, always
+ needs to be supplied with a parameter */
+ if (gblCfgParams == NULL)
+ {
+ result = EDMA3_RM_E_INVALID_PARAM;
+ }
+#endif
+
/**
* We are NOT checking 'gblCfgParams' for NULL.
* If user has passed NULL, default config info will be
* If yes, copy it to the driver data structures. Else, use the
* info from the config file edma3Cfg.c
*/
+#ifndef GENERIC
if (NULL == gblCfgParams)
{
/* Take info from the specific config file */
}
else
{
+#endif
/* User passed the info, save it in the RM object first */
edma3MemCpy((void *)(&resMgrObj[phyCtrllerInstId].gblCfgParams),
(const void *)(gblCfgParams),
sizeof (EDMA3_RM_GblConfigParams));
+#ifndef GENERIC
}
+#endif
/**
unsigned int tccDwrds = 0u;
volatile EDMA3_CCRL_Regs *globalRegs = NULL;
+#ifdef GENERIC
+ /* GENERIC libraries don't come with a default confifguration, always
+ needs to be supplied with a parameter */
+ if ((initParam == NULL) || (initParam->rmInstInitConfig))
+ {
+ result = EDMA3_RM_E_INVALID_PARAM;
+ }
+#endif
+
+
/* If parameter checking is enabled... */
#ifndef EDMA3_RM_PARAM_CHECK_DISABLE
if (((initParam == NULL)
* resMgrIdx specifies the RM instance number created just now.
* Use it to populate the userInitConfig [].
*/
+#ifndef GENERIC
if (NULL == initParam->rmInstInitConfig)
{
/* Take the info from the specific config file */
}
else
{
+#endif
/* User has passed the region specific info. */
edma3MemCpy((void *)((EDMA3_RM_InstanceInitConfig *)(ptrInitCfgArray) + (phyCtrllerInstId*EDMA3_MAX_RM_INSTANCES) + resMgrIdx),
(const void *)(initParam->rmInstInitConfig),
sizeof (EDMA3_RM_InstanceInitConfig));
+#ifndef GENERIC
}
+#endif
rmInstance->initParam.rmInstInitConfig =
((EDMA3_RM_InstanceInitConfig *)(ptrInitCfgArray) + (phyCtrllerInstId*EDMA3_MAX_RM_INSTANCES) + resMgrIdx);