summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuman Anna <s-anna@ti.com>2018-10-18 16:56:12 -0500
committerSam Nelson <sam.nelson@ti.com>2018-10-22 21:16:56 -0400
commit826fd03058f3dc29aec275625fa99f51f6843f9c (patch)
tree3f68ffeb68dcfd072e0317526a616b47ff07a776
parent0c242a1b5aa0b697c8ddbee8f1a8e7d72dbcc74f (diff)
downloadipc-826fd03058f3dc29aec275625fa99f51f6843f9c.tar.gz
Remoteproc: AM65xx: Remove all RSC_CARVEOUT entries
The R5F cores on AM65xx SoCs do not have an MMU, and so use direct mapping of CPU memory to DDR memory. The Region Address Translator (RAT) sub-module can provide linear address translations but is not currently supported. The RSC_CARVEOUT entries are currently being used to allocate memory on the Linux side for various firmware image sections, but this was a temporary workaround to leverage existing infrastructure on the Linux kernel side. Remove all the RSC_CARVEOUT entries and rely on the newly added support on the Linux kernel side for fixed memory regions for loading firmware images. The firmware image linker map sections should fit the addresses defined through the reserved memory nodes associated with the remoteproc device on the Linux kernel side. NOTE: The RSC_DEVMEM resource entry is retained for now until the address translation logic in AM65xx VirtQueue code is fixed up, since this resource type is not supported for remoteprocs without any MMUs. Signed-off-by: Suman Anna <s-anna@ti.com>
-rw-r--r--packages/ti/ipc/remoteproc/rsc_table_am65xx_r5f.h48
1 files changed, 5 insertions, 43 deletions
diff --git a/packages/ti/ipc/remoteproc/rsc_table_am65xx_r5f.h b/packages/ti/ipc/remoteproc/rsc_table_am65xx_r5f.h
index 4240ab5..300e199 100644
--- a/packages/ti/ipc/remoteproc/rsc_table_am65xx_r5f.h
+++ b/packages/ti/ipc/remoteproc/rsc_table_am65xx_r5f.h
@@ -44,10 +44,6 @@
#include "rsc_types.h"
-#define R5F_MEM_TEXT 0x9C200000
-#define R5F_MEM_DATA 0x9C300000
-
-#define R5F_MEM_IPC_DATA 0x9C100000
#define R5F_MEM_IPC_VRING 0x9C000000
#define R5F_MEM_RPMSG_VRING0 0x9C000000
#define R5F_MEM_RPMSG_VRING1 0x9C010000
@@ -55,19 +51,15 @@
#define R5F_MEM_VRING_BUFS1 0x9C080000
#define R5F_MEM_IPC_VRING_SIZE SZ_1M
-#define R5F_MEM_IPC_DATA_SIZE (SZ_1M)
-
-#define R5F_MEM_TEXT_SIZE (SZ_1M)
-#define R5F_MEM_DATA_SIZE (SZ_1M)
-
-#define R5F_NUM_ENTRIES 6
+#define R5F_NUM_ENTRIES 3
/*
- * Assign fixed RAM addresses to facilitate a fixed MMU table.
- * PHYS_MEM_IPC_VRING & PHYS_MEM_IPC_DATA MUST be together.
+ * Assign direct mapped RAM address to facilitate address translations in
+ * AM65xx VirtQueue code. The PHYS_MEM_IPC_VRING address should be same as
+ * R5F_MEM_IPC_VRING, and should match the starting base address of the
+ * first reserved memory node assigned to this remoteproc.
*/
-/* See CMA BASE addresses in Linux side: arch/arm/mach-omap2/remoteproc.c */
#define PHYS_MEM_IPC_VRING 0x9C000000
/*
@@ -90,15 +82,6 @@ struct my_resource_table {
struct fw_rsc_vdev_vring rpmsg_vring0;
struct fw_rsc_vdev_vring rpmsg_vring1;
- /* ipcdata carveout entry */
- struct fw_rsc_carveout ipcdata_cout;
-
- /* text carveout entry */
- struct fw_rsc_carveout text_cout;
-
- /* data carveout entry */
- struct fw_rsc_carveout data_cout;
-
/* trace entry */
struct fw_rsc_trace trace;
@@ -119,9 +102,6 @@ const struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
/* offsets to entries */
{
offsetof(struct my_resource_table, rpmsg_vdev),
- offsetof(struct my_resource_table, ipcdata_cout),
- offsetof(struct my_resource_table, text_cout),
- offsetof(struct my_resource_table, data_cout),
offsetof(struct my_resource_table, trace),
offsetof(struct my_resource_table, devmem0),
},
@@ -137,24 +117,6 @@ const struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
{ R5F_MEM_RPMSG_VRING1, 4096, R5F_RPMSG_VQ1_SIZE, 2, 0 },
{
- TYPE_CARVEOUT,
- R5F_MEM_IPC_DATA, 0,
- R5F_MEM_IPC_DATA_SIZE, 0, 0, "R5F_MEM_IPC_DATA",
- },
-
- {
- TYPE_CARVEOUT,
- R5F_MEM_TEXT, 0,
- R5F_MEM_TEXT_SIZE, 0, 0, "R5F_MEM_TEXT",
- },
-
- {
- TYPE_CARVEOUT,
- R5F_MEM_DATA, 0,
- R5F_MEM_DATA_SIZE, 0, 0, "R5F_MEM_DATA",
- },
-
- {
TYPE_TRACE, TRACEBUFADDR, TRACEBUFSIZE, 0, "trace:r5f0",
},