summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Nelson <sam.nelson@ti.com>2019-08-30 02:03:16 +0000
committerSam Nelson <sam.nelson@ti.com>2019-08-30 14:10:05 -0400
commit129b6f44c50cbe760a5c1481b34b323b7a42ead5 (patch)
tree77e12d17a171790191f151016eb2f147d2e2351d
parentca7ce99b8ec82331559f0fd99a174bdcca1da9ac (diff)
downloadipc-129b6f44c50cbe760a5c1481b34b323b7a42ead5.tar.gz
am65xx: Update core type for sciclient3.50.04.07
The sciclient has library for mcu1_0, mcu1_1 and mpu1_0 separately. Adding configuration to specify the right core type. ( Note this is supported in only new version of sciclient library) Signed-off-by: Sam Nelson <sam.nelson@ti.com>
-rw-r--r--packages/ti/sdo/ipc/family/am65xx/NotifySciClient.c30
-rw-r--r--packages/ti/sdo/ipc/family/am65xx/NotifySetup.c6
-rw-r--r--packages/ti/sdo/ipc/family/am65xx/NotifySetup.xs7
3 files changed, 31 insertions, 12 deletions
diff --git a/packages/ti/sdo/ipc/family/am65xx/NotifySciClient.c b/packages/ti/sdo/ipc/family/am65xx/NotifySciClient.c
index 6c5edd5..dd44d23 100644
--- a/packages/ti/sdo/ipc/family/am65xx/NotifySciClient.c
+++ b/packages/ti/sdo/ipc/family/am65xx/NotifySciClient.c
@@ -41,10 +41,7 @@
#include "package/internal/NotifySciClient.xdc.h"
-/* Ideally want to use fixed timeout. Work around is to use wait forever */
-/* #define NOTIFY_SCICLIENT_RESP_TIMEOUT 100 */
-
-#define NOTIFY_SCICLIENT_RESP_TIMEOUT SCICLIENT_SERVICE_WAIT_FOREVER
+#define NOTIFY_SCICLIENT_RESP_TIMEOUT 1000000
/*********************************************************************
* @fn NotifySciClient_Init
@@ -58,7 +55,7 @@
Int32 NotifySciClient_Init(void)
{
int32_t status = 0;
-
+ Sciclient_ConfigPrms_t config;
/* Setup Request for Version check */
const Sciclient_ReqPrm_t reqPrm =
{
@@ -78,6 +75,17 @@ Int32 NotifySciClient_Init(void)
.respPayloadSize = sizeof (response)
};
+ /* Now reinitialize it as default parameter */
+ Sciclient_configPrmsInit(&config);
+#if defined(xdc_target__isaCompatible_v8A)
+ config.opModeFlag = SCICLIENT_SERVICE_OPERATION_MODE_POLLED;
+#endif
+
+ status = Sciclient_init(&config);
+ if (status < 0) {
+ return -1;
+ }
+
/* Check version check to TISCI connection */
status = Sciclient_service(&reqPrm, &respPrm);
if (CSL_PASS == status)
@@ -132,8 +140,8 @@ Int32 NotifySciClient_IrqSet(NotifySciClient_CoreIndex coreIndex,
const uint16_t map_host_id[] =
{
TISCI_HOST_ID_A53_0,
- TISCI_HOST_ID_R5_0,
- TISCI_HOST_ID_R5_1
+ TISCI_HOST_ID_R5_0, /* This corresponds to R5F core 0 non-secure */
+ TISCI_HOST_ID_R5_2 /* This corresponds to R5F core 1 non-secure */
};
/* Initialize unused parameters */
@@ -201,8 +209,8 @@ Int32 NotifySciClient_IrqRelease(NotifySciClient_CoreIndex coreIndex,
const uint16_t map_host_id[] =
{
TISCI_HOST_ID_A53_0,
- TISCI_HOST_ID_R5_0,
- TISCI_HOST_ID_R5_1
+ TISCI_HOST_ID_R5_0, /* This corresponds to R5F core 0 non-secure */
+ TISCI_HOST_ID_R5_2 /* This corresponds to R5F core 1 non-secure */
};
/* Initialize unused parameters */
@@ -272,8 +280,8 @@ Int32 NotifySciClient_getIntNumRange(NotifySciClient_CoreIndex coreIndex,
const uint16_t map_host_id[] =
{
TISCI_HOST_ID_A53_0,
- TISCI_HOST_ID_R5_0,
- TISCI_HOST_ID_R5_1
+ TISCI_HOST_ID_R5_0, /* This corresponds to R5F core 0 non-secure */
+ TISCI_HOST_ID_R5_2 /* This corresponds to R5F core 1 non-secure */
};
get_resource_range_req.type = req_type[coreIndex];
diff --git a/packages/ti/sdo/ipc/family/am65xx/NotifySetup.c b/packages/ti/sdo/ipc/family/am65xx/NotifySetup.c
index 2528c34..6e419cd 100644
--- a/packages/ti/sdo/ipc/family/am65xx/NotifySetup.c
+++ b/packages/ti/sdo/ipc/family/am65xx/NotifySetup.c
@@ -108,7 +108,11 @@ Int NotifySetup_Module_startup(Int phase)
coreId = Core_getId();
#endif
- NotifySciClient_Init();
+ retVal = NotifySciClient_Init();
+ if ( retVal < 0 ) {
+ return Startup_NOTDONE;
+ }
+
#if defined(xdc_target__isaCompatible_v7R)
if (coreId == 0) {
retVal = NotifySciClient_getIntNumRange(NotifySciClient_R5F_0_CORE_INDEX,
diff --git a/packages/ti/sdo/ipc/family/am65xx/NotifySetup.xs b/packages/ti/sdo/ipc/family/am65xx/NotifySetup.xs
index 56f5108..457ce1d 100644
--- a/packages/ti/sdo/ipc/family/am65xx/NotifySetup.xs
+++ b/packages/ti/sdo/ipc/family/am65xx/NotifySetup.xs
@@ -114,10 +114,17 @@ function module$use()
xdc.useModule("ti.sysbios.BIOS");
Core = xdc.useModule("ti.sysbios.family.arm.v7r.keystone3.Core");
xdc.useModule('ti.sysbios.family.arm.v7r.keystone3.Hwi');
+
+ if(Program.platformName.match(/R5F0/)) {
+ sciclientSettings.coreType = "mcu1_0";
+ } else if (Program.platformName.match(/R5F1/)) {
+ sciclientSettings.coreType = "mcu1_1";
+ }
}
else if (isaChain.match(/#v8A#/)) {
Mmu = xdc.useModule("ti.sysbios.family.arm.v8a.Mmu");
xdc.useModule('ti.sysbios.family.arm.gicv3.Hwi');
+ sciclientSettings.coreType = "mpu1_0";
}
/* initialize procIdTable */