aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHari Nagalla2021-10-28 16:53:06 -0500
committerHari Nagalla2022-02-01 12:51:05 -0600
commit92b464f1e7477f77e44ae18d87b3d369576d662e (patch)
tree640902f82eacf445bdf640f3fc353a87d9f443d7
parent0824546f61bda7715519841d9b9f0fb030ddfaf2 (diff)
downloadti-rpmsg-char-92b464f1e7477f77e44ae18d87b3d369576d662e.tar.gz
ti-rpmsg-char-92b464f1e7477f77e44ae18d87b3d369576d662e.tar.xz
ti-rpmsg-char-92b464f1e7477f77e44ae18d87b3d369576d662e.zip
lib: Add support for J721S2 SoCs
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>
-rw-r--r--include/rproc_id.h1
-rw-r--r--src/Makefile.am2
-rw-r--r--src/soc.c19
3 files changed, 20 insertions, 2 deletions
diff --git a/include/rproc_id.h b/include/rproc_id.h
index 4beee88..1e35014 100644
--- a/include/rproc_id.h
+++ b/include/rproc_id.h
@@ -65,6 +65,7 @@ enum rproc_id {
65 DSP_C66_1, 65 DSP_C66_1,
66 DSP_C71_0, 66 DSP_C71_0,
67 M4F_MCU0_0, 67 M4F_MCU0_0,
68 DSP_C71_1,
68 RPROC_ID_MAX, 69 RPROC_ID_MAX,
69}; 70};
70 71
diff --git a/src/Makefile.am b/src/Makefile.am
index e7b78c7..2ca406a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -8,4 +8,4 @@ libti_rpmsg_char_la_SOURCES = rpmsg_char.c soc.c utils.c
8 8
9libti_rpmsg_char_la_CFLAGS = -I$(top_srcdir)/include 9libti_rpmsg_char_la_CFLAGS = -I$(top_srcdir)/include
10 10
11libti_rpmsg_char_la_LDFLAGS = -version-number 0:3:1 -no-undefined 11libti_rpmsg_char_la_LDFLAGS = -version-number 0:4:0 -no-undefined
diff --git a/src/soc.c b/src/soc.c
index 1ff247a..023d3bc 100644
--- a/src/soc.c
+++ b/src/soc.c
@@ -42,7 +42,7 @@
42#include "rpmsg_char_internal.h" 42#include "rpmsg_char_internal.h"
43 43
44/* Increment this whenever new SoC data is added */ 44/* Increment this whenever new SoC data is added */
45#define NUM_SOC_FAMILY 4 45#define NUM_SOC_FAMILY 5
46 46
47struct soc_data { 47struct soc_data {
48 const char *family_name; 48 const char *family_name;
@@ -86,6 +86,18 @@ const struct rproc_map am64x_map[] = {
86 { .id = M4F_MCU0_0, .rproc_name = "5000000.m4fss", }, 86 { .id = M4F_MCU0_0, .rproc_name = "5000000.m4fss", },
87}; 87};
88 88
89/* TI K3 J721S2 SoCs */
90const struct rproc_map j721s2_map[] = {
91 { .id = R5F_MCU0_0, .rproc_name = "41000000.r5f", },
92 { .id = R5F_MCU0_1, .rproc_name = "41400000.r5f", },
93 { .id = R5F_MAIN0_0, .rproc_name = "5c00000.r5f", },
94 { .id = R5F_MAIN0_1, .rproc_name = "5d00000.r5f", },
95 { .id = R5F_MAIN1_0, .rproc_name = "5e00000.r5f", },
96 { .id = R5F_MAIN1_1, .rproc_name = "5f00000.r5f", },
97 { .id = DSP_C71_0, .rproc_name = "64800000.dsp", },
98 { .id = DSP_C71_1, .rproc_name = "65800000.dsp", },
99};
100
89const struct soc_data socs[NUM_SOC_FAMILY] = { 101const struct soc_data socs[NUM_SOC_FAMILY] = {
90 { 102 {
91 .family_name = "AM65X", 103 .family_name = "AM65X",
@@ -107,6 +119,11 @@ const struct soc_data socs[NUM_SOC_FAMILY] = {
107 .map = am64x_map, 119 .map = am64x_map,
108 .num_rprocs = (sizeof(am64x_map) / sizeof(struct rproc_map)), 120 .num_rprocs = (sizeof(am64x_map) / sizeof(struct rproc_map)),
109 }, 121 },
122 {
123 .family_name = "J721S2",
124 .map = j721s2_map,
125 .num_rprocs = (sizeof(j721s2_map) / sizeof(struct rproc_map)),
126 },
110}; 127};
111 128
112int _rpmsg_char_find_soc_family(const char *name, struct soc_rprocs *soc) 129int _rpmsg_char_find_soc_family(const char *name, struct soc_rprocs *soc)