1 /*
2  * Copyright (c) 2020 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /* We want to use all real nRFx HAL definitions, while allowing some of them to be overridden.
8  * We do this by including here all real nRFx HAL provided functions, but defining them as "weak".
9  * This allows the HW models to provide their own version when needed due to HW models differences.
10  */
11 #define NRF_DONT_DECLARE_ONLY
12 #define NRF_STATIC_INLINE __attribute__((weak))
13 
14 #include "nrfx.h"
15 
16 #if defined(NRF54L15_XXAA)
17 /* These are not yet supported by the HAL (fail to build), even though the MDK claims are present */
18 #undef AAR_PRESENT
19 #undef PDM_PRESENT
20 #endif
21 
22 #ifdef AAR_PRESENT
23 #include "hal/nrf_aar.h"
24 #endif
25 
26 #ifdef ACL_PRESENT
27 #include "hal/nrf_acl.h"
28 #endif
29 
30 #ifdef ADC_PRESENT
31 #include "hal/nrf_adc.h"
32 #endif
33 
34 #ifdef BPROT_PRESENT
35 #include "hal/nrf_bprot.h"
36 #endif
37 
38 #ifdef CACHE_PRESENT
39 #include "hal/nrf_cache.h"
40 #endif
41 
42 #ifdef CCM_PRESENT
43 #include "hal/nrf_ccm.h"
44 #endif
45 
46 #ifdef CLOCK_PRESENT
47 #include "hal/nrf_clock.h"
48 #endif
49 
50 #include "hal/nrf_common.h"
51 
52 #ifdef COMP_PRESENT
53 #include "hal/nrf_comp.h"
54 #endif
55 
56 #ifdef CRACEN_PRESENT
57 #include "hal/nrf_cracen.h"
58 #endif
59 
60 #ifdef NRF_DCNF_NS
61 #include "hal/nrf_dcnf.h"
62 #endif
63 
64 #ifdef DPPI_PRESENT
65 #include "hal/nrf_dppi.h"
66 #endif
67 
68 #ifdef ECB_PRESENT
69 #include "hal/nrf_ecb.h"
70 #endif
71 
72 #ifdef EGU_PRESENT
73 #include "hal/nrf_egu.h"
74 #endif
75 
76 #include "hal/nrf_ficr.h"
77 
78 #ifdef GLITCHDET_PRESENT
79 #include "hal/nrf_glitchdet.h"
80 #endif
81 
82 #ifdef GPIO_PRESENT
83 #include "hal/nrf_gpio.h"
84 #endif
85 
86 #ifdef GPIOTE_PRESENT
87 #include "hal/nrf_gpiote.h"
88 #endif
89 
90 #ifdef GRTC_PRESENT
91 #include "hal/nrf_grtc.h"
92 #endif
93 
94 #ifdef I2S_PRESENT
95 #include "hal/nrf_i2s.h"
96 #endif
97 
98 #ifdef IPC_PRESENT
99 #include "hal/nrf_ipc.h"
100 #endif
101 
102 #ifdef KMU_PRESENT
103 #include "hal/nrf_kmu.h"
104 #endif
105 
106 #ifdef LPCOMP_PRESENT
107 #include "hal/nrf_lpcomp.h"
108 #endif
109 
110 #ifdef MEMCONF_PRESENT
111 #include "hal/nrf_memconf.h"
112 #endif
113 
114 #ifdef MPC_PRESENT
115 #include "hal/nrf_mpc.h"
116 #endif
117 
118 #ifdef MUTEX_PRESENT
119 #include "hal/nrf_mutex.h"
120 #endif
121 
122 #ifdef MWU_PRESENT
123 #include "hal/nrf_mwu.h"
124 #endif
125 
126 #ifdef NFCT_PRESENT
127 #include "hal/nrf_nfct.h"
128 #endif
129 
130 #ifdef NVMC_PRESENT
131 #include "hal/nrf_nvmc.h"
132 #endif
133 
134 #ifdef OSCILLATORS_PRESENT
135 #include "hal/nrf_oscillators.h"
136 #endif
137 
138 #ifdef PDM_PRESENT
139 #include "hal/nrf_pdm.h"
140 #endif
141 
142 #ifdef POWER_PRESENT
143 #include "hal/nrf_power.h"
144 #endif
145 
146 #ifdef PPI_PRESENT
147 #include "hal/nrf_ppi.h"
148 #endif
149 
150 #ifdef PPIB_PRESENT
151 #include "hal/nrf_ppib.h"
152 #endif
153 
154 #ifdef PWM_PRESENT
155 #include "hal/nrf_pwm.h"
156 #endif
157 
158 #ifdef QDEC_PRESENT
159 #include "hal/nrf_qdec.h"
160 #endif
161 
162 #ifdef QSPI_PRESENT
163 #include "hal/nrf_qspi.h"
164 #endif
165 
166 #ifdef RADIO_PRESENT
167 #include "hal/nrf_radio.h"
168 #endif
169 
170 #ifdef REGULATORS_PRESENT
171 #include "hal/nrf_regulators.h"
172 #endif
173 
174 #ifdef NRF_RESET /* The MDK lacks a RESET_PRESENT macro */
175 #include "hal/nrf_reset.h"
176 #endif
177 
178 #ifdef RNG_PRESENT
179 #include "hal/nrf_rng.h"
180 #endif
181 
182 #ifdef RRAMC_PRESENT
183 #include "hal/nrf_rramc.h"
184 #endif
185 
186 #ifdef RTC_PRESENT
187 #include "hal/nrf_rtc.h"
188 #endif
189 
190 #ifdef SAADC_PRESENT
191 #include "hal/nrf_saadc.h"
192 #endif
193 
194 #ifdef SPI_PRESENT
195 #include "hal/nrf_spi.h"
196 #endif
197 
198 #ifdef SPIM_PRESENT
199 #include "hal/nrf_spim.h"
200 #endif
201 
202 #ifdef SPIS_PRESENT
203 #include "hal/nrf_spis.h"
204 #endif
205 
206 #ifdef SPU_PRESENT
207 #include "hal/nrf_spu.h"
208 #endif
209 
210 #ifdef TAMPC_PRESENT
211 #include "hal/nrf_tampc.h"
212 #endif
213 
214 #ifdef TEMP_PRESENT
215 #include "hal/nrf_temp.h"
216 #endif
217 
218 #ifdef TIMER_PRESENT
219 #include "hal/nrf_timer.h"
220 #endif
221 
222 #ifdef TWI_PRESENT
223 #include "hal/nrf_twi.h"
224 #endif
225 
226 #ifdef TWIM_PRESENT
227 #include "hal/nrf_twim.h"
228 #endif
229 
230 #ifdef TWIS_PRESENT
231 #include "hal/nrf_twis.h"
232 #endif
233 
234 #ifdef UART_PRESENT
235 #include "hal/nrf_uart.h"
236 #endif
237 
238 #ifdef UARTE_PRESENT
239 #include "hal/nrf_uarte.h"
240 #endif
241 
242 #ifdef USBD_PRESENT
243 #include "hal/nrf_usbd.h"
244 #endif
245 
246 #ifdef USBREG_PRESENT
247 #include "hal/nrf_usbreg.h"
248 #endif
249 
250 #ifdef VMC_PRESENT
251 #include "hal/nrf_vmc.h"
252 #endif
253 
254 #ifdef VREQCTRL_PRESENT
255 #include "hal/nrf_vreqctrl.h"
256 #endif
257 
258 #ifdef WDT_PRESENT
259 #include "hal/nrf_wdt.h"
260 #endif
261