Skip to content

Commit 3592df4

Browse files
committed
[nrf fromlist] soc: nordic: Extend address validation for nRF54H20
Upstream PR: zephyrproject-rtos/zephyr#71536 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]> (cherry picked from commit 1750413c7f22a76d504c35a890d31eab469c9850)
1 parent 60a03a9 commit 3592df4

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

soc/arm/nordic_nrf/validate_base_addresses.c

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

39+
#if !defined(NRF_RADIO) && defined(NRF_RADIOCORE_RADIO)
40+
#define NRF_RADIO NRF_RADIOCORE_RADIO
41+
#endif
42+
43+
#if !defined(NRF_RTC) && defined(NRF_RADIOCORE_RTC)
44+
#define NRF_RTC NRF_RADIOCORE_RTC
45+
#endif
46+
3947
#if !defined(NRF_SWI0) && defined(NRF_SWI_BASE)
4048
#define NRF_SWI0 ((0 * 0x1000) + NRF_SWI_BASE)
4149
#endif
@@ -125,8 +133,13 @@
125133

126134
CHECK_DT_REG(acl, NRF_ACL);
127135
CHECK_DT_REG(adc, NODE_ADDRESS(adc, nordic_nrf_adc, NRF_ADC, NRF_SAADC));
136+
CHECK_DT_REG(cpusec_bellboard, NRF_SECDOMBELLBOARD);
137+
CHECK_DT_REG(cpuapp_bellboard, NRF_APPLICATION_BELLBOARD);
138+
CHECK_DT_REG(cpurad_bellboard, NRF_RADIOCORE_BELLBOARD);
128139
CHECK_DT_REG(bprot, NRF_BPROT);
129140
CHECK_DT_REG(ccm, NRF_CCM);
141+
CHECK_DT_REG(ccm030, NRF_RADIOCORE_CCM030);
142+
CHECK_DT_REG(ccm031, NRF_RADIOCORE_CCM031);
130143
CHECK_DT_REG(clock, NRF_CLOCK);
131144
CHECK_DT_REG(comp, NODE_ADDRESS(comp, nordic_nrf_comp, NRF_COMP, NRF_LPCOMP));
132145
CHECK_DT_REG(cryptocell, NRF_CRYPTOCELL);
@@ -137,7 +150,7 @@ CHECK_DT_REG(dppic00, NRF_DPPIC00);
137150
CHECK_DT_REG(dppic10, NRF_DPPIC10);
138151
CHECK_DT_REG(dppic20, NRF_DPPIC20);
139152
CHECK_DT_REG(dppic30, NRF_DPPIC30);
140-
CHECK_DT_REG(dppic020, NRF_DPPIC020);
153+
CHECK_DT_REG(dppic020, NRF_RADIOCORE_DPPIC020);
141154
CHECK_DT_REG(dppic120, NRF_DPPIC120);
142155
CHECK_DT_REG(dppic130, NRF_DPPIC130);
143156
CHECK_DT_REG(dppic131, NRF_DPPIC131);
@@ -148,7 +161,8 @@ CHECK_DT_REG(dppic135, NRF_DPPIC135);
148161
CHECK_DT_REG(dppic136, NRF_DPPIC136);
149162
CHECK_DT_REG(ecb, NRF_ECB);
150163
CHECK_DT_REG(ecb020, NRF_ECB020);
151-
CHECK_DT_REG(ecb030, NRF_ECB030);
164+
CHECK_DT_REG(ecb030, NRF_RADIOCORE_ECB030);
165+
CHECK_DT_REG(ecb031, NRF_RADIOCORE_ECB031);
152166
CHECK_DT_REG(egu0, NRF_EGU0);
153167
CHECK_DT_REG(egu1, NRF_EGU1);
154168
CHECK_DT_REG(egu2, NRF_EGU2);
@@ -157,7 +171,7 @@ CHECK_DT_REG(egu4, NRF_EGU4);
157171
CHECK_DT_REG(egu5, NRF_EGU5);
158172
CHECK_DT_REG(egu10, NRF_EGU10);
159173
CHECK_DT_REG(egu20, NRF_EGU20);
160-
CHECK_DT_REG(egu020, NRF_EGU020);
174+
CHECK_DT_REG(egu020, NRF_RADIOCORE_EGU020);
161175
CHECK_DT_REG(ficr, NRF_FICR);
162176
CHECK_DT_REG(flash_controller, NRF_NVMC);
163177
CHECK_DT_REG(gpio0, NRF_P0);
@@ -173,6 +187,9 @@ CHECK_DT_REG(gpiote20, NRF_GPIOTE20);
173187
CHECK_DT_REG(gpiote30, NRF_GPIOTE30);
174188
CHECK_DT_REG(gpiote130, NRF_GPIOTE130);
175189
CHECK_DT_REG(gpiote131, NRF_GPIOTE131);
190+
CHECK_DT_REG(grtc, NRF_GRTC);
191+
CHECK_DT_REG(cpuapp_hsfll, NRF_APPLICATION_HSFLL);
192+
CHECK_DT_REG(cpurad_hsfll, NRF_RADIOCORE_HSFLL);
176193
CHECK_I2C_REG(i2c0, 0);
177194
CHECK_I2C_REG(i2c1, 1);
178195
CHECK_DT_REG(i2c2, NRF_TWIM2);
@@ -192,8 +209,8 @@ CHECK_DT_REG(i2c137, NRF_TWIM137);
192209
CHECK_DT_REG(i2s0, NRF_I2S0);
193210
CHECK_DT_REG(i2s20, NRF_I2S20);
194211
CHECK_DT_REG(ipc, NRF_IPC);
195-
CHECK_DT_REG(cpuapp_ipct, NRF_IPCT);
196-
CHECK_DT_REG(cpurad_ipct, NRF_IPCT);
212+
CHECK_DT_REG(cpuapp_ipct, NRF_APPLICATION_IPCT);
213+
CHECK_DT_REG(cpurad_ipct, NRF_RADIOCORE_IPCT);
197214
CHECK_DT_REG(ipct120, NRF_IPCT120);
198215
CHECK_DT_REG(ipct130, NRF_IPCT130);
199216
CHECK_DT_REG(kmu, NRF_KMU);
@@ -274,9 +291,9 @@ CHECK_DT_REG(timer21, NRF_TIMER21);
274291
CHECK_DT_REG(timer22, NRF_TIMER22);
275292
CHECK_DT_REG(timer23, NRF_TIMER23);
276293
CHECK_DT_REG(timer24, NRF_TIMER24);
277-
CHECK_DT_REG(timer020, NRF_TIMER020);
278-
CHECK_DT_REG(timer021, NRF_TIMER021);
279-
CHECK_DT_REG(timer022, NRF_TIMER022);
294+
CHECK_DT_REG(timer020, NRF_RADIOCORE_TIMER020);
295+
CHECK_DT_REG(timer021, NRF_RADIOCORE_TIMER021);
296+
CHECK_DT_REG(timer022, NRF_RADIOCORE_TIMER022);
280297
CHECK_DT_REG(timer120, NRF_TIMER120);
281298
CHECK_DT_REG(timer121, NRF_TIMER121);
282299
CHECK_DT_REG(timer130, NRF_TIMER130);
@@ -306,11 +323,14 @@ CHECK_DT_REG(uart135, NRF_UARTE135);
306323
CHECK_DT_REG(uart136, NRF_UARTE136);
307324
CHECK_DT_REG(uart137, NRF_UARTE137);
308325
CHECK_DT_REG(uicr, NRF_UICR);
326+
CHECK_DT_REG(cpuapp_uicr, NRF_APPLICATION_UICR);
327+
CHECK_DT_REG(cpurad_uicr, NRF_RADIOCORE_UICR);
309328
CHECK_DT_REG(usbd, NRF_USBD);
310329
CHECK_DT_REG(usbhs, NRF_USBHS);
311330
CHECK_DT_REG(usbhs_core, NRF_USBHSCORE0);
312331
CHECK_DT_REG(usbreg, NRF_USBREGULATOR);
313332
CHECK_DT_REG(vmc, NRF_VMC);
333+
CHECK_DT_REG(cpuppr_vpr, NRF_VPR130);
314334
CHECK_DT_REG(wdt, NRF_WDT0); /* this should be the same node as wdt0 */
315335
CHECK_DT_REG(wdt0, NRF_WDT0);
316336
CHECK_DT_REG(wdt1, NRF_WDT1);

0 commit comments

Comments
 (0)