Remoteproc: DRA7xx: Remove MPU mapping from resource table
authorSuman Anna <s-anna@ti.com>
Wed, 24 Jul 2013 16:26:06 +0000 (11:26 -0500)
committerChris Ring <cring@ti.com>
Fri, 26 Jul 2013 03:48:28 +0000 (20:48 -0700)
The L4_PER mapping entry is split into three individual L4_PERx
entries. This is done to remove any mappings for the MPU-relevant
address spaces into the slave processor MMUs.

Signed-off-by: Suman Anna <s-anna@ti.com>
packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.h
packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.h

index 961a9a66df16a932dabe879e1336891715422ea5..328aee1260d3ce13ff0cfac94f5cb15992d9b02f 100644 (file)
 #include "rsc_types.h"
 
 /* DSP Memory Map */
-#define L4_44XX_BASE            0x4A000000
+#define L4_DRA7XX_BASE          0x4A000000
 
-#define L4_PERIPHERAL_L4CFG     (L4_44XX_BASE)
+#define L4_PERIPHERAL_L4CFG     (L4_DRA7XX_BASE)
 #define DSP_PERIPHERAL_L4CFG    0x4A000000
 
-#define L4_PERIPHERAL_L4PER     0x48000000
-#define DSP_PERIPHERAL_L4PER    0x48000000
+#define L4_PERIPHERAL_L4PER1    0x48000000
+#define DSP_PERIPHERAL_L4PER1   0x48000000
+
+#define L4_PERIPHERAL_L4PER2    0x48400000
+#define DSP_PERIPHERAL_L4PER2   0x48400000
+
+#define L4_PERIPHERAL_L4PER3    0x48800000
+#define DSP_PERIPHERAL_L4PER3   0x48800000
 
 #define L4_PERIPHERAL_L4EMU     0x54000000
 #define DSP_PERIPHERAL_L4EMU    0x54000000
 struct my_resource_table {
     struct resource_table base;
 
-    UInt32 offset[16];  /* Should match 'num' in actual definition */
+    UInt32 offset[18];  /* Should match 'num' in actual definition */
 
     /* rpmsg vdev entry */
     struct fw_rsc_vdev rpmsg_vdev;
@@ -172,6 +178,12 @@ struct my_resource_table {
 
     /* devmem entry */
     struct fw_rsc_devmem devmem9;
+
+    /* devmem entry */
+    struct fw_rsc_devmem devmem10;
+
+    /* devmem entry */
+    struct fw_rsc_devmem devmem11;
 };
 
 #define TRACEBUFADDR (UInt32)&ti_trace_SysMin_Module_State_0_outbuf__A
@@ -181,7 +193,7 @@ struct my_resource_table {
 
 struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
     1,      /* we're the first version that implements this */
-    16,     /* number of entries in the table */
+    18,     /* number of entries in the table */
     0, 0,   /* reserved, must be zero */
     /* offsets to entries */
     {
@@ -201,6 +213,8 @@ struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
         offsetof(struct my_resource_table, devmem7),
         offsetof(struct my_resource_table, devmem8),
         offsetof(struct my_resource_table, devmem9),
+        offsetof(struct my_resource_table, devmem10),
+        offsetof(struct my_resource_table, devmem11),
     },
 
     /* rpmsg vdev entry */
@@ -279,8 +293,20 @@ struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
 
     {
         TYPE_DEVMEM,
-        DSP_PERIPHERAL_L4PER, L4_PERIPHERAL_L4PER,
-        SZ_16M, 0, 0, "DSP_PERIPHERAL_L4PER",
+        DSP_PERIPHERAL_L4PER1, L4_PERIPHERAL_L4PER1,
+        SZ_2M, 0, 0, "DSP_PERIPHERAL_L4PER1",
+    },
+
+    {
+        TYPE_DEVMEM,
+        DSP_PERIPHERAL_L4PER2, L4_PERIPHERAL_L4PER2,
+        SZ_4M, 0, 0, "DSP_PERIPHERAL_L4PER2",
+    },
+
+    {
+        TYPE_DEVMEM,
+        DSP_PERIPHERAL_L4PER3, L4_PERIPHERAL_L4PER3,
+        SZ_8M, 0, 0, "DSP_PERIPHERAL_L4PER3",
     },
 
     {
index 664d4d41d2c46477907213276a82bcecfb77ee5f..fb9ce9623cfbf441b954e0e8176b14f474b1f939 100644 (file)
 #include "rsc_types.h"
 
 /* IPU Memory Map */
-#define L4_44XX_BASE            0x4a000000
+#define L4_DRA7XX_BASE          0x4A000000
 
-#define L4_PERIPHERAL_L4CFG     (L4_44XX_BASE)
+/* L4_CFG & L4_WKUP */
+#define L4_PERIPHERAL_L4CFG     (L4_DRA7XX_BASE)
 #define IPU_PERIPHERAL_L4CFG    0x6A000000
 
-#define L4_PERIPHERAL_L4PER     0x48000000
-#define IPU_PERIPHERAL_L4PER    0x68000000
+#define L4_PERIPHERAL_L4PER1    0x48000000
+#define IPU_PERIPHERAL_L4PER1   0x68000000
+
+#define L4_PERIPHERAL_L4PER2    0x48400000
+#define IPU_PERIPHERAL_L4PER2   0x68400000
+
+#define L4_PERIPHERAL_L4PER3    0x48800000
+#define IPU_PERIPHERAL_L4PER3   0x68800000
 
 #define L4_PERIPHERAL_L4EMU     0x54000000
 #define IPU_PERIPHERAL_L4EMU    0x74000000
 struct my_resource_table {
     struct resource_table base;
 
-    UInt32 offset[16];  /* Should match 'num' in actual definition */
+    UInt32 offset[18];  /* Should match 'num' in actual definition */
 
     /* rpmsg vdev entry */
     struct fw_rsc_vdev rpmsg_vdev;
@@ -190,6 +197,12 @@ struct my_resource_table {
 
     /* devmem entry */
     struct fw_rsc_devmem devmem10;
+
+    /* devmem entry */
+    struct fw_rsc_devmem devmem11;
+
+    /* devmem entry */
+    struct fw_rsc_devmem devmem12;
 };
 
 #define TRACEBUFADDR (UInt32)&ti_trace_SysMin_Module_State_0_outbuf__A
@@ -199,7 +212,7 @@ struct my_resource_table {
 
 struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
     1,      /* we're the first version that implements this */
-    16,     /* number of entries in the table */
+    18,     /* number of entries in the table */
     0, 0,   /* reserved, must be zero */
     /* offsets to entries */
     {
@@ -219,6 +232,8 @@ struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
         offsetof(struct my_resource_table, devmem8),
         offsetof(struct my_resource_table, devmem9),
         offsetof(struct my_resource_table, devmem10),
+        offsetof(struct my_resource_table, devmem11),
+        offsetof(struct my_resource_table, devmem12),
     },
 
     /* rpmsg vdev entry */
@@ -291,8 +306,20 @@ struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
 
     {
         TYPE_DEVMEM,
-        IPU_PERIPHERAL_L4PER, L4_PERIPHERAL_L4PER,
-        SZ_16M, 0, 0, "IPU_PERIPHERAL_L4PER",
+        IPU_PERIPHERAL_L4PER1, L4_PERIPHERAL_L4PER1,
+        SZ_2M, 0, 0, "IPU_PERIPHERAL_L4PER1",
+    },
+
+    {
+        TYPE_DEVMEM,
+        IPU_PERIPHERAL_L4PER2, L4_PERIPHERAL_L4PER2,
+        SZ_4M, 0, 0, "IPU_PERIPHERAL_L4PER2",
+    },
+
+    {
+        TYPE_DEVMEM,
+        IPU_PERIPHERAL_L4PER3, L4_PERIPHERAL_L4PER3,
+        SZ_8M, 0, 0, "IPU_PERIPHERAL_L4PER3",
     },
 
     {