lib: Add support for J721S2 SoCs
authorHari Nagalla <hnagalla@ti.com>
Thu, 28 Oct 2021 21:53:06 +0000 (16:53 -0500)
committerHari Nagalla <hnagalla@ti.com>
Tue, 1 Feb 2022 18:51:05 +0000 (12:51 -0600)
J721S2 SoC has two dual core R5Fs in main domain and two C71 DSPs in
main compute cluster.
The library version is bumped to 0.4.0 to account for the addition of
the J721S2 SoCs to the library.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
include/rproc_id.h
src/Makefile.am
src/soc.c

index 4beee88da62be5af656db1388a1c5f2840cd8d1b..1e35014292046ea81831f17c9c8a0ee889fa4823 100644 (file)
@@ -65,6 +65,7 @@ enum rproc_id {
        DSP_C66_1,
        DSP_C71_0,
        M4F_MCU0_0,
+       DSP_C71_1,
        RPROC_ID_MAX,
 };
 
index e7b78c7657a058ea01bceabc9f35499e870b35ca..2ca406ae860c9be0295b5710b5fb1b03561a91a0 100644 (file)
@@ -8,4 +8,4 @@ libti_rpmsg_char_la_SOURCES = rpmsg_char.c soc.c utils.c
 
 libti_rpmsg_char_la_CFLAGS = -I$(top_srcdir)/include
 
-libti_rpmsg_char_la_LDFLAGS = -version-number 0:3:1 -no-undefined
+libti_rpmsg_char_la_LDFLAGS = -version-number 0:4:0 -no-undefined
index 1ff247a05b811580e7d5e94ffd765411cb3e527b..023d3bced1583c600d94947928b941727ec40584 100644 (file)
--- a/src/soc.c
+++ b/src/soc.c
@@ -42,7 +42,7 @@
 #include "rpmsg_char_internal.h"
 
 /* Increment this whenever new SoC data is added */
-#define NUM_SOC_FAMILY 4
+#define NUM_SOC_FAMILY 5
 
 struct soc_data {
        const char *family_name;
@@ -86,6 +86,18 @@ const struct rproc_map am64x_map[] = {
        { .id = M4F_MCU0_0,  .rproc_name = "5000000.m4fss",  },
 };
 
+/* TI K3 J721S2 SoCs */
+const struct rproc_map j721s2_map[] = {
+       { .id = R5F_MCU0_0,  .rproc_name = "41000000.r5f",   },
+       { .id = R5F_MCU0_1,  .rproc_name = "41400000.r5f",   },
+       { .id = R5F_MAIN0_0, .rproc_name = "5c00000.r5f",    },
+       { .id = R5F_MAIN0_1, .rproc_name = "5d00000.r5f",    },
+       { .id = R5F_MAIN1_0, .rproc_name = "5e00000.r5f",    },
+       { .id = R5F_MAIN1_1, .rproc_name = "5f00000.r5f",    },
+       { .id = DSP_C71_0,   .rproc_name = "64800000.dsp",   },
+       { .id = DSP_C71_1,   .rproc_name = "65800000.dsp",   },
+};
+
 const struct soc_data socs[NUM_SOC_FAMILY] = {
        {
                .family_name = "AM65X",
@@ -107,6 +119,11 @@ const struct soc_data socs[NUM_SOC_FAMILY] = {
                .map = am64x_map,
                .num_rprocs = (sizeof(am64x_map) / sizeof(struct rproc_map)),
        },
+       {
+               .family_name = "J721S2",
+               .map = j721s2_map,
+               .num_rprocs = (sizeof(j721s2_map) / sizeof(struct rproc_map)),
+       },
 };
 
 int _rpmsg_char_find_soc_family(const char *name, struct soc_rprocs *soc)