summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--include/soc/am65x_sr2/devices.h282
-rw-r--r--include/soc/am65x_sr2/hosts.h86
-rw-r--r--include/soc/am65x_sr2/resasg_types.h174
-rw-r--r--soc/am65x_sr2/evm/board-cfg.c92
-rw-r--r--soc/am65x_sr2/evm/pm-cfg.c43
-rw-r--r--soc/am65x_sr2/evm/rm-cfg.c460
-rw-r--r--soc/am65x_sr2/evm/sec-cfg.c73
-rw-r--r--soc/am65x_sr2/evm/sysfw_img_cfg.h40
9 files changed, 1251 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 8e462709b..036ec3205 100644
--- a/Makefile
+++ b/Makefile
@@ -65,7 +65,7 @@ SYSFW_HS_INNER_CERT_PATH ?= ti-sci-firmware-${SOC}-hs-cert.bin
65SYSFW_HS_CERTS_PATH ?= ti-sci-firmware-${SOC}-hs-certs.bin 65SYSFW_HS_CERTS_PATH ?= ti-sci-firmware-${SOC}-hs-certs.bin
66 66
67# Must use FULL Git hash below, as it is used as part of an URL for direct DL 67# Must use FULL Git hash below, as it is used as part of an URL for direct DL
68SYSFW_GIT_HASH ?= 6a07e130e7dac6b49c9e516ffc84e33a68155260 68SYSFW_GIT_HASH ?= 2c377ca794dee82dead7bd1ad4f54099f103fdea
69 69
70# URL to download SYSFW release binary from if not provided otherwise 70# URL to download SYSFW release binary from if not provided otherwise
71SYSFW_DL_URL ?= https://git.ti.com/processor-firmware/ti-linux-firmware/blobs/raw/$(SYSFW_GIT_HASH)/ti-sysfw/$(SYSFW_PATH) 71SYSFW_DL_URL ?= https://git.ti.com/processor-firmware/ti-linux-firmware/blobs/raw/$(SYSFW_GIT_HASH)/ti-sysfw/$(SYSFW_PATH)
diff --git a/include/soc/am65x_sr2/devices.h b/include/soc/am65x_sr2/devices.h
new file mode 100644
index 000000000..ccdbc22d8
--- /dev/null
+++ b/include/soc/am65x_sr2/devices.h
@@ -0,0 +1,282 @@
1/*
2 * K3 System Firmware Board Configuration Data Definitions
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#ifndef SOC_AM6_DEVICES_H
36#define SOC_AM6_DEVICES_H
37
38#define AM6_DEV_MCU_ADC0 0
39#define AM6_DEV_MCU_ADC1 1
40#define AM6_DEV_CAL0 2
41#define AM6_DEV_CMPEVENT_INTRTR0 3
42#define AM6_DEV_MCU_CPSW0 5
43#define AM6_DEV_CPT2_AGGR0 6
44#define AM6_DEV_MCU_CPT2_AGGR0 7
45#define AM6_DEV_STM0 8
46#define AM6_DEV_DCC0 9
47#define AM6_DEV_DCC1 10
48#define AM6_DEV_DCC2 11
49#define AM6_DEV_DCC3 12
50#define AM6_DEV_DCC4 13
51#define AM6_DEV_DCC5 14
52#define AM6_DEV_DCC6 15
53#define AM6_DEV_DCC7 16
54#define AM6_DEV_MCU_DCC0 17
55#define AM6_DEV_MCU_DCC1 18
56#define AM6_DEV_MCU_DCC2 19
57#define AM6_DEV_DDRSS0 20
58#define AM6_DEV_DEBUGSS_WRAP0 21
59#define AM6_DEV_WKUP_DMSC0 22
60#define AM6_DEV_TIMER0 23
61#define AM6_DEV_TIMER1 24
62#define AM6_DEV_TIMER10 25
63#define AM6_DEV_TIMER11 26
64#define AM6_DEV_TIMER2 27
65#define AM6_DEV_TIMER3 28
66#define AM6_DEV_TIMER4 29
67#define AM6_DEV_TIMER5 30
68#define AM6_DEV_TIMER6 31
69#define AM6_DEV_TIMER7 32
70#define AM6_DEV_TIMER8 33
71#define AM6_DEV_TIMER9 34
72#define AM6_DEV_MCU_TIMER0 35
73#define AM6_DEV_MCU_TIMER1 36
74#define AM6_DEV_MCU_TIMER2 37
75#define AM6_DEV_MCU_TIMER3 38
76#define AM6_DEV_ECAP0 39
77#define AM6_DEV_EHRPWM0 40
78#define AM6_DEV_EHRPWM1 41
79#define AM6_DEV_EHRPWM2 42
80#define AM6_DEV_EHRPWM3 43
81#define AM6_DEV_EHRPWM4 44
82#define AM6_DEV_EHRPWM5 45
83#define AM6_DEV_ELM0 46
84#define AM6_DEV_MMCSD0 47
85#define AM6_DEV_MMCSD1 48
86#define AM6_DEV_EQEP0 49
87#define AM6_DEV_EQEP1 50
88#define AM6_DEV_EQEP2 51
89#define AM6_DEV_ESM0 52
90#define AM6_DEV_MCU_ESM0 53
91#define AM6_DEV_WKUP_ESM0 54
92#define AM6_DEV_FSS_MCU_0 55
93#define AM6_DEV_GIC0 56
94#define AM6_DEV_GPIO0 57
95#define AM6_DEV_GPIO1 58
96#define AM6_DEV_WKUP_GPIO0 59
97#define AM6_DEV_GPMC0 60
98#define AM6_DEV_GTC0 61
99#define AM6_DEV_PRU_ICSSG0 62
100#define AM6_DEV_PRU_ICSSG1 63
101#define AM6_DEV_PRU_ICSSG2 64
102#define AM6_DEV_GPU0 65
103#define AM6_DEV_CCDEBUGSS0 66
104#define AM6_DEV_DSS0 67
105#define AM6_DEV_DEBUGSS0 68
106#define AM6_DEV_EFUSE0 69
107#define AM6_DEV_PSC0 70
108#define AM6_DEV_MCU_DEBUGSS0 71
109#define AM6_DEV_MCU_EFUSE0 72
110#define AM6_DEV_PBIST0 73
111#define AM6_DEV_PBIST1 74
112#define AM6_DEV_MCU_PBIST0 75
113#define AM6_DEV_PLLCTRL0 76
114#define AM6_DEV_WKUP_PLLCTRL0 77
115#define AM6_DEV_MCU_ROM0 78
116#define AM6_DEV_WKUP_PSC0 79
117#define AM6_DEV_WKUP_VTM0 80
118#define AM6_DEV_DEBUGSUSPENDRTR0 81
119#define AM6_DEV_CBASS0 82
120#define AM6_DEV_CBASS_DEBUG0 83
121#define AM6_DEV_CBASS_FW0 84
122#define AM6_DEV_CBASS_INFRA0 85
123#define AM6_DEV_ECC_AGGR0 86
124#define AM6_DEV_ECC_AGGR1 87
125#define AM6_DEV_ECC_AGGR2 88
126#define AM6_DEV_MCU_CBASS0 89
127#define AM6_DEV_MCU_CBASS_DEBUG0 90
128#define AM6_DEV_MCU_CBASS_FW0 91
129#define AM6_DEV_MCU_ECC_AGGR0 92
130#define AM6_DEV_MCU_ECC_AGGR1 93
131#define AM6_DEV_WKUP_CBASS0 94
132#define AM6_DEV_WKUP_ECC_AGGR0 95
133#define AM6_DEV_WKUP_CBASS_FW0 96
134#define AM6_DEV_MAIN2MCU_LVL_INTRTR0 97
135#define AM6_DEV_MAIN2MCU_PLS_INTRTR0 98
136#define AM6_DEV_CTRL_MMR0 99
137#define AM6_DEV_GPIOMUX_INTRTR0 100
138#define AM6_DEV_PLL_MMR0 101
139#define AM6_DEV_MCU_MCAN0 102
140#define AM6_DEV_MCU_MCAN1 103
141#define AM6_DEV_MCASP0 104
142#define AM6_DEV_MCASP1 105
143#define AM6_DEV_MCASP2 106
144#define AM6_DEV_MCU_CTRL_MMR0 107
145#define AM6_DEV_MCU_PLL_MMR0 108
146#define AM6_DEV_MCU_SEC_MMR0 109
147#define AM6_DEV_I2C0 110
148#define AM6_DEV_I2C1 111
149#define AM6_DEV_I2C2 112
150#define AM6_DEV_I2C3 113
151#define AM6_DEV_MCU_I2C0 114
152#define AM6_DEV_WKUP_I2C0 115
153#define AM6_DEV_MCU_MSRAM0 116
154#define AM6_DEV_DFTSS0 117
155#define AM6_DEV_NAVSS0 118
156#define AM6_DEV_MCU_NAVSS0 119
157#define AM6_DEV_PCIE0 120
158#define AM6_DEV_PCIE1 121
159#define AM6_DEV_PDMA_DEBUG0 122
160#define AM6_DEV_PDMA0 123
161#define AM6_DEV_PDMA1 124
162#define AM6_DEV_MCU_PDMA0 125
163#define AM6_DEV_MCU_PDMA1 126
164#define AM6_DEV_MCU_PSRAM0 127
165#define AM6_DEV_PSRAMECC0 128
166#define AM6_DEV_MCU_ARMSS0 129
167#define AM6_DEV_RTI0 130
168#define AM6_DEV_RTI1 131
169#define AM6_DEV_RTI2 132
170#define AM6_DEV_RTI3 133
171#define AM6_DEV_MCU_RTI0 134
172#define AM6_DEV_MCU_RTI1 135
173#define AM6_DEV_SA2_UL0 136
174#define AM6_DEV_MCSPI0 137
175#define AM6_DEV_MCSPI1 138
176#define AM6_DEV_MCSPI2 139
177#define AM6_DEV_MCSPI3 140
178#define AM6_DEV_MCSPI4 141
179#define AM6_DEV_MCU_MCSPI0 142
180#define AM6_DEV_MCU_MCSPI1 143
181#define AM6_DEV_MCU_MCSPI2 144
182#define AM6_DEV_TIMESYNC_INTRTR0 145
183#define AM6_DEV_UART0 146
184#define AM6_DEV_UART1 147
185#define AM6_DEV_UART2 148
186#define AM6_DEV_MCU_UART0 149
187#define AM6_DEV_WKUP_UART0 150
188#define AM6_DEV_USB3SS0 151
189#define AM6_DEV_USB3SS1 152
190#define AM6_DEV_SERDES0 153
191#define AM6_DEV_SERDES1 154
192#define AM6_DEV_WKUP_CTRL_MMR0 155
193#define AM6_DEV_WKUP_GPIOMUX_INTRTR0 156
194#define AM6_DEV_BOARD0 157
195#define AM6_DEV_MCU_ARMSS0_CPU0 159
196#define AM6_DEV_WKUP_DMSC0_CORTEX_M3_0 161
197#define AM6_DEV_NAVSS0_CPTS0 163
198#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER0 164
199#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER1 165
200#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER2 166
201#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER3 167
202#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER4 168
203#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER5 169
204#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER6 170
205#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER7 171
206#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER8 172
207#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER9 173
208#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER10 174
209#define AM6_DEV_NAVSS0_MAILBOX0_CLUSTER11 175
210#define AM6_DEV_NAVSS0_MCRC0 176
211#define AM6_DEV_NAVSS0_PVU0 177
212#define AM6_DEV_NAVSS0_PVU1 178
213#define AM6_DEV_NAVSS0_UDMASS_INTA0 179
214#define AM6_DEV_NAVSS0_MODSS_INTA0 180
215#define AM6_DEV_NAVSS0_MODSS_INTA1 181
216#define AM6_DEV_NAVSS0_INTR_ROUTER_0 182
217#define AM6_DEV_NAVSS0_TIMER_MGR0 183
218#define AM6_DEV_NAVSS0_TIMER_MGR1 184
219#define AM6_DEV_NAVSS0_PROXY0 185
220#define AM6_DEV_NAVSS0_RINGACC0 187
221#define AM6_DEV_NAVSS0_UDMAP0 188
222#define AM6_DEV_MCU_NAVSS0_INTR_AGGR_0 189
223#define AM6_DEV_MCU_NAVSS0_INTR_ROUTER_0 190
224#define AM6_DEV_MCU_NAVSS0_PROXY0 191
225#define AM6_DEV_MCU_NAVSS0_MCRC0 193
226#define AM6_DEV_MCU_NAVSS0_UDMAP0 194
227#define AM6_DEV_MCU_NAVSS0_RINGACC0 195
228#define AM6_DEV_COMPUTE_CLUSTER_PBIST0 197
229#define AM6_DEV_COMPUTE_CLUSTER_CPAC0 198
230#define AM6_DEV_COMPUTE_CLUSTER_CPAC_PBIST0 199
231#define AM6_DEV_COMPUTE_CLUSTER_CPAC1 200
232#define AM6_DEV_COMPUTE_CLUSTER_CPAC_PBIST1 201
233#define AM6_DEV_COMPUTE_CLUSTER_A53_0 202
234#define AM6_DEV_COMPUTE_CLUSTER_A53_1 203
235#define AM6_DEV_COMPUTE_CLUSTER_A53_2 204
236#define AM6_DEV_COMPUTE_CLUSTER_A53_3 205
237#define AM6_DEV_CPT2_PROBE_VBUSM_MAIN_NAVSRAMLO_4 206
238#define AM6_DEV_CPT2_PROBE_VBUSM_MCU_FSS_S1_3 207
239#define AM6_DEV_CPT2_PROBE_VBUSM_MCU_EXPORT_SLV_0 208
240#define AM6_DEV_CPT2_PROBE_VBUSM_MAIN_NAVSRAMHI_3 209
241#define AM6_DEV_CPT2_PROBE_VBUSM_MCU_SRAM_SLV_1 210
242#define AM6_DEV_CPT2_PROBE_VBUSM_MAIN_NAVDDRHI_5 211
243#define AM6_DEV_CPT2_PROBE_VBUSM_MAIN_NAVDDRLO_6 212
244#define AM6_DEV_CPT2_PROBE_VBUSM_MAIN_CAL0_0 213
245#define AM6_DEV_CPT2_PROBE_VBUSM_MAIN_DSS_2 214
246#define AM6_DEV_CPT2_PROBE_VBUSM_MCU_FSS_S0_2 215
247#define AM6_DEV_OLDI_TX_CORE_MAIN_0 216
248#define AM6_DEV_K3_ARM_ATB_FUNNEL_3_32_MCU_0 217
249#define AM6_DEV_ICEMELTER_WKUP_0 218
250#define AM6_DEV_K3_LED_MAIN_0 219
251#define AM6_DEV_VDC_DATA_VBUSM_32B_REF_WKUP2MCU 220
252#define AM6_DEV_VDC_DATA_VBUSM_32B_REF_MCU2WKUP 221
253#define AM6_DEV_VDC_DATA_VBUSM_64B_REF_MAIN2MCU 222
254#define AM6_DEV_VDC_DATA_VBUSM_64B_REF_MCU2MAIN 223
255#define AM6_DEV_VDC_DMSC_DBG_VBUSP_32B_REF_DBG2DMSC 224
256#define AM6_DEV_VDC_INFRA_VBUSP_32B_REF_WKUP2MAIN_INFRA 225
257#define AM6_DEV_VDC_INFRA_VBUSP_32B_REF_MCU2MAIN_INFRA 226
258#define AM6_DEV_VDC_SOC_FW_VBUSP_32B_REF_FWWKUP2MCU 227
259#define AM6_DEV_VDC_SOC_FW_VBUSP_32B_REF_FWMCU2MAIN 228
260#define AM6_DEV_VDC_MCU_DBG_VBUSP_32B_REF_DBGMAIN2MCU 229
261#define AM6_DEV_VDC_NAV_PSIL_128B_REF_MAIN2MCU 230
262#define AM6_DEV_GS80PRG_SOC_WRAP_WKUP_0 231
263#define AM6_DEV_GS80PRG_MCU_WRAP_WKUP_0 232
264#define AM6_DEV_MX_WAKEUP_RESET_SYNC_WKUP_0 233
265#define AM6_DEV_MX_EFUSE_MAIN_CHAIN_MAIN_0 234
266#define AM6_DEV_MX_EFUSE_MCU_CHAIN_MCU_0 235
267#define AM6_DEV_DUMMY_IP_LPSC_WKUP2MCU_VD 236
268#define AM6_DEV_DUMMY_IP_LPSC_WKUP2MAIN_INFRA_VD 237
269#define AM6_DEV_DUMMY_IP_LPSC_DEBUG2DMSC_VD 238
270#define AM6_DEV_DUMMY_IP_LPSC_DMSC_VD 239
271#define AM6_DEV_DUMMY_IP_LPSC_MCU2MAIN_INFRA_VD 240
272#define AM6_DEV_DUMMY_IP_LPSC_MCU2MAIN_VD 241
273#define AM6_DEV_DUMMY_IP_LPSC_MCU2WKUP_VD 242
274#define AM6_DEV_DUMMY_IP_LPSC_MAIN2MCU_VD 243
275#define AM6_DEV_DUMMY_IP_LPSC_EMIF_DATA_VD 244
276#define AM6_DEV_MCU_ARMSS0_CPU1 245
277#define AM6_DEV_MCU_FSS0_FSAS_0 246
278#define AM6_DEV_MCU_FSS0_HYPERBUS0 247
279#define AM6_DEV_MCU_FSS0_OSPI_0 248
280#define AM6_DEV_MCU_FSS0_OSPI_1 249
281
282#endif /* SOC_AM6_DEVICES_H */
diff --git a/include/soc/am65x_sr2/hosts.h b/include/soc/am65x_sr2/hosts.h
new file mode 100644
index 000000000..b398a6418
--- /dev/null
+++ b/include/soc/am65x_sr2/hosts.h
@@ -0,0 +1,86 @@
1/*
2 * K3 System Firmware Board Configuration Data Definitions
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35
36#ifndef AM6_HOSTS_H
37#define AM6_HOSTS_H
38
39/* Host IDs for AM6 Device */
40
41/** DMSC(Secure): Device Management and Security Control */
42#define HOST_ID_DMSC (0U)
43/** r5_0(Non Secure): Cortex R5 Context 0 on MCU island */
44#define HOST_ID_R5_0 (3U)
45/** r5_1(Secure): Cortex R5 Context 1 on MCU island(Boot) */
46#define HOST_ID_R5_1 (4U)
47/** r5_2(Non Secure): Cortex R5 Context 2 on MCU island */
48#define HOST_ID_R5_2 (5U)
49/** r5_3(Secure): Cortex R5 Context 3 on MCU island */
50#define HOST_ID_R5_3 (6U)
51/** a53_0(Secure): Cortex A53 context 0 on Main island */
52#define HOST_ID_A53_0 (10U)
53/** a53_1(Secure): Cortex A53 context 1 on Main island */
54#define HOST_ID_A53_1 (11U)
55/** a53_2(Non Secure): Cortex A53 context 2 on Main island */
56#define HOST_ID_A53_2 (12U)
57/** a53_3(Non Secure): Cortex A53 context 3 on Main island */
58#define HOST_ID_A53_3 (13U)
59/** a53_4(Non Secure): Cortex A53 context 4 on Main island */
60#define HOST_ID_A53_4 (14U)
61/** a53_5(Non Secure): Cortex A53 context 5 on Main island */
62#define HOST_ID_A53_5 (15U)
63/** a53_6(Non Secure): Cortex A53 context 6 on Main island */
64#define HOST_ID_A53_6 (16U)
65/** a53_7(Non Secure): Cortex A53 context 7 on Main island */
66#define HOST_ID_A53_7 (17U)
67/** gpu_0(Non Secure): SGX544 Context 0 on Main island */
68#define HOST_ID_GPU_0 (30U)
69/** gpu_1(Non Secure): SGX544 Context 1 on Main island */
70#define HOST_ID_GPU_1 (31U)
71/** icssg_0(Non Secure): ICSS Context 0 on Main island */
72#define HOST_ID_ICSSG_0 (50U)
73/** icssg_1(Non Secure): ICSS Context 1 on Main island */
74#define HOST_ID_ICSSG_1 (51U)
75/** icssg_2(Non Secure): ICSS Context 2 on Main island */
76#define HOST_ID_ICSSG_2 (52U)
77
78/** Host catch all. Used in board configuration resource assignments to
79 * define resource ranges useable by all hosts. Cannot be used as a host
80 * in TISCI message headers */
81#define HOST_ID_ALL (128U)
82
83/** Number of unique hosts on the AM6 SoC */
84#define HOST_ID_CNT (19U)
85
86#endif /* AM6_HOSTS_H */
diff --git a/include/soc/am65x_sr2/resasg_types.h b/include/soc/am65x_sr2/resasg_types.h
new file mode 100644
index 000000000..91646d614
--- /dev/null
+++ b/include/soc/am65x_sr2/resasg_types.h
@@ -0,0 +1,174 @@
1/*
2 * K3 System Firmware Board Configuration Data Definitions
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#ifndef RESASG_TYPES_H
36#define RESASG_TYPES_H
37
38/**
39 * Resource assignment type shift
40 */
41#define RESASG_TYPE_SHIFT (0x0006U)
42/**
43 * Resource assignment type mask
44 */
45#define RESASG_TYPE_MASK (0xFFC0U)
46/**
47 * Resource assignment subtype shift
48 */
49#define RESASG_SUBTYPE_SHIFT (0x0000U)
50/**
51 * Resource assignment subtype mask
52 */
53#define RESASG_SUBTYPE_MASK (0x003FU)
54/**
55 * Macro to create unique resource assignment types using type and subtype
56 */
57
58#define RESASG_UTYPE(type, subtype) \
59 (((type << RESASG_TYPE_SHIFT) & RESASG_TYPE_MASK) |\
60 ((subtype << RESASG_SUBTYPE_SHIFT) & RESASG_SUBTYPE_MASK))
61
62/**
63 * IA subtypes definitions
64 */
65#define RESASG_SUBTYPE_IA_VINT (0x000AU)
66#define RESASG_SUBTYPE_GLOBAL_EVENT_GEVT (0x000BU)
67#define RESASG_SUBTYPE_GLOBAL_EVENT_MEVT (0x000CU)
68#define RESASG_SUBTYPE_GLOBAL_EVENT_SEVT (0x000DU)
69#define RESASG_SUBTYPES_IA_CNT (0x0004U)
70
71/**
72 * IRQ subtypes definitions
73 */
74#define RESASG_SUBTYPE_ESM0_ESM_PLS_EVENT0_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0000U)
75#define RESASG_SUBTYPE_ESM0_ESM_PLS_EVENT1_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0001U)
76#define RESASG_SUBTYPE_ESM0_ESM_PLS_EVENT2_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0002U)
77#define RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_CMPEVENT_INTRTR0 (0x0003U)
78#define RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0001U)
79#define RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0 (0x0000U)
80#define RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0004U)
81#define RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP1_FROM_NAVSS0_INTR_ROUTER_0 (0x0002U)
82#define RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_MAIN2MCU_LVL_INTRTR0 (0x0002U)
83#define RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_MAIN2MCU_PLS_INTRTR0 (0x0003U)
84#define RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_MCU_NAVSS0_INTR_ROUTER_0 (0x0000U)
85#define RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0001U)
86#define RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_MAIN2MCU_LVL_INTRTR0 (0x0002U)
87#define RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_MAIN2MCU_PLS_INTRTR0 (0x0003U)
88#define RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_MCU_NAVSS0_INTR_ROUTER_0 (0x0000U)
89#define RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0001U)
90#define RESASG_SUBTYPE_MCU_CPSW0_CPTS_HW3_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
91#define RESASG_SUBTYPE_MCU_CPSW0_CPTS_HW4_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0001U)
92#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW1_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
93#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW2_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0001U)
94#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW3_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0002U)
95#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW4_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0003U)
96#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW5_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0004U)
97#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW6_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0005U)
98#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW7_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0006U)
99#define RESASG_SUBTYPE_NAVSS0_CPTS0_HW8_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0007U)
100#define RESASG_SUBTYPE_PCIE0_PCIE_CPTS_HW2_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
101#define RESASG_SUBTYPE_PCIE1_PCIE_CPTS_HW2_PUSH_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
102#define RESASG_SUBTYPE_PDMA1_LEVENT_IN_IRQ_GROUP0_FROM_CMPEVENT_INTRTR0 (0x0001U)
103#define RESASG_SUBTYPE_PDMA1_LEVENT_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
104#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_EDC0_LATCH0_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
105#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_EDC0_LATCH1_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0001U)
106#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_EDC1_LATCH0_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0002U)
107#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_EDC1_LATCH1_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0003U)
108#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_IEP0_CAP_INTR_REQ_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0004U)
109#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_IEP1_CAP_INTR_REQ_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0005U)
110#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_SLV_INTR_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0007U)
111#define RESASG_SUBTYPE_PRU_ICSSG0_PR1_SLV_INTR_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0 (0x0006U)
112#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_EDC0_LATCH0_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
113#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_EDC0_LATCH1_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0001U)
114#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_EDC1_LATCH0_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0002U)
115#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_EDC1_LATCH1_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0003U)
116#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_IEP0_CAP_INTR_REQ_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0004U)
117#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_IEP1_CAP_INTR_REQ_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0005U)
118#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_SLV_INTR_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0007U)
119#define RESASG_SUBTYPE_PRU_ICSSG1_PR1_SLV_INTR_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0 (0x0006U)
120#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_EDC0_LATCH0_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0000U)
121#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_EDC0_LATCH1_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0001U)
122#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_EDC1_LATCH0_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0002U)
123#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_EDC1_LATCH1_IN_IRQ_GROUP0_FROM_TIMESYNC_INTRTR0 (0x0003U)
124#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_IEP0_CAP_INTR_REQ_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0004U)
125#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_IEP1_CAP_INTR_REQ_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0005U)
126#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_SLV_INTR_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0 (0x0007U)
127#define RESASG_SUBTYPE_PRU_ICSSG2_PR1_SLV_INTR_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0 (0x0006U)
128#define RESASG_SUBTYPE_WKUP_DMSC0_CORTEX_M3_0_NVIC_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0000U)
129#define RESASG_SUBTYPE_WKUP_ESM0_ESM_PLS_EVENT0_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0000U)
130#define RESASG_SUBTYPE_WKUP_ESM0_ESM_PLS_EVENT1_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0001U)
131#define RESASG_SUBTYPE_WKUP_ESM0_ESM_PLS_EVENT2_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0 (0x0002U)
132#define RESASG_SUBTYPES_IRQ_CNT (0x003AU)
133
134/**
135 * Proxy subtypes definitions
136 */
137#define RESASG_SUBTYPE_PROXY_PROXIES (0x0000U)
138#define RESASG_SUBTYPES_PROXY_CNT (0x0001U)
139
140/**
141 * RA subtypes definitions
142 */
143#define RESASG_SUBTYPE_RA_ERROR_OES (0x0000U)
144#define RESASG_SUBTYPE_RA_GP (0x0001U)
145#define RESASG_SUBTYPE_RA_UDMAP_RX (0x0002U)
146#define RESASG_SUBTYPE_RA_UDMAP_TX (0x0003U)
147#define RESASG_SUBTYPE_RA_UDMAP_TX_EXT (0x0004U)
148#define RESASG_SUBTYPE_RA_UDMAP_RX_H (0x0005U)
149#define RESASG_SUBTYPE_RA_UDMAP_TX_H (0x0007U)
150#define RESASG_SUBTYPE_RA_VIRTID (0x000AU)
151#define RESASG_SUBTYPE_RA_MONITORS (0x000BU)
152#define RESASG_SUBTYPES_RA_CNT (0x0009U)
153
154/**
155 * UDMAP subtypes definitions
156 */
157#define RESASG_SUBTYPE_UDMAP_RX_FLOW_COMMON (0x0000U)
158#define RESASG_SUBTYPE_UDMAP_INVALID_FLOW_OES (0x0001U)
159#define RESASG_SUBTYPE_GLOBAL_EVENT_TRIGGER (0x0002U)
160#define RESASG_SUBTYPE_UDMAP_GLOBAL_CONFIG (0x0003U)
161#define RESASG_SUBTYPE_UDMAP_RX_CHAN (0x000AU)
162#define RESASG_SUBTYPE_UDMAP_RX_HCHAN (0x000BU)
163#define RESASG_SUBTYPE_UDMAP_TX_CHAN (0x000DU)
164#define RESASG_SUBTYPE_UDMAP_TX_ECHAN (0x000EU)
165#define RESASG_SUBTYPE_UDMAP_TX_HCHAN (0x000FU)
166#define RESASG_SUBTYPES_UDMAP_CNT (0x0009U)
167
168
169/**
170 * Total number of unique resource types for SoC
171 */
172#define RESASG_UTYPE_CNT 102U
173
174#endif /* RESASG_TYPES_H */
diff --git a/soc/am65x_sr2/evm/board-cfg.c b/soc/am65x_sr2/evm/board-cfg.c
new file mode 100644
index 000000000..fe3381222
--- /dev/null
+++ b/soc/am65x_sr2/evm/board-cfg.c
@@ -0,0 +1,92 @@
1/*
2 * K3 System Firmware Board Configuration Data
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#include "common.h"
36
37const struct boardcfg am65_boardcfg_data = {
38 /* boardcfg_abi_rev */
39 .rev = {
40 .boardcfg_abi_maj = 0x0,
41 .boardcfg_abi_min = 0x1,
42 },
43
44 /* boardcfg_control */
45 .control = {
46 .subhdr = {
47 .magic = BOARDCFG_CONTROL_MAGIC_NUM,
48 .size = sizeof(struct boardcfg_control),
49 },
50 .main_isolation_enable = 0x5A,
51 .main_isolation_hostid = 0x2,
52 },
53
54 /* boardcfg sec_proxy */
55 .secproxy = {
56 .subhdr = {
57 .magic = BOARDCFG_SECPROXY_MAGIC_NUM,
58 .size = sizeof(struct boardcfg_secproxy),
59 },
60 .scaling_factor = 0x1,
61 .scaling_profile = 0x1,
62 .disable_main_nav_secure_proxy = 0,
63 },
64
65 /* boardcfg_msmc */
66 .msmc = {
67 .subhdr = {
68 .magic = BOARDCFG_MSMC_MAGIC_NUM,
69 .size = sizeof(struct boardcfg_msmc),
70 },
71 .msmc_cache_size = 0x10,
72 },
73
74 /* boardcfg_dbg_cfg */
75 .debug_cfg = {
76 .subhdr = {
77 .magic = BOARDCFG_DBG_CFG_MAGIC_NUM,
78 .size = sizeof(struct boardcfg_dbg_cfg),
79 },
80#ifdef ENABLE_TRACE
81 .trace_dst_enables = BOARDCFG_TRACE_DST_UART0 |
82 BOARDCFG_TRACE_DST_ITM |
83 BOARDCFG_TRACE_DST_MEM,
84 .trace_src_enables = BOARDCFG_TRACE_SRC_PM |
85 BOARDCFG_TRACE_SRC_RM |
86 BOARDCFG_TRACE_SRC_SEC |
87 BOARDCFG_TRACE_SRC_BASE |
88 BOARDCFG_TRACE_SRC_USER |
89 BOARDCFG_TRACE_SRC_SUPR,
90#endif
91 },
92};
diff --git a/soc/am65x_sr2/evm/pm-cfg.c b/soc/am65x_sr2/evm/pm-cfg.c
new file mode 100644
index 000000000..ff3efbd07
--- /dev/null
+++ b/soc/am65x_sr2/evm/pm-cfg.c
@@ -0,0 +1,43 @@
1/*
2 * K3 System Firmware Power Management Configuration Data
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#include "common.h"
36
37const struct boardcfg_pm am65_boardcfg_pm_data = {
38 /* boardcfg_abi_rev */
39 .rev = {
40 .boardcfg_abi_maj = 0x0,
41 .boardcfg_abi_min = 0x1,
42 },
43};
diff --git a/soc/am65x_sr2/evm/rm-cfg.c b/soc/am65x_sr2/evm/rm-cfg.c
new file mode 100644
index 000000000..71927b30c
--- /dev/null
+++ b/soc/am65x_sr2/evm/rm-cfg.c
@@ -0,0 +1,460 @@
1/*
2 * K3 System Firmware Resource Management Configuration Data
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#include "common.h"
36
37const struct boardcfg_rm_local am65_boardcfg_rm_data = {
38 .rm_boardcfg = {
39 /* boardcfg_abi_rev */
40 .rev = {
41 .boardcfg_abi_maj = 0x0,
42 .boardcfg_abi_min = 0x1,
43 },
44
45 /* boardcfg_rm_host_cfg */
46 .host_cfg = {
47 .subhdr = {
48 .magic = BOARDCFG_RM_HOST_CFG_MAGIC_NUM,
49 .size = sizeof(struct boardcfg_rm_host_cfg),
50 },
51 .host_cfg_entries = {{ 0 } },
52 },
53
54 /* boardcfg_rm_resasg */
55 .resasg = {
56 .subhdr = {
57 .magic = BOARDCFG_RM_RESASG_MAGIC_NUM,
58 .size = sizeof(struct boardcfg_rm_resasg),
59 },
60 .resasg_entries_size = BOARDCFG_RM_RESASG_ENTRIES *
61 sizeof(struct boardcfg_rm_resasg_entry),
62 .reserved = 0,
63 /* .resasg_entries is set via boardcfg_rm_local */
64 },
65 },
66
67 /* This is actually part of .resasg */
68 .resasg_entries = {
69 {
70 .start_resource = 16,
71 .num_resource = 240,
72 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMASS_INTA0, RESASG_SUBTYPE_IA_VINT),
73 .host_id = HOST_ID_A53_2,
74 },
75 {
76 .start_resource = 16,
77 .num_resource = 4592,
78 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMASS_INTA0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
79 .host_id = HOST_ID_A53_2,
80 },
81 {
82 .start_resource = 0,
83 .num_resource = 64,
84 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_MODSS_INTA0, RESASG_SUBTYPE_IA_VINT),
85 .host_id = HOST_ID_A53_2,
86 },
87 {
88 .start_resource = 20480,
89 .num_resource = 1024,
90 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_MODSS_INTA0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
91 .host_id = HOST_ID_A53_2,
92 },
93 {
94 .start_resource = 0,
95 .num_resource = 64,
96 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_MODSS_INTA1, RESASG_SUBTYPE_IA_VINT),
97 .host_id = HOST_ID_A53_2,
98 },
99 {
100 .start_resource = 22528,
101 .num_resource = 1024,
102 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_MODSS_INTA1, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
103 .host_id = HOST_ID_A53_2,
104 },
105 {
106 .start_resource = 8,
107 .num_resource = 248,
108 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_INTR_AGGR_0, RESASG_SUBTYPE_IA_VINT),
109 .host_id = HOST_ID_R5_0,
110 },
111 {
112 .start_resource = 16392,
113 .num_resource = 992,
114 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_INTR_AGGR_0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
115 .host_id = HOST_ID_R5_0,
116 },
117 {
118 .start_resource = 17384,
119 .num_resource = 536,
120 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_INTR_AGGR_0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
121 .host_id = HOST_ID_R5_0,
122 },
123 {
124 .start_resource = 49152,
125 .num_resource = 1024,
126 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_GLOBAL_EVENT_TRIGGER),
127 .host_id = HOST_ID_A53_2,
128 },
129 {
130 .start_resource = 1,
131 .num_resource = 7,
132 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_TX_HCHAN),
133 .host_id = HOST_ID_A53_2,
134 },
135 {
136 .start_resource = 8,
137 .num_resource = 112,
138 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_TX_CHAN),
139 .host_id = HOST_ID_A53_2,
140 },
141 {
142 .start_resource = 120,
143 .num_resource = 32,
144 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_TX_ECHAN),
145 .host_id = HOST_ID_A53_2,
146 },
147 {
148 .start_resource = 2,
149 .num_resource = 6,
150 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_HCHAN),
151 .host_id = HOST_ID_A53_2,
152 },
153 {
154 .start_resource = 8,
155 .num_resource = 142,
156 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_CHAN),
157 .host_id = HOST_ID_A53_2,
158 },
159 {
160 .start_resource = 150,
161 .num_resource = 150,
162 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_FLOW_COMMON),
163 .host_id = HOST_ID_A53_2,
164 },
165 {
166 .start_resource = 0,
167 .num_resource = 1,
168 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_INVALID_FLOW_OES),
169 .host_id = HOST_ID_A53_2,
170 },
171 {
172 .start_resource = 56320,
173 .num_resource = 256,
174 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_GLOBAL_EVENT_TRIGGER),
175 .host_id = HOST_ID_A53_2,
176 },
177 {
178 .start_resource = 0,
179 .num_resource = 2,
180 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_TX_HCHAN),
181 .host_id = HOST_ID_A53_2,
182 },
183 {
184 .start_resource = 2,
185 .num_resource = 46,
186 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_TX_CHAN),
187 .host_id = HOST_ID_A53_2,
188 },
189 {
190 .start_resource = 0,
191 .num_resource = 2,
192 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_HCHAN),
193 .host_id = HOST_ID_A53_2,
194 },
195 {
196 .start_resource = 2,
197 .num_resource = 46,
198 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_CHAN),
199 .host_id = HOST_ID_A53_2,
200 },
201 {
202 .start_resource = 48,
203 .num_resource = 48,
204 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_FLOW_COMMON),
205 .host_id = HOST_ID_A53_2,
206 },
207 {
208 .start_resource = 2,
209 .num_resource = 46,
210 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_TX_CHAN),
211 .host_id = HOST_ID_R5_1,
212 },
213 {
214 .start_resource = 2,
215 .num_resource = 46,
216 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_CHAN),
217 .host_id = HOST_ID_R5_1,
218 },
219 {
220 .start_resource = 48,
221 .num_resource = 48,
222 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_RX_FLOW_COMMON),
223 .host_id = HOST_ID_R5_1,
224 },
225 {
226 .start_resource = 0,
227 .num_resource = 1,
228 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_UDMAP0, RESASG_SUBTYPE_UDMAP_INVALID_FLOW_OES),
229 .host_id = HOST_ID_A53_2,
230 },
231 {
232 .start_resource = 1,
233 .num_resource = 7,
234 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX_H),
235 .host_id = HOST_ID_A53_2,
236 },
237 {
238 .start_resource = 8,
239 .num_resource = 112,
240 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX),
241 .host_id = HOST_ID_A53_2,
242 },
243 {
244 .start_resource = 120,
245 .num_resource = 32,
246 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX_EXT),
247 .host_id = HOST_ID_A53_2,
248 },
249 {
250 .start_resource = 153,
251 .num_resource = 7,
252 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX_H),
253 .host_id = HOST_ID_A53_2,
254 },
255 {
256 .start_resource = 160,
257 .num_resource = 142,
258 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX),
259 .host_id = HOST_ID_A53_2,
260 },
261 {
262 .start_resource = 304,
263 .num_resource = 464,
264 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_GP),
265 .host_id = HOST_ID_A53_2,
266 },
267 {
268 .start_resource = 0,
269 .num_resource = 1,
270 .type = RESASG_UTYPE(AM6_DEV_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_ERROR_OES),
271 .host_id = HOST_ID_A53_2,
272 },
273 {
274 .start_resource = 0,
275 .num_resource = 2,
276 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX_H),
277 .host_id = HOST_ID_A53_2,
278 },
279 {
280 .start_resource = 2,
281 .num_resource = 46,
282 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX),
283 .host_id = HOST_ID_A53_2,
284 },
285 {
286 .start_resource = 48,
287 .num_resource = 2,
288 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX_H),
289 .host_id = HOST_ID_A53_2,
290 },
291 {
292 .start_resource = 50,
293 .num_resource = 46,
294 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX),
295 .host_id = HOST_ID_A53_2,
296 },
297 {
298 .start_resource = 96,
299 .num_resource = 160,
300 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_GP),
301 .host_id = HOST_ID_A53_2,
302 },
303 {
304 .start_resource = 0,
305 .num_resource = 2,
306 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX_H),
307 .host_id = HOST_ID_R5_1,
308 },
309 {
310 .start_resource = 2,
311 .num_resource = 46,
312 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX),
313 .host_id = HOST_ID_R5_1,
314 },
315 {
316 .start_resource = 48,
317 .num_resource = 2,
318 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX_H),
319 .host_id = HOST_ID_R5_1,
320 },
321 {
322 .start_resource = 50,
323 .num_resource = 46,
324 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX),
325 .host_id = HOST_ID_R5_1,
326 },
327 {
328 .start_resource = 96,
329 .num_resource = 160,
330 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_GP),
331 .host_id = HOST_ID_R5_1,
332 },
333 {
334 .start_resource = 0,
335 .num_resource = 1,
336 .type = RESASG_UTYPE(AM6_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_ERROR_OES),
337 .host_id = HOST_ID_A53_2,
338 },
339 {
340 .start_resource = 80,
341 .num_resource = 48,
342 .type = RESASG_UTYPE(AM6_DEV_GIC0, RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0),
343 .host_id = HOST_ID_A53_2,
344 },
345 {
346 .start_resource = 392,
347 .num_resource = 32,
348 .type = RESASG_UTYPE(AM6_DEV_GIC0, RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0),
349 .host_id = HOST_ID_A53_2,
350 },
351 {
352 .start_resource = 448,
353 .num_resource = 50,
354 .type = RESASG_UTYPE(AM6_DEV_GIC0, RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP1_FROM_NAVSS0_INTR_ROUTER_0),
355 .host_id = HOST_ID_A53_2,
356 },
357 {
358 .start_resource = 498,
359 .num_resource = 6,
360 .type = RESASG_UTYPE(AM6_DEV_GIC0, RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP1_FROM_NAVSS0_INTR_ROUTER_0),
361 .host_id = HOST_ID_A53_2,
362 },
363 {
364 .start_resource = 544,
365 .num_resource = 16,
366 .type = RESASG_UTYPE(AM6_DEV_GIC0, RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_CMPEVENT_INTRTR0),
367 .host_id = HOST_ID_A53_2,
368 },
369 {
370 .start_resource = 712,
371 .num_resource = 16,
372 .type = RESASG_UTYPE(AM6_DEV_GIC0, RESASG_SUBTYPE_GIC0_SPI_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0),
373 .host_id = HOST_ID_A53_2,
374 },
375 {
376 .start_resource = 68,
377 .num_resource = 28,
378 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU0, RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_MCU_NAVSS0_INTR_ROUTER_0),
379 .host_id = HOST_ID_R5_0,
380 },
381 {
382 .start_resource = 124,
383 .num_resource = 16,
384 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU0, RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0),
385 .host_id = HOST_ID_R5_0,
386 },
387 {
388 .start_resource = 160,
389 .num_resource = 32,
390 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU0, RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_MAIN2MCU_LVL_INTRTR0),
391 .host_id = HOST_ID_R5_0,
392 },
393 {
394 .start_resource = 224,
395 .num_resource = 48,
396 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU0, RESASG_SUBTYPE_MCU_ARMSS0_CPU0_INTR_IRQ_GROUP0_FROM_MAIN2MCU_PLS_INTRTR0),
397 .host_id = HOST_ID_R5_0,
398 },
399 {
400 .start_resource = 68,
401 .num_resource = 28,
402 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU1, RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_MCU_NAVSS0_INTR_ROUTER_0),
403 .host_id = HOST_ID_R5_0,
404 },
405 {
406 .start_resource = 124,
407 .num_resource = 16,
408 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU1, RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_WKUP_GPIOMUX_INTRTR0),
409 .host_id = HOST_ID_R5_0,
410 },
411 {
412 .start_resource = 192,
413 .num_resource = 32,
414 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU1, RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_MAIN2MCU_LVL_INTRTR0),
415 .host_id = HOST_ID_R5_2,
416 },
417 {
418 .start_resource = 224,
419 .num_resource = 48,
420 .type = RESASG_UTYPE(AM6_DEV_MCU_ARMSS0_CPU1, RESASG_SUBTYPE_MCU_ARMSS0_CPU1_INTR_IRQ_GROUP0_FROM_MAIN2MCU_PLS_INTRTR0),
421 .host_id = HOST_ID_R5_0,
422 },
423 {
424 .start_resource = 46,
425 .num_resource = 8,
426 .type = RESASG_UTYPE(AM6_DEV_PRU_ICSSG0, RESASG_SUBTYPE_PRU_ICSSG0_PR1_SLV_INTR_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0),
427 .host_id = HOST_ID_ICSSG_0,
428 },
429 {
430 .start_resource = 88,
431 .num_resource = 8,
432 .type = RESASG_UTYPE(AM6_DEV_PRU_ICSSG0, RESASG_SUBTYPE_PRU_ICSSG0_PR1_SLV_INTR_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0),
433 .host_id = HOST_ID_ICSSG_0,
434 },
435 {
436 .start_resource = 46,
437 .num_resource = 8,
438 .type = RESASG_UTYPE(AM6_DEV_PRU_ICSSG1, RESASG_SUBTYPE_PRU_ICSSG1_PR1_SLV_INTR_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0),
439 .host_id = HOST_ID_ICSSG_1,
440 },
441 {
442 .start_resource = 88,
443 .num_resource = 8,
444 .type = RESASG_UTYPE(AM6_DEV_PRU_ICSSG1, RESASG_SUBTYPE_PRU_ICSSG1_PR1_SLV_INTR_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0),
445 .host_id = HOST_ID_ICSSG_1,
446 },
447 {
448 .start_resource = 46,
449 .num_resource = 8,
450 .type = RESASG_UTYPE(AM6_DEV_PRU_ICSSG2, RESASG_SUBTYPE_PRU_ICSSG2_PR1_SLV_INTR_IRQ_GROUP0_FROM_NAVSS0_INTR_ROUTER_0),
451 .host_id = HOST_ID_ICSSG_2,
452 },
453 {
454 .start_resource = 88,
455 .num_resource = 8,
456 .type = RESASG_UTYPE(AM6_DEV_PRU_ICSSG2, RESASG_SUBTYPE_PRU_ICSSG2_PR1_SLV_INTR_IRQ_GROUP0_FROM_GPIOMUX_INTRTR0),
457 .host_id = HOST_ID_ICSSG_2,
458 },
459 },
460};
diff --git a/soc/am65x_sr2/evm/sec-cfg.c b/soc/am65x_sr2/evm/sec-cfg.c
new file mode 100644
index 000000000..ea7007664
--- /dev/null
+++ b/soc/am65x_sr2/evm/sec-cfg.c
@@ -0,0 +1,73 @@
1/*
2 * K3 System Firmware Security Configuration Data
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#include "common.h"
36
37const struct boardcfg_security am65_boardcfg_security_data = {
38 /* boardcfg_abi_rev */
39 .rev = {
40 .boardcfg_abi_maj = 0x0,
41 .boardcfg_abi_min = 0x1,
42 },
43
44 /* boardcfg_proc_acl */
45 .processor_acl_list = {
46 .subhdr = {
47 .magic = BOARDCFG_PROC_ACL_MAGIC_NUM,
48 .size = sizeof(struct boardcfg_proc_acl),
49 },
50 .proc_acl_entries = {{ 0 } },
51 },
52
53 /* boardcfg_host_hierarchy */
54 .host_hierarchy = {
55 .subhdr = {
56 .magic = BOARDCFG_HOST_HIERARCHY_MAGIC_NUM,
57 .size = sizeof(struct boardcfg_host_hierarchy),
58 },
59 .host_hierarchy_entries = {{ 0 } },
60 },
61
62 /* OTP access configuration */
63 .otp_config = {
64 .subhdr = {
65 .magic = BOARDCFG_OTP_CFG_MAGIC_NUM,
66 .size = sizeof(struct boardcfg_extended_otp),
67 },
68 /* Host ID 0 is DMSC. This means no host has write access to OTP array */
69 .write_host_id = 0,
70 /* This is an array with 32 entries */
71 .otp_entry = {{ 0 } },
72 },
73};
diff --git a/soc/am65x_sr2/evm/sysfw_img_cfg.h b/soc/am65x_sr2/evm/sysfw_img_cfg.h
new file mode 100644
index 000000000..204369441
--- /dev/null
+++ b/soc/am65x_sr2/evm/sysfw_img_cfg.h
@@ -0,0 +1,40 @@
1/*
2 * K3 System Firmware Configuration Data
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#ifndef SYSFW_IMG_CFG_H
36#define SYSFW_IMG_CFG_H
37
38#define BOARDCFG_RM_RESASG_ENTRIES 65
39
40#endif /* SYSFW_IMG_CFG_H */