Skip to content

Commit f7d6880

Browse files
57300nashif
authored andcommitted
soc: nordic: Extend address validation for nRF54H20
Add `CHECK_DT_REG()` entries for a few additional peripheral types: BELLBOARD, CCM, GRTC, HSFLL, UICR, and VPR. For peripheral instances outside of the Global Domain, such as DPPIC020, use domain-specific defines like NRF_RADIOCORE_DPPIC020 when validating. These are always defined by the MDK, while NRF_DPPIC020 isn't guaranteed to exist in those cases. Revise existing macro checks accordingly. Signed-off-by: Grzegorz Swiderski <[email protected]>
1 parent 8212215 commit f7d6880

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

soc/nordic/validate_base_addresses.c

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@
3737
#define NRF_QDEC0 NRF_QDEC
3838
#endif
3939

40+
#if !defined(NRF_RADIO) && defined(NRF_RADIOCORE_RADIO)
41+
#define NRF_RADIO NRF_RADIOCORE_RADIO
42+
#endif
43+
44+
#if !defined(NRF_RTC) && defined(NRF_RADIOCORE_RTC)
45+
#define NRF_RTC NRF_RADIOCORE_RTC
46+
#endif
47+
4048
#if !defined(NRF_SWI0) && defined(NRF_SWI_BASE)
4149
#define NRF_SWI0 ((0 * 0x1000) + NRF_SWI_BASE)
4250
#endif
@@ -126,8 +134,13 @@
126134

