]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/udma-lld.git/commitdiff
[dmautils] Run Sciclient in secure supervisor mode for baremetal
authorAnshu Jain <a0132012@ti.com>
Tue, 9 Jul 2019 09:05:53 +0000 (14:35 +0530)
committerAnshu Jain <a0132012@ti.com>
Tue, 9 Jul 2019 09:05:53 +0000 (14:35 +0530)
Signed-off-by: Anshu Jain <a0132012@ti.com>
dmautils/test/dmautils_autoinc_1d2d3d_test/dmautils_autoinc_1d2d3d_test.c
dmautils/test/dmautils_autoinc_circular_test/dmautils_autoinc_circular_test.c
dmautils/test/dmautils_autoincrement_test/dmautils_autoincrement_test.c

index acccbad8eef5a496ffbbb2c63f14c6eb6703f943..ff6e213b2f29b257ca40538d0cd242d3d5b58887 100644 (file)
@@ -51,7 +51,7 @@
 #endif
 
 #include "dmautils_autoinc_1d2d3d_example.h"
-
+#include "ti/drv/sciclient/sciclient.h"
 
 #define TEST_malloc(heap, size)   malloc(size)
 #define TEST_free(ptr)            free(ptr)
@@ -109,6 +109,59 @@ dmautilsAutoIncTest_config gTestConfig[] =
     },
 };
 
+int32_t test_sciclientDmscGetVersion(char *version_str, uint32_t version_str_size)
+{
+    int32_t retVal = 0;
+
+    const Sciclient_ReqPrm_t      reqPrm =
+    {
+        TISCI_MSG_VERSION,
+        TISCI_MSG_FLAG_AOP,
+        NULL,
+        0,
+        SCICLIENT_SERVICE_WAIT_FOREVER
+    };
+    struct tisci_msg_version_resp response;
+    Sciclient_RespPrm_t           respPrm =
+    {
+        0,
+        (uint8_t *) &response,
+        sizeof (response)
+    };
+
+    retVal = Sciclient_service(&reqPrm, &respPrm);
+    if (0 == retVal)
+    {
+        if (respPrm.flags == TISCI_MSG_FLAG_ACK)
+        {
+            if(version_str == NULL)
+            {
+                printf("SCICLIENT: DMSC FW version [%s]\n", (char *) response.str);
+                printf("SCICLIENT: DMSC FW revision 0x%x  \n", response.version);
+                printf("SCICLIENT: DMSC FW ABI revision %d.%d\n",
+                    response.abi_major, response.abi_minor);
+            }
+            else
+            {
+                snprintf(version_str, version_str_size, "version %s, revision 0x%x, ABI %d.%d",
+                    (char *) response.str,
+                    response.version,
+                    response.abi_major, response.abi_minor
+                    );
+            }
+        }
+        else
+        {
+            retVal = -1;
+        }
+    }
+    if(retVal!=0)
+    {
+        printf("SCICLIENT: ERROR: DMSC Firmware Get Version failed !!!\n");
+    }
+
+    return (retVal);
+}
 
 
 int32_t main()
@@ -141,8 +194,22 @@ int32_t main()
 #else
     pIntMmeBase = (uint8_t*)memalign(L2SRAM_SIZE, L2SRAM_SIZE);
 #endif
+#else
+    int32_t retVal = 0;
+    Sciclient_ConfigPrms_t  sciClientCfg;
+    Sciclient_configPrmsInit(&sciClientCfg);
+    sciClientCfg.isSecureMode = 1;
+    retVal = Sciclient_init(&sciClientCfg);
+    if(retVal!=0)
+    {
+      printf("Sciclient Init Failed \n");
+      goto Exit;
+    }
+
+    test_sciclientDmscGetVersion(NULL, 0 ); 
 #endif
 
+
   for (testcaseIdx = 0; testcaseIdx < sizeof(gTestConfig)/ sizeof(dmautilsAutoIncTest_config); testcaseIdx++)
   {
       width    = gTestConfig[testcaseIdx].imageWidth;
@@ -245,7 +312,7 @@ printf("wi %d \n", width);
       free(pIntMmeBase);
 #endif
 #endif
-
+Exit:
   return 0;
 }
 
index f6c42676bc52bc68ce04898d97787a3531280924..e0d783af0d867e41e3308cf46c93db17bf872d5a 100644 (file)
@@ -54,7 +54,7 @@
 #endif
 
 #include "dmautils_autoinc_circular_example.h"
-
+#include "ti/drv/sciclient/sciclient.h"
 
 #define TEST_malloc(heap, size)   malloc(size)
 #define TEST_free(ptr)            free(ptr)
@@ -93,6 +93,59 @@ dmautilsAutoIncTest_config gTestConfig[] =
 
 };
 
