summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 403b109)
raw | patch | inline | side by side (parent: 403b109)
author | Pragat Chaudhari <pragatc@ti.com> | |
Wed, 11 Jun 2014 16:12:33 +0000 (12:12 -0400) | ||
committer | Pragat Chaudhari <pragatc@ti.com> | |
Wed, 11 Jun 2014 16:12:33 +0000 (12:12 -0400) |
Enabling of 2nd TCP3D instances was not present
for multiple instance tests.
for multiple instance tests.
example/src/tcp3d_example_main.c | patch | blob | history | |
example/src/tcp3d_main.h | patch | blob | history | |
test/src/tcp3d_main.c | patch | blob | history | |
test/src/tcp3d_main.h | patch | blob | history |
index c2be5448b0fc9ba22a8002d69297bdc07b160232..d0ca8979f7e5744846ee7ca9543ae60d551c8bc5 100644 (file)
/**\r
* Cache and other IP functions\r
*/\r
+#ifndef SIMULATOR_SUPPORT\r
+static Int32 enable_ip_instance (UInt32 pwrDmnNum, UInt32 moduleNum);\r
+#endif\r
static Int32 enable_tcp3d (void);\r
void tcp3dBeginMemAccess (void *ptr, uint32_t size);\r
void tcp3dEndMemAccess (void *ptr, uint32_t size);\r
}\r
}\r
\r
+#ifndef SIMULATOR_SUPPORT\r
/**\r
* @b Description\r
* @n \r
- * This function enables the power/clock domains for TCP3D. \r
+ * This function enables the power/clock domains for the \r
+ * specified power domain and module. \r
*\r
* @retval\r
- * Not Applicable.\r
+ * 0 for enabling power domain, -1 for failure\r
*/\r
-static Int32 enable_tcp3d (void)\r
+static Int32 enable_ip_instance (UInt32 pwrDmnNum, UInt32 moduleNum)\r
{\r
-#ifndef SIMULATOR_SUPPORT\r
- /* TCP3D power domain is turned OFF by default.\r
- * It needs to be turned on before doing any TCP3D device register access.\r
- * This is not required for the simulator. */\r
-\r
- /* Set TCP3D Power domain to ON */ \r
- CSL_PSC_enablePowerDomain (TEST_CSL_PSC_PD_TCP3D);\r
+ /* Power domains are turned OFF by default for many IP blocks. It\r
+ * needs to be turned on before doing any device\r
+ * register access.\r
+ */\r
+ /* Set IP block Power domain to ON */ \r
+ CSL_PSC_enablePowerDomain (pwrDmnNum);\r
\r
- /* Enable the clocks too for TCP3D */\r
- CSL_PSC_setModuleNextState (TEST_CSL_PSC_LPSC_TCP3D, PSC_MODSTATE_ENABLE);\r
+ /* Enable the clocks too for the IP block */\r
+ CSL_PSC_setModuleNextState (moduleNum, PSC_MODSTATE_ENABLE);\r
\r
/* Start the state transition */\r
- CSL_PSC_startStateTransition (TEST_CSL_PSC_PD_TCP3D);\r
+ CSL_PSC_startStateTransition (pwrDmnNum);\r
\r
/* Wait until the state transition process is completed. */\r
- while (!CSL_PSC_isStateTransitionDone (TEST_CSL_PSC_PD_TCP3D));\r
+ while (!CSL_PSC_isStateTransitionDone (pwrDmnNum));\r
\r
- /* Return TCP3D PSC status */\r
- if ((CSL_PSC_getPowerDomainState(TEST_CSL_PSC_PD_TCP3D) == PSC_PDSTATE_ON) &&\r
- (CSL_PSC_getModuleState (TEST_CSL_PSC_LPSC_TCP3D) == PSC_MODSTATE_ENABLE))\r
+ /* Return IP block PSC status */\r
+ if ((CSL_PSC_getPowerDomainState(pwrDmnNum) == PSC_PDSTATE_ON) &&\r
+ (CSL_PSC_getModuleState (moduleNum) == PSC_MODSTATE_ENABLE))\r
{\r
- /* TCP3D ON. Ready for use */ \r
+ /* IP block ON. Ready for use */ \r
return 0;\r
}\r
else\r
{\r
- /* TCP3D Power on failed. Return error */ \r
+ /* IP block power on failed. Return error */ \r
return -1; \r
}\r
+}\r
+#endif\r
+\r
+/**\r
+ * @b Description\r
+ * @n \r
+ * This function enables the power/clock domains for TCP3D. \r
+ *\r
+ * @retval\r
+ * Not Applicable.\r
+ */\r
+static Int32 enable_tcp3d (void)\r
+{\r
+#ifndef SIMULATOR_SUPPORT\r
+ Int32 result;\r
+ UInt32 coreID = CSL_chipReadDNUM();\r
+ \r
+ /* TCP3D power domain is turned OFF by default.\r
+ * It needs to be turned on before doing any TCP3D device register access.\r
+ * This is not required for the simulator. \r
+ */\r
+#if (CSL_TCP3D_PER_CNT > 1)\r
+\r
+ if (coreID == 0)\r
+ {\r
+ result = enable_ip_instance (TEST_CSL_PSC_PD_TCP3D_0, \r
+ TEST_CSL_PSC_LPSC_TCP3D_0);\r
+ }\r
+ else \r
+ {\r
+ result = enable_ip_instance (TEST_CSL_PSC_PD_TCP3D_1, \r
+ TEST_CSL_PSC_LPSC_TCP3D_1);\r
+ } \r
+#else\r
+ \r
+ result = enable_ip_instance (TEST_CSL_PSC_PD_TCP3D_0, \r
+ TEST_CSL_PSC_LPSC_TCP3D_0);\r
+ \r
+#endif /* CSL_TCP3D_PER_CNT > 1 */\r
+\r
+ return (result); \r
#else\r
/* PSC is not supported on simulator. Return success always */\r
return 0;\r
index 92bf07d158aa0cd6610a61982ded91a1a55c1ecd..0aff697dfc9007af30a005f7f2e6909fa9b6b420 100644 (file)
--- a/example/src/tcp3d_main.h
+++ b/example/src/tcp3d_main.h
\r
/* Enable the correct power domain for the device. */\r
#ifdef DEVICE_K2L\r
-#define TEST_CSL_PSC_PD_TCP3D CSL_PSC_PD_TCP3D_0\r
-#define TEST_CSL_PSC_LPSC_TCP3D CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_0 CSL_PSC_PD_TCP3D_0\r
+#define TEST_CSL_PSC_LPSC_TCP3D_0 CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_1 CSL_PSC_PD_TCP3D_1\r
+#define TEST_CSL_PSC_LPSC_TCP3D_1 CSL_PSC_LPSC_TCP3D_1\r
#else /* DEVICE_K2K, DEVICE_K2H */\r
-#define TEST_CSL_PSC_PD_TCP3D CSL_PSC_PD_TCP3D_01\r
-#define TEST_CSL_PSC_LPSC_TCP3D CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_0 CSL_PSC_PD_TCP3D_01\r
+#define TEST_CSL_PSC_LPSC_TCP3D_0 CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_1 CSL_PSC_PD_TCP3D_01\r
+#define TEST_CSL_PSC_LPSC_TCP3D_1 CSL_PSC_LPSC_TCP3D_1\r
#endif\r
\r
/**********************************************************************\r
diff --git a/test/src/tcp3d_main.c b/test/src/tcp3d_main.c
index 3eb81de7d552d9e668a7c1e954ffc93372f311cf..1dced9254d91fa1cff88105c99c981a9704c03fe 100644 (file)
--- a/test/src/tcp3d_main.c
+++ b/test/src/tcp3d_main.c
"WCDMA",\r
"test4_lte",\r
"test3_lte",\r
- //"test1_wimax", // giving error on simulator, TODO: debug later\r
+ "test1_wimax", // gave error on simulator earlier\r
"test3_wimax",\r
"test2_wimax",\r
"test2_wcdma",\r
/**\r
* Cache and other IP functions\r
*/\r
+#ifndef SIMULATOR_SUPPORT\r
+static Int32 enable_ip_instance (UInt32 pwrDmnNum, UInt32 moduleNum);\r
+#endif\r
static Int32 enable_tcp3d (void);\r
void tcp3dBeginMemAccess (void *ptr, uint32_t size);\r
void tcp3dEndMemAccess (void *ptr, uint32_t size);\r
}\r
}\r
\r
+#ifndef SIMULATOR_SUPPORT\r
/**\r
* @b Description\r
* @n \r
- * This function enables the power/clock domains for TCP3D. \r
+ * This function enables the power/clock domains for the \r
+ * specified power domain and module. \r
*\r
* @retval\r
- * Not Applicable.\r
+ * 0 for enabling power domain, -1 for failure\r
*/\r
-static Int32 enable_tcp3d (void)\r
+static Int32 enable_ip_instance (UInt32 pwrDmnNum, UInt32 moduleNum)\r
{\r
-#ifndef SIMULATOR_SUPPORT\r
- /* TCP3D power domain is turned OFF by default.\r
- * It needs to be turned on before doing any TCP3D device register access.\r
- * This is not required for the simulator. */\r
-\r
- /* Set TCP3D Power domain to ON */ \r
- CSL_PSC_enablePowerDomain (TEST_CSL_PSC_PD_TCP3D);\r
+ /* Power domains are turned OFF by default for many IP blocks. It\r
+ * needs to be turned on before doing any device\r
+ * register access.\r
+ */\r
+ /* Set IP block Power domain to ON */ \r
+ CSL_PSC_enablePowerDomain (pwrDmnNum);\r
\r
- /* Enable the clocks too for TCP3D */\r
- CSL_PSC_setModuleNextState (TEST_CSL_PSC_LPSC_TCP3D, PSC_MODSTATE_ENABLE);\r
+ /* Enable the clocks too for the IP block */\r
+ CSL_PSC_setModuleNextState (moduleNum, PSC_MODSTATE_ENABLE);\r
\r
/* Start the state transition */\r
- CSL_PSC_startStateTransition (TEST_CSL_PSC_PD_TCP3D);\r
+ CSL_PSC_startStateTransition (pwrDmnNum);\r
\r
/* Wait until the state transition process is completed. */\r
- while (!CSL_PSC_isStateTransitionDone (TEST_CSL_PSC_PD_TCP3D));\r
+ while (!CSL_PSC_isStateTransitionDone (pwrDmnNum));\r
\r
- /* Return TCP3D PSC status */\r
- if ((CSL_PSC_getPowerDomainState(TEST_CSL_PSC_PD_TCP3D) == PSC_PDSTATE_ON) &&\r
- (CSL_PSC_getModuleState (TEST_CSL_PSC_LPSC_TCP3D) == PSC_MODSTATE_ENABLE))\r
+ /* Return IP block PSC status */\r
+ if ((CSL_PSC_getPowerDomainState(pwrDmnNum) == PSC_PDSTATE_ON) &&\r
+ (CSL_PSC_getModuleState (moduleNum) == PSC_MODSTATE_ENABLE))\r
{\r
- /* TCP3D ON. Ready for use */ \r
+ /* IP block ON. Ready for use */ \r
return 0;\r
}\r
else\r
{\r
- /* TCP3D Power on failed. Return error */ \r
+ /* IP block power on failed. Return error */ \r
return -1; \r
}\r
+}\r
+#endif\r
+\r
+/**\r
+ * @b Description\r
+ * @n \r
+ * This function enables the power/clock domains for TCP3D. \r
+ *\r
+ * @retval\r
+ * Not Applicable.\r
+ */\r
+static Int32 enable_tcp3d (void)\r
+{\r
+#ifndef SIMULATOR_SUPPORT\r
+ Int32 result;\r
+ UInt32 coreID = CSL_chipReadDNUM();\r
+ \r
+ /* TCP3D power domain is turned OFF by default.\r
+ * It needs to be turned on before doing any TCP3D device register access.\r
+ * This is not required for the simulator. \r
+ */\r
+#if (CSL_TCP3D_PER_CNT > 1)\r
+\r
+ if (coreID == 0)\r
+ {\r
+ result = enable_ip_instance (TEST_CSL_PSC_PD_TCP3D_0, \r
+ TEST_CSL_PSC_LPSC_TCP3D_0);\r
+ }\r
+ else \r
+ {\r
+ result = enable_ip_instance (TEST_CSL_PSC_PD_TCP3D_1, \r
+ TEST_CSL_PSC_LPSC_TCP3D_1);\r
+ } \r
+#else\r
+ \r
+ result = enable_ip_instance (TEST_CSL_PSC_PD_TCP3D_0, \r
+ TEST_CSL_PSC_LPSC_TCP3D_0);\r
+ \r
+#endif /* CSL_TCP3D_PER_CNT > 1 */\r
+\r
+ return (result); \r
#else\r
/* PSC is not supported on simulator. Return success always */\r
return 0;\r
diff --git a/test/src/tcp3d_main.h b/test/src/tcp3d_main.h
index 92bf07d158aa0cd6610a61982ded91a1a55c1ecd..0aff697dfc9007af30a005f7f2e6909fa9b6b420 100644 (file)
--- a/test/src/tcp3d_main.h
+++ b/test/src/tcp3d_main.h
\r
/* Enable the correct power domain for the device. */\r
#ifdef DEVICE_K2L\r
-#define TEST_CSL_PSC_PD_TCP3D CSL_PSC_PD_TCP3D_0\r
-#define TEST_CSL_PSC_LPSC_TCP3D CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_0 CSL_PSC_PD_TCP3D_0\r
+#define TEST_CSL_PSC_LPSC_TCP3D_0 CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_1 CSL_PSC_PD_TCP3D_1\r
+#define TEST_CSL_PSC_LPSC_TCP3D_1 CSL_PSC_LPSC_TCP3D_1\r
#else /* DEVICE_K2K, DEVICE_K2H */\r
-#define TEST_CSL_PSC_PD_TCP3D CSL_PSC_PD_TCP3D_01\r
-#define TEST_CSL_PSC_LPSC_TCP3D CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_0 CSL_PSC_PD_TCP3D_01\r
+#define TEST_CSL_PSC_LPSC_TCP3D_0 CSL_PSC_LPSC_TCP3D_0\r
+#define TEST_CSL_PSC_PD_TCP3D_1 CSL_PSC_PD_TCP3D_01\r
+#define TEST_CSL_PSC_LPSC_TCP3D_1 CSL_PSC_LPSC_TCP3D_1\r
#endif\r
\r
/**********************************************************************\r