127135
CHECK_DT_REG(acl, NRF_ACL);
128136
CHECK_DT_REG(adc, NODE_ADDRESS(adc, nordic_nrf_adc, NRF_ADC, NRF_SAADC));
137+
CHECK_DT_REG(cpusec_bellboard, NRF_SECDOMBELLBOARD);
138+
CHECK_DT_REG(cpuapp_bellboard, NRF_APPLICATION_BELLBOARD);
139+
CHECK_DT_REG(cpurad_bellboard, NRF_RADIOCORE_BELLBOARD);
129140
CHECK_DT_REG(bprot, NRF_BPROT);
130141
CHECK_DT_REG(ccm, NRF_CCM);
142+
CHECK_DT_REG(ccm030, NRF_RADIOCORE_CCM030);
143+
CHECK_DT_REG(ccm031, NRF_RADIOCORE_CCM031);
131144
CHECK_DT_REG(clock, NRF_CLOCK);
132145
CHECK_DT_REG(comp, NODE_ADDRESS(comp, nordic_nrf_comp, NRF_COMP, NRF_LPCOMP));
133146
CHECK_DT_REG(cryptocell, NRF_CRYPTOCELL);
@@ -138,7 +151,7 @@ CHECK_DT_REG(dppic00, NRF_DPPIC00);
138151
CHECK_DT_REG(dppic10, NRF_DPPIC10);
139152
CHECK_DT_REG(dppic20, NRF_DPPIC20);
140153
CHECK_DT_REG(dppic30, NRF_DPPIC30);
141-
CHECK_DT_REG(dppic020, NRF_DPPIC020);
154+
CHECK_DT_REG(dppic020, NRF_RADIOCORE_DPPIC020);
142155
CHECK_DT_REG(dppic120, NRF_DPPIC120);
143156
CHECK_DT_REG(dppic130, NRF_DPPIC130);
144157
CHECK_DT_REG(dppic131, NRF_DPPIC131);
@@ -149,7 +162,8 @@ CHECK_DT_REG(dppic135, NRF_DPPIC135);
149162
CHECK_DT_REG(dppic136, NRF_DPPIC136);
150163
CHECK_DT_REG(ecb, NRF_ECB);
151164
CHECK_DT_REG(ecb020, NRF_ECB020);
152-
CHECK_DT_REG(ecb030, NRF_ECB030);
165+
CHECK_DT_REG(ecb030, NRF_RADIOCORE_ECB030);
166+
CHECK_DT_REG(ecb031, NRF_RADIOCORE_ECB031);
153167
CHECK_DT_REG(egu0, NRF_EGU0);
154168
CHECK_DT_REG(egu1, NRF_EGU1);
155169
CHECK_DT_REG(egu2, NRF_EGU2);
@@ -158,7 +172,7 @@ CHECK_DT_REG(egu4, NRF_EGU4);
158172
CHECK_DT_REG(egu5, NRF_EGU5);
159173
CHECK_DT_REG(egu10, NRF_EGU10);
160174
CHECK_DT_REG(egu20, NRF_EGU20);
161-
CHECK_DT_REG(egu020, NRF_EGU020);
175+
CHECK_DT_REG(egu020, NRF_RADIOCORE_EGU020);
162176
CHECK_DT_REG(ficr, NRF_FICR);
163177
CHECK_DT_REG(flash_controller, NRF_NVMC);
164178
CHECK_DT_REG(gpio0, NRF_P0);
@@ -174,6 +188,9 @@ CHECK_DT_REG(gpiote20, NRF_GPIOTE20);
174188
CHECK_DT_REG(gpiote30, NRF_GPIOTE30);
175189
CHECK_DT_REG(gpiote130, NRF_GPIOTE130);
176190
CHECK_DT_REG(gpiote131, NRF_GPIOTE131);
191+
CHECK_DT_REG(grtc, NRF_GRTC);
192+
CHECK_DT_REG(cpuapp_hsfll, NRF_APPLICATION_HSFLL);
193+
CHECK_DT_REG(cpurad_hsfll, NRF_RADIOCORE_HSFLL);
177194
CHECK_I2C_REG(i2c0, 0);
178195
CHECK_I2C_REG(i2c1, 1);
179196
CHECK_DT_REG(i2c2, NRF_TWIM2);
@@ -193,8 +210,8 @@ CHECK_DT_REG(i2c137, NRF_TWIM137);
193210
CHECK_DT_REG(i2s0, NRF_I2S0);
194211
CHECK_DT_REG(i2s20, NRF_I2S20);
195212
CHECK_DT_REG(ipc, NRF_IPC);
196-
CHECK_DT_REG(cpuapp_ipct, NRF_IPCT);
197-
CHECK_DT_REG(cpurad_ipct, NRF_IPCT);
213+
CHECK_DT_REG(cpuapp_ipct, NRF_APPLICATION_IPCT);
214+
CHECK_DT_REG(cpurad_ipct, NRF_RADIOCORE_IPCT);
198215
CHECK_DT_REG(ipct120, NRF_IPCT120);
199216
CHECK_DT_REG(ipct130, NRF_IPCT130);
200217
CHECK_DT_REG(kmu, NRF_KMU);
@@ -275,9 +292,9 @@ CHECK_DT_REG(timer21, NRF_TIMER21);
275292
CHECK_DT_REG(timer22, NRF_TIMER22);
276293
CHECK_DT_REG(timer23, NRF_TIMER23);
277294
CHECK_DT_REG(timer24, NRF_TIMER24);
278-
CHECK_DT_REG(timer020, NRF_TIMER020);
279-
CHECK_DT_REG(timer021, NRF_TIMER021);
280-
CHECK_DT_REG(timer022, NRF_TIMER022);
295+
CHECK_DT_REG(timer020, NRF_RADIOCORE_TIMER020);
296+
CHECK_DT_REG(timer021, NRF_RADIOCORE_TIMER021);
297+
CHECK_DT_REG(timer022, NRF_RADIOCORE_TIMER022);
281298
CHECK_DT_REG(timer120, NRF_TIMER120);
282299
CHECK_DT_REG(timer121, NRF_TIMER121);
283300
CHECK_DT_REG(timer130, NRF_TIMER130);
@@ -307,6 +324,8 @@ CHECK_DT_REG(uart135, NRF_UARTE135);
307324
CHECK_DT_REG(uart136, NRF_UARTE136);
308325
CHECK_DT_REG(uart137, NRF_UARTE137);
309326
CHECK_DT_REG(uicr, NRF_UICR);
327+
CHECK_DT_REG(cpuapp_uicr, NRF_APPLICATION_UICR);
328+
CHECK_DT_REG(cpurad_uicr, NRF_RADIOCORE_UICR);
310329
CHECK_DT_REG(usbd, NRF_USBD);
311330
CHECK_DT_REG(usbhs, NRF_USBHS);
312331
CHECK_DT_REG(usbhs_core, NRF_USBHSCORE0);
@@ -315,6 +334,9 @@ CHECK_DT_REG(vmc, NRF_VMC);
315334
CHECK_DT_REG(cpuflpr_clic, NRF_FLPR_VPRCLIC);
316335
#if defined(CONFIG_SOC_NRF54L15)
317336
CHECK_DT_REG(cpuflpr_vpr, NRF_VPR00);
337+
#elif defined(CONFIG_SOC_NRF54H20)
338+
CHECK_DT_REG(cpuflpr_vpr, NRF_VPR121);
339+
CHECK_DT_REG(cpuppr_vpr, NRF_VPR130);
318340
#endif
319341
CHECK_DT_REG(wdt, NRF_WDT0); /* this should be the same node as wdt0 */
320342
CHECK_DT_REG(wdt0, NRF_WDT0);

0 commit comments

Comments
 (0)