+int32_t test_sciclientDmscGetVersion(char *version_str, uint32_t version_str_size)
+{
+    int32_t retVal = 0;
+
+    const Sciclient_ReqPrm_t      reqPrm =
+    {
+        TISCI_MSG_VERSION,
+        TISCI_MSG_FLAG_AOP,
+        NULL,
+        0,
+        SCICLIENT_SERVICE_WAIT_FOREVER
+    };
+    struct tisci_msg_version_resp response;
+    Sciclient_RespPrm_t           respPrm =
+    {
+        0,
+        (uint8_t *) &response,
+        sizeof (response)
+    };
+
+    retVal = Sciclient_service(&reqPrm, &respPrm);
+    if (0 == retVal)
+    {
+        if (respPrm.flags == TISCI_MSG_FLAG_ACK)
+        {
+            if(version_str == NULL)
+            {
+                printf("SCICLIENT: DMSC FW version [%s]\n", (char *) response.str);
+                printf("SCICLIENT: DMSC FW revision 0x%x  \n", response.version);
+                printf("SCICLIENT: DMSC FW ABI revision %d.%d\n",
+                    response.abi_major, response.abi_minor);
+            }
+            else
+            {
+                snprintf(version_str, version_str_size, "version %s, revision 0x%x, ABI %d.%d",
+                    (char *) response.str,
+                    response.version,
+                    response.abi_major, response.abi_minor
+                    );
+            }
+        }
+        else
+        {
+            retVal = -1;
+        }
+    }
+    if(retVal!=0)
+    {
+        printf("SCICLIENT: ERROR: DMSC Firmware Get Version failed !!!\n");
+    }
+
+    return (retVal);
+}
 
 
 int32_t main()
@@ -126,6 +179,19 @@ int32_t main()
 #else
     pIntMmeBase = (uint8_t*)memalign(L2SRAM_SIZE, L2SRAM_SIZE);
 #endif
+#else
+    int32_t retVal = 0;
+    Sciclient_ConfigPrms_t  sciClientCfg;
+    Sciclient_configPrmsInit(&sciClientCfg);
+    sciClientCfg.isSecureMode = 1;
+    retVal = Sciclient_init(&sciClientCfg);
+    if(retVal!=0)
+    {
+      printf("Sciclient Init Failed \n");
+      goto Exit;
+    }
+
+    test_sciclientDmscGetVersion(NULL, 0 ); 
 #endif
 
   for (testcaseIdx = 0; testcaseIdx < sizeof(gTestConfig)/ sizeof(dmautilsAutoIncTest_config); testcaseIdx++)
@@ -275,7 +341,7 @@ int32_t main()
       free(pIntMmeBase);
 #endif
 #endif
-
+Exit:
   return 0;
 }
 
index 50403c48a2aa51c4025c534b123cb00eb67ff9ab..55bd46ecdcecd455a5baf3e2728c66136ed06ee7 100644 (file)
@@ -52,7 +52,7 @@
 #endif
 
 #include "dmautils_autoincrement_example.h"
-
+#include "ti/drv/sciclient/sciclient.h"
 
 #define TEST_malloc(heap, size)   malloc(size)
 #define TEST_free(ptr)            free(ptr)
@@ -118,6 +118,59 @@ dmautilsAutoIncTest_config gTestConfig[] =
 };
 
 
+int32_t test_sciclientDmscGetVersion(char *version_str, uint32_t version_str_size)
+{
+    int32_t retVal = 0;
+
+    const Sciclient_ReqPrm_t      reqPrm =
+    {
+        TISCI_MSG_VERSION,
+        TISCI_MSG_FLAG_AOP,
+        NULL,
+        0,
+        SCICLIENT_SERVICE_WAIT_FOREVER
+    };
+    struct tisci_msg_version_resp response;
+    Sciclient_RespPrm_t           respPrm =
+    {
+        0,
+        (uint8_t *) &response,
+        sizeof (response)
+    };
+
+    retVal = Sciclient_service(&reqPrm, &respPrm);
+    if (0 == retVal)
+    {
+        if (respPrm.flags == TISCI_MSG_FLAG_ACK)
+        {
+            if(version_str == NULL)
+            {
+                printf("SCICLIENT: DMSC FW version [%s]\n", (char *) response.str);
+                printf("SCICLIENT: DMSC FW revision 0x%x  \n", response.version);
+                printf("SCICLIENT: DMSC FW ABI revision %d.%d\n",
+                    response.abi_major, response.abi_minor);
+            }
+            else
+            {
+                snprintf(version_str, version_str_size, "version %s, revision 0x%x, ABI %d.%d",
+                    (char *) response.str,
+                    response.version,
+                    response.abi_major, response.abi_minor
+                    );
+            }
+        }
+        else
+        {
+            retVal = -1;
+        }
+    }
+    if(retVal!=0)
+    {
+        printf("SCICLIENT: ERROR: DMSC Firmware Get Version failed !!!\n");
+    }
+
+    return (retVal);
+}
 
 int32_t main()
 {
@@ -148,6 +201,19 @@ int32_t main()
 #else
     pIntMmeBase = (uint8_t*)memalign(L2SRAM_SIZE, L2SRAM_SIZE);
 #endif
+#else
+    int32_t retVal = 0;
+    Sciclient_ConfigPrms_t  sciClientCfg;
+    Sciclient_configPrmsInit(&sciClientCfg);
+    sciClientCfg.isSecureMode = 1;
+    retVal = Sciclient_init(&sciClientCfg);
+    if(retVal!=0)
+    {
+      printf("Sciclient Init Failed \n");
+      goto Exit;
+    }
+
+    test_sciclientDmscGetVersion(NULL, 0 ); 
 #endif
 
   for (testcaseIdx = 0; testcaseIdx < sizeof(gTestConfig)/ sizeof(dmautilsAutoIncTest_config); testcaseIdx++)
@@ -273,7 +339,7 @@ printf("wi %d \n", width);
       free(pIntMmeBase);
 #endif
 #endif
-
+Exit:
   return 0;
 }