1 /*
2  * Copyright (c) 2024, Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef NRFX_RESERVED_RESOURCES_H__
8 #define NRFX_RESERVED_RESOURCES_H__
9 
10 /** @brief Bitmask that defines GPIOTE130 channels reserved for use outside
11  *         of the nrfx library.
12  */
13 #define NRFX_GPIOTE130_CHANNELS_USED                                                               \
14 	(~NRFX_CONFIG_MASK_DT(DT_NODELABEL(gpiote130), owned_channels) |                           \
15 	 NRFX_CONFIG_MASK_DT(DT_NODELABEL(gpiote130), child_owned_channels))
16 
17 /** @brief Bitmask that defines GPIOTE131 channels reserved for use outside
18  *         of the nrfx library.
19  */
20 #define NRFX_GPIOTE131_CHANNELS_USED                                                               \
21 	(~NRFX_CONFIG_MASK_DT(DT_NODELABEL(gpiote131), owned_channels) |                           \
22 	 NRFX_CONFIG_MASK_DT(DT_NODELABEL(gpiote131), child_owned_channels))
23 
24 /** @brief Bitmask that defines EGU instances that are reserved for use outside
25  *         of the nrfx library.
26  */
27 #define NRFX_EGUS_USED 0
28 
29 /** @brief Bitmask that defines TIMER instances that are reserved for use outside
30  *         of the nrfx library.
31  */
32 #define NRFX_TIMERS_USED 0
33 
34 /* If the GRTC system timer driver is to be used, prepare definitions required
35  * by the nrfx_grtc driver (NRFX_GRTC_CONFIG_ALLOWED_CC_CHANNELS_MASK and
36  * NRFX_GRTC_CONFIG_NUM_OF_CC_CHANNELS) based on information from devicetree.
37  */
38 #if DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_grtc)
39 #define NRFX_GRTC_CONFIG_ALLOWED_CC_CHANNELS_MASK \
40 	(NRFX_CONFIG_MASK_DT(DT_INST(0, nordic_nrf_grtc), owned_channels) & \
41 	 ~NRFX_CONFIG_MASK_DT(DT_INST(0, nordic_nrf_grtc), child_owned_channels))
42 #define NRFX_GRTC_CONFIG_NUM_OF_CC_CHANNELS \
43 	(DT_PROP_LEN_OR(DT_INST(0, nordic_nrf_grtc), owned_channels, 0) - \
44 	 DT_PROP_LEN_OR(DT_INST(0, nordic_nrf_grtc), child_owned_channels, 0))
45 #endif /* DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_grtc) */
46 
47 /*
48  * The enabled Bluetooth controller subsystem is responsible for providing
49  * definitions of the BT_CTLR_USED_* symbols used below in a file named
50  * bt_ctlr_used_resources.h and for adding its location to global include
51  * paths so that the file can be included here for all Zephyr libraries that
52  * are to be built.
53  */
54 #if defined(CONFIG_BT_LL_SW_SPLIT)
55 #include <bt_ctlr_used_resources.h>
56 #if defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_COMPATIBLE_NRF52X)
57 #define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
58 #define NRFX_PPI_GROUPS_USED_BY_BT_CTLR   BT_CTLR_USED_PPI_GROUPS
59 #elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
60 #define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
61 #define NRFX_DPPI0_GROUPS_USED_BY_BT_CTLR   BT_CTLR_USED_PPI_GROUPS
62 #elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
63 #define NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
64 #define NRFX_DPPI10_GROUPS_USED_BY_BT_CTLR   BT_CTLR_USED_PPI_GROUPS
65 #endif
66 #endif /* defined(CONFIG_BT_LL_SW_SPLIT) */
67 
68 #if defined(CONFIG_NRF_802154_RADIO_DRIVER)
69 #if defined(CONFIG_SOC_COMPATIBLE_NRF52X)
70 #include <../src/nrf_802154_peripherals_nrf52.h>
71 #define NRFX_PPI_CHANNELS_USED_BY_802154_DRV NRF_802154_PPI_CHANNELS_USED_MASK
72 #define NRFX_PPI_GROUPS_USED_BY_802154_DRV   NRF_802154_PPI_GROUPS_USED_MASK
73 #elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
74 #include <../src/nrf_802154_peripherals_nrf53.h>
75 #define NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV NRF_802154_DPPI_CHANNELS_USED_MASK
76 #define NRFX_DPPI0_GROUPS_USED_BY_802154_DRV   NRF_802154_DPPI_GROUPS_USED_MASK
77 #elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
78 #include <../src/nrf_802154_peripherals_nrf54l.h>
79 #define NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV NRF_802154_DPPI_CHANNELS_USED_MASK
80 #define NRFX_DPPI10_GROUPS_USED_BY_802154_DRV   NRF_802154_DPPI_GROUPS_USED_MASK
81 #elif defined(CONFIG_SOC_SERIES_NRF54HX)
82 #include <../src/nrf_802154_peripherals_nrf54h.h>
83 #define NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV NRF_802154_DPPI_CHANNELS_USED_MASK
84 #define NRFX_DPPI020_GROUPS_USED_BY_802154_DRV   NRF_802154_DPPI_GROUPS_USED_MASK
85 #else
86 #error Unsupported chip family
87 #endif
88 #endif /* CONFIG_NRF_802154_RADIO_DRIVER */
89 
90 #ifndef NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR
91 #define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR 0
92 #endif
93 #ifndef NRFX_DPPI0_GROUPS_USED_BY_BT_CTLR
94 #define NRFX_DPPI0_GROUPS_USED_BY_BT_CTLR 0
95 #endif
96 #ifndef NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV
97 #define NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV 0
98 #endif
99 #ifndef NRFX_DPPI0_GROUPS_USED_BY_802154_DRV
100 #define NRFX_DPPI0_GROUPS_USED_BY_802154_DRV 0
101 #endif
102 #ifndef NRFX_DPPI0_CHANNELS_USED_BY_MPSL
103 #define NRFX_DPPI0_CHANNELS_USED_BY_MPSL 0
104 #endif
105 #ifndef NRFX_DPPI0_GROUPS_USED_BY_MPSL
106 #define NRFX_DPPI0_GROUPS_USED_BY_MPSL 0
107 #endif
108 
109 #ifndef NRFX_DPPI00_CHANNELS_USED_BY_BT_CTLR
110 #define NRFX_DPPI00_CHANNELS_USED_BY_BT_CTLR 0
111 #endif
112 #ifndef NRFX_DPPI00_GROUPS_USED_BY_BT_CTLR
113 #define NRFX_DPPI00_GROUPS_USED_BY_BT_CTLR 0
114 #endif
115 #ifndef NRFX_DPPI00_CHANNELS_USED_BY_802154_DRV
116 #define NRFX_DPPI00_CHANNELS_USED_BY_802154_DRV 0
117 #endif
118 #ifndef NRFX_DPPI00_GROUPS_USED_BY_802154_DRV
119 #define NRFX_DPPI00_GROUPS_USED_BY_802154_DRV 0
120 #endif
121 #ifndef NRFX_DPPI00_CHANNELS_USED_BY_MPSL
122 #define NRFX_DPPI00_CHANNELS_USED_BY_MPSL 0
123 #endif
124 #ifndef NRFX_DPPI00_GROUPS_USED_BY_MPSL
125 #define NRFX_DPPI00_GROUPS_USED_BY_MPSL 0
126 #endif
127 
128 #ifndef NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR
129 #define NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR 0
130 #endif
131 #ifndef NRFX_DPPI10_GROUPS_USED_BY_BT_CTLR
132 #define NRFX_DPPI10_GROUPS_USED_BY_BT_CTLR 0
133 #endif
134 #ifndef NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV
135 #define NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV 0
136 #endif
137 #ifndef NRFX_DPPI10_GROUPS_USED_BY_802154_DRV
138 #define NRFX_DPPI10_GROUPS_USED_BY_802154_DRV 0
139 #endif
140 #ifndef NRFX_DPPI10_CHANNELS_USED_BY_MPSL
141 #define NRFX_DPPI10_CHANNELS_USED_BY_MPSL 0
142 #endif
143 #ifndef NRFX_DPPI10_GROUPS_USED_BY_MPSL
144 #define NRFX_DPPI10_GROUPS_USED_BY_MPSL 0
145 #endif
146 
147 #ifndef NRFX_DPPI20_CHANNELS_USED_BY_BT_CTLR
148 #define NRFX_DPPI20_CHANNELS_USED_BY_BT_CTLR 0
149 #endif
150 #ifndef NRFX_DPPI20_GROUPS_USED_BY_BT_CTLR
151 #define NRFX_DPPI20_GROUPS_USED_BY_BT_CTLR 0
152 #endif
153 #ifndef NRFX_DPPI20_CHANNELS_USED_BY_802154_DRV
154 #define NRFX_DPPI20_CHANNELS_USED_BY_802154_DRV 0
155 #endif
156 #ifndef NRFX_DPPI20_GROUPS_USED_BY_802154_DRV
157 #define NRFX_DPPI20_GROUPS_USED_BY_802154_DRV 0
158 #endif
159 #ifndef NRFX_DPPI20_CHANNELS_USED_BY_MPSL
160 #define NRFX_DPPI20_CHANNELS_USED_BY_MPSL 0
161 #endif
162 #ifndef NRFX_DPPI20_GROUPS_USED_BY_MPSL
163 #define NRFX_DPPI20_GROUPS_USED_BY_MPSL 0
164 #endif
165 
166 #ifndef NRFX_DPPI30_CHANNELS_USED_BY_BT_CTLR
167 #define NRFX_DPPI30_CHANNELS_USED_BY_BT_CTLR 0
168 #endif
169 #ifndef NRFX_DPPI30_GROUPS_USED_BY_BT_CTLR
170 #define NRFX_DPPI30_GROUPS_USED_BY_BT_CTLR 0
171 #endif
172 #ifndef NRFX_DPPI30_CHANNELS_USED_BY_802154_DRV
173 #define NRFX_DPPI30_CHANNELS_USED_BY_802154_DRV 0
174 #endif
175 #ifndef NRFX_DPPI30_GROUPS_USED_BY_802154_DRV
176 #define NRFX_DPPI30_GROUPS_USED_BY_802154_DRV 0
177 #endif
178 #ifndef NRFX_DPPI30_CHANNELS_USED_BY_MPSL
179 #define NRFX_DPPI30_CHANNELS_USED_BY_MPSL 0
180 #endif
181 #ifndef NRFX_DPPI30_GROUPS_USED_BY_MPSL
182 #define NRFX_DPPI30_GROUPS_USED_BY_MPSL 0
183 #endif
184 
185 #ifndef NRFX_DPPI020_CHANNELS_USED_BY_BT_CTLR
186 #define NRFX_DPPI020_CHANNELS_USED_BY_BT_CTLR 0
187 #endif
188 #ifndef NRFX_DPPI020_GROUPS_USED_BY_BT_CTLR
189 #define NRFX_DPPI020_GROUPS_USED_BY_BT_CTLR 0
190 #endif
191 #ifndef NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV
192 #define NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV 0
193 #endif
194 #ifndef NRFX_DPPI020_GROUPS_USED_BY_802154_DRV
195 #define NRFX_DPPI020_GROUPS_USED_BY_802154_DRV 0
196 #endif
197 #ifndef NRFX_DPPI020_CHANNELS_USED_BY_MPSL
198 #define NRFX_DPPI020_CHANNELS_USED_BY_MPSL 0
199 #endif
200 #ifndef NRFX_DPPI020_GROUPS_USED_BY_MPSL
201 #define NRFX_DPPI020_GROUPS_USED_BY_MPSL 0
202 #endif
203 
204 #ifndef NRFX_DPPI030_CHANNELS_USED_BY_BT_CTLR
205 #define NRFX_DPPI030_CHANNELS_USED_BY_BT_CTLR 0
206 #endif
207 #ifndef NRFX_DPPI030_GROUPS_USED_BY_BT_CTLR
208 #define NRFX_DPPI030_GROUPS_USED_BY_BT_CTLR 0
209 #endif
210 #ifndef NRFX_DPPI030_CHANNELS_USED_BY_802154_DRV
211 #define NRFX_DPPI030_CHANNELS_USED_BY_802154_DRV 0
212 #endif
213 #ifndef NRFX_DPPI030_GROUPS_USED_BY_802154_DRV
214 #define NRFX_DPPI030_GROUPS_USED_BY_802154_DRV 0
215 #endif
216 #ifndef NRFX_DPPI030_CHANNELS_USED_BY_MPSL
217 #define NRFX_DPPI030_CHANNELS_USED_BY_MPSL 0
218 #endif
219 #ifndef NRFX_DPPI030_GROUPS_USED_BY_MPSL
220 #define NRFX_DPPI030_GROUPS_USED_BY_MPSL 0
221 #endif
222 
223 #ifndef NRFX_DPPI120_CHANNELS_USED_BY_BT_CTLR
224 #define NRFX_DPPI120_CHANNELS_USED_BY_BT_CTLR 0
225 #endif
226 #ifndef NRFX_DPPI120_GROUPS_USED_BY_BT_CTLR
227 #define NRFX_DPPI120_GROUPS_USED_BY_BT_CTLR 0
228 #endif
229 #ifndef NRFX_DPPI120_CHANNELS_USED_BY_802154_DRV
230 #define NRFX_DPPI120_CHANNELS_USED_BY_802154_DRV 0
231 #endif
232 #ifndef NRFX_DPPI120_GROUPS_USED_BY_802154_DRV
233 #define NRFX_DPPI120_GROUPS_USED_BY_802154_DRV 0
234 #endif
235 #ifndef NRFX_DPPI120_CHANNELS_USED_BY_MPSL
236 #define NRFX_DPPI120_CHANNELS_USED_BY_MPSL 0
237 #endif
238 #ifndef NRFX_DPPI120_GROUPS_USED_BY_MPSL
239 #define NRFX_DPPI120_GROUPS_USED_BY_MPSL 0
240 #endif
241 
242 #ifndef NRFX_DPPI130_CHANNELS_USED_BY_BT_CTLR
243 #define NRFX_DPPI130_CHANNELS_USED_BY_BT_CTLR 0
244 #endif
245 #ifndef NRFX_DPPI130_GROUPS_USED_BY_BT_CTLR
246 #define NRFX_DPPI130_GROUPS_USED_BY_BT_CTLR 0
247 #endif
248 #ifndef NRFX_DPPI130_CHANNELS_USED_BY_802154_DRV
249 #define NRFX_DPPI130_CHANNELS_USED_BY_802154_DRV 0
250 #endif
251 #ifndef NRFX_DPPI130_GROUPS_USED_BY_802154_DRV
252 #define NRFX_DPPI130_GROUPS_USED_BY_802154_DRV 0
253 #endif
254 #ifndef NRFX_DPPI130_CHANNELS_USED_BY_MPSL
255 #define NRFX_DPPI130_CHANNELS_USED_BY_MPSL 0
256 #endif
257 #ifndef NRFX_DPPI130_GROUPS_USED_BY_MPSL
258 #define NRFX_DPPI130_GROUPS_USED_BY_MPSL 0
259 #endif
260 
261 #ifndef NRFX_DPPI131_CHANNELS_USED_BY_BT_CTLR
262 #define NRFX_DPPI131_CHANNELS_USED_BY_BT_CTLR 0
263 #endif
264 #ifndef NRFX_DPPI131_GROUPS_USED_BY_BT_CTLR
265 #define NRFX_DPPI131_GROUPS_USED_BY_BT_CTLR 0
266 #endif
267 #ifndef NRFX_DPPI131_CHANNELS_USED_BY_802154_DRV
268 #define NRFX_DPPI131_CHANNELS_USED_BY_802154_DRV 0
269 #endif
270 #ifndef NRFX_DPPI131_GROUPS_USED_BY_802154_DRV
271 #define NRFX_DPPI131_GROUPS_USED_BY_802154_DRV 0
272 #endif
273 #ifndef NRFX_DPPI131_CHANNELS_USED_BY_MPSL
274 #define NRFX_DPPI131_CHANNELS_USED_BY_MPSL 0
275 #endif
276 #ifndef NRFX_DPPI131_GROUPS_USED_BY_MPSL
277 #define NRFX_DPPI131_GROUPS_USED_BY_MPSL 0
278 #endif
279 
280 #ifndef NRFX_DPPI132_CHANNELS_USED_BY_BT_CTLR
281 #define NRFX_DPPI132_CHANNELS_USED_BY_BT_CTLR 0
282 #endif
283 #ifndef NRFX_DPPI132_GROUPS_USED_BY_BT_CTLR
284 #define NRFX_DPPI132_GROUPS_USED_BY_BT_CTLR 0
285 #endif
286 #ifndef NRFX_DPPI132_CHANNELS_USED_BY_802154_DRV
287 #define NRFX_DPPI132_CHANNELS_USED_BY_802154_DRV 0
288 #endif
289 #ifndef NRFX_DPPI132_GROUPS_USED_BY_802154_DRV
290 #define NRFX_DPPI132_GROUPS_USED_BY_802154_DRV 0
291 #endif
292 #ifndef NRFX_DPPI132_CHANNELS_USED_BY_MPSL
293 #define NRFX_DPPI132_CHANNELS_USED_BY_MPSL 0
294 #endif
295 #ifndef NRFX_DPPI132_GROUPS_USED_BY_MPSL
296 #define NRFX_DPPI132_GROUPS_USED_BY_MPSL 0
297 #endif
298 
299 #ifndef NRFX_DPPI133_CHANNELS_USED_BY_BT_CTLR
300 #define NRFX_DPPI133_CHANNELS_USED_BY_BT_CTLR 0
301 #endif
302 #ifndef NRFX_DPPI133_GROUPS_USED_BY_BT_CTLR
303 #define NRFX_DPPI133_GROUPS_USED_BY_BT_CTLR 0
304 #endif
305 #ifndef NRFX_DPPI133_CHANNELS_USED_BY_802154_DRV
306 #define NRFX_DPPI133_CHANNELS_USED_BY_802154_DRV 0
307 #endif
308 #ifndef NRFX_DPPI133_GROUPS_USED_BY_802154_DRV
309 #define NRFX_DPPI133_GROUPS_USED_BY_802154_DRV 0
310 #endif
311 #ifndef NRFX_DPPI133_CHANNELS_USED_BY_MPSL
312 #define NRFX_DPPI133_CHANNELS_USED_BY_MPSL 0
313 #endif
314 #ifndef NRFX_DPPI133_GROUPS_USED_BY_MPSL
315 #define NRFX_DPPI133_GROUPS_USED_BY_MPSL 0
316 #endif
317 
318 #ifndef NRFX_DPPI134_CHANNELS_USED_BY_BT_CTLR
319 #define NRFX_DPPI134_CHANNELS_USED_BY_BT_CTLR 0
320 #endif
321 #ifndef NRFX_DPPI134_GROUPS_USED_BY_BT_CTLR
322 #define NRFX_DPPI134_GROUPS_USED_BY_BT_CTLR 0
323 #endif
324 #ifndef NRFX_DPPI134_CHANNELS_USED_BY_802154_DRV
325 #define NRFX_DPPI134_CHANNELS_USED_BY_802154_DRV 0
326 #endif
327 #ifndef NRFX_DPPI134_GROUPS_USED_BY_802154_DRV
328 #define NRFX_DPPI134_GROUPS_USED_BY_802154_DRV 0
329 #endif
330 #ifndef NRFX_DPPI134_CHANNELS_USED_BY_MPSL
331 #define NRFX_DPPI134_CHANNELS_USED_BY_MPSL 0
332 #endif
333 #ifndef NRFX_DPPI134_GROUPS_USED_BY_MPSL
334 #define NRFX_DPPI134_GROUPS_USED_BY_MPSL 0
335 #endif
336 
337 #ifndef NRFX_DPPI135_CHANNELS_USED_BY_BT_CTLR
338 #define NRFX_DPPI135_CHANNELS_USED_BY_BT_CTLR 0
339 #endif
340 #ifndef NRFX_DPPI135_GROUPS_USED_BY_BT_CTLR
341 #define NRFX_DPPI135_GROUPS_USED_BY_BT_CTLR 0
342 #endif
343 #ifndef NRFX_DPPI135_CHANNELS_USED_BY_802154_DRV
344 #define NRFX_DPPI135_CHANNELS_USED_BY_802154_DRV 0
345 #endif
346 #ifndef NRFX_DPPI135_GROUPS_USED_BY_802154_DRV
347 #define NRFX_DPPI135_GROUPS_USED_BY_802154_DRV 0
348 #endif
349 #ifndef NRFX_DPPI135_CHANNELS_USED_BY_MPSL
350 #define NRFX_DPPI135_CHANNELS_USED_BY_MPSL 0
351 #endif
352 #ifndef NRFX_DPPI135_GROUPS_USED_BY_MPSL
353 #define NRFX_DPPI135_GROUPS_USED_BY_MPSL 0
354 #endif
355 
356 #ifndef NRFX_DPPI136_CHANNELS_USED_BY_BT_CTLR
357 #define NRFX_DPPI136_CHANNELS_USED_BY_BT_CTLR 0
358 #endif
359 #ifndef NRFX_DPPI136_GROUPS_USED_BY_BT_CTLR
360 #define NRFX_DPPI136_GROUPS_USED_BY_BT_CTLR 0
361 #endif
362 #ifndef NRFX_DPPI136_CHANNELS_USED_BY_802154_DRV
363 #define NRFX_DPPI136_CHANNELS_USED_BY_802154_DRV 0
364 #endif
365 #ifndef NRFX_DPPI136_GROUPS_USED_BY_802154_DRV
366 #define NRFX_DPPI136_GROUPS_USED_BY_802154_DRV 0
367 #endif
368 #ifndef NRFX_DPPI136_CHANNELS_USED_BY_MPSL
369 #define NRFX_DPPI136_CHANNELS_USED_BY_MPSL 0
370 #endif
371 #ifndef NRFX_DPPI136_GROUPS_USED_BY_MPSL
372 #define NRFX_DPPI136_GROUPS_USED_BY_MPSL 0
373 #endif
374 
375 #ifndef NRFX_PPI_CHANNELS_USED_BY_BT_CTLR
376 #define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR 0
377 #endif
378 #ifndef NRFX_PPI_GROUPS_USED_BY_BT_CTLR
379 #define NRFX_PPI_GROUPS_USED_BY_BT_CTLR 0
380 #endif
381 
382 #ifndef NRFX_PPI_CHANNELS_USED_BY_802154_DRV
383 #define NRFX_PPI_CHANNELS_USED_BY_802154_DRV 0
384 #endif
385 #ifndef NRFX_PPI_GROUPS_USED_BY_802154_DRV
386 #define NRFX_PPI_GROUPS_USED_BY_802154_DRV 0
387 #endif
388 
389 #ifndef NRFX_PPI_CHANNELS_USED_BY_MPSL
390 #define NRFX_PPI_CHANNELS_USED_BY_MPSL 0
391 #endif
392 #ifndef NRFX_PPI_GROUPS_USED_BY_MPSL
393 #define NRFX_PPI_GROUPS_USED_BY_MPSL 0
394 #endif
395 
396 #ifndef NRFX_PPIB_00_10_CHANNELS_USED_BY_BT_CTLR
397 #define NRFX_PPIB_00_10_CHANNELS_USED_BY_BT_CTLR 0
398 #endif
399 #ifndef NRFX_PPIB_00_10_CHANNELS_USED_BY_802154_DRV
400 #define NRFX_PPIB_00_10_CHANNELS_USED_BY_802154_DRV 0
401 #endif
402 #ifndef NRFX_PPIB_00_10_CHANNELS_USED_BY_MPSL
403 #define NRFX_PPIB_00_10_CHANNELS_USED_BY_MPSL 0
404 #endif
405 
406 #ifndef NRFX_PPIB_01_20_CHANNELS_USED_BY_BT_CTLR
407 #define NRFX_PPIB_01_20_CHANNELS_USED_BY_BT_CTLR 0
408 #endif
409 #ifndef NRFX_PPIB_01_20_CHANNELS_USED_BY_802154_DRV
410 #define NRFX_PPIB_01_20_CHANNELS_USED_BY_802154_DRV 0
411 #endif
412 #ifndef NRFX_PPIB_01_20_CHANNELS_USED_BY_MPSL
413 #define NRFX_PPIB_01_20_CHANNELS_USED_BY_MPSL 0
414 #endif
415 
416 #ifndef NRFX_PPIB_11_21_CHANNELS_USED_BY_BT_CTLR
417 #define NRFX_PPIB_11_21_CHANNELS_USED_BY_BT_CTLR 0
418 #endif
419 #ifndef NRFX_PPIB_11_21_CHANNELS_USED_BY_802154_DRV
420 #define NRFX_PPIB_11_21_CHANNELS_USED_BY_802154_DRV 0
421 #endif
422 #ifndef NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL
423 #define NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL 0
424 #endif
425 
426 #ifndef NRFX_PPIB_22_30_CHANNELS_USED_BY_BT_CTLR
427 #define NRFX_PPIB_22_30_CHANNELS_USED_BY_BT_CTLR 0
428 #endif
429 #ifndef NRFX_PPIB_22_30_CHANNELS_USED_BY_802154_DRV
430 #define NRFX_PPIB_22_30_CHANNELS_USED_BY_802154_DRV 0
431 #endif
432 #ifndef NRFX_PPIB_22_30_CHANNELS_USED_BY_MPSL
433 #define NRFX_PPIB_22_30_CHANNELS_USED_BY_MPSL 0
434 #endif
435 
436 #ifndef NRFX_PPIB_02_03_CHANNELS_USED_BY_BT_CTLR
437 #define NRFX_PPIB_02_03_CHANNELS_USED_BY_BT_CTLR 0
438 #endif
439 #ifndef NRFX_PPIB_02_03_CHANNELS_USED_BY_802154_DRV
440 #define NRFX_PPIB_02_03_CHANNELS_USED_BY_802154_DRV 0
441 #endif
442 #ifndef NRFX_PPIB_02_03_CHANNELS_USED_BY_MPSL
443 #define NRFX_PPIB_02_03_CHANNELS_USED_BY_MPSL 0
444 #endif
445 
446 #ifndef NRFX_PPIB_04_12_CHANNELS_USED_BY_BT_CTLR
447 #define NRFX_PPIB_04_12_CHANNELS_USED_BY_BT_CTLR 0
448 #endif
449 #ifndef NRFX_PPIB_04_12_CHANNELS_USED_BY_802154_DRV
450 #define NRFX_PPIB_04_12_CHANNELS_USED_BY_802154_DRV 0
451 #endif
452 #ifndef NRFX_PPIB_04_12_CHANNELS_USED_BY_MPSL
453 #define NRFX_PPIB_04_12_CHANNELS_USED_BY_MPSL 0
454 #endif
455 
456 #ifndef NRFX_PPIB_020_030_CHANNELS_USED_BY_BT_CTLR
457 #define NRFX_PPIB_020_030_CHANNELS_USED_BY_BT_CTLR 0
458 #endif
459 #ifndef NRFX_PPIB_020_030_CHANNELS_USED_BY_802154_DRV
460 #define NRFX_PPIB_020_030_CHANNELS_USED_BY_802154_DRV 0
461 #endif
462 #ifndef NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL
463 #define NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL 0
464 #endif
465 
466 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
467  *         of the nrfx library.
468  */
469 #define NRFX_DPPI0_CHANNELS_USED                                                                   \
470 	(NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV |            \
471 	 NRFX_DPPI0_CHANNELS_USED_BY_MPSL)
472 
473 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
474  *         of the nrfx library.
475  */
476 #define NRFX_DPPI0_GROUPS_USED                                                                     \
477 	(NRFX_DPPI0_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI0_GROUPS_USED_BY_802154_DRV |                \
478 	 NRFX_DPPI0_GROUPS_USED_BY_MPSL)
479 
480 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
481  *         of the nrfx library.
482  */
483 #define NRFX_DPPI00_CHANNELS_USED                                                                  \
484 	(NRFX_DPPI00_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI00_CHANNELS_USED_BY_802154_DRV |          \
485 	 NRFX_DPPI00_CHANNELS_USED_BY_MPSL)
486 
487 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
488  *         of the nrfx library.
489  */
490 #define NRFX_DPPI00_GROUPS_USED                                                                    \
491 	(NRFX_DPPI00_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI00_GROUPS_USED_BY_802154_DRV |              \
492 	 NRFX_DPPI00_GROUPS_USED_BY_MPSL)
493 
494 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
495  *         of the nrfx library.
496  */
497 #define NRFX_DPPI10_CHANNELS_USED                                                                  \
498 	(NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV |          \
499 	 NRFX_DPPI10_CHANNELS_USED_BY_MPSL)
500 
501 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
502  *         of the nrfx library.
503  */
504 #define NRFX_DPPI10_GROUPS_USED                                                                    \
505 	(NRFX_DPPI10_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI10_GROUPS_USED_BY_802154_DRV |              \
506 	 NRFX_DPPI10_GROUPS_USED_BY_MPSL)
507 
508 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
509  *         of the nrfx library.
510  */
511 #define NRFX_DPPI20_CHANNELS_USED                                                                  \
512 	(NRFX_DPPI20_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI20_CHANNELS_USED_BY_802154_DRV |          \
513 	 NRFX_DPPI20_CHANNELS_USED_BY_MPSL)
514 
515 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
516  *         of the nrfx library.
517  */
518 #define NRFX_DPPI20_GROUPS_USED                                                                    \
519 	(NRFX_DPPI20_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI20_GROUPS_USED_BY_802154_DRV |              \
520 	 NRFX_DPPI20_GROUPS_USED_BY_MPSL)
521 
522 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
523  *         of the nrfx library.
524  */
525 #define NRFX_DPPI30_CHANNELS_USED                                                                  \
526 	(NRFX_DPPI30_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI30_CHANNELS_USED_BY_802154_DRV |          \
527 	 NRFX_DPPI30_CHANNELS_USED_BY_MPSL)
528 
529 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
530  *         of the nrfx library.
531  */
532 #define NRFX_DPPI30_GROUPS_USED                                                                    \
533 	(NRFX_DPPI30_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI30_GROUPS_USED_BY_802154_DRV |              \
534 	 NRFX_DPPI30_GROUPS_USED_BY_MPSL)
535 
536 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
537  *         of the nrfx library.
538  */
539 #define NRFX_DPPI020_CHANNELS_USED                                                                 \
540 	(NRFX_DPPI020_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV |        \
541 	 NRFX_DPPI020_CHANNELS_USED_BY_MPSL)
542 
543 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
544  *         of the nrfx library.
545  */
546 #define NRFX_DPPI020_GROUPS_USED                                                                   \
547 	(NRFX_DPPI020_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI020_GROUPS_USED_BY_802154_DRV |            \
548 	 NRFX_DPPI020_GROUPS_USED_BY_MPSL)
549 
550 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
551  *         of the nrfx library.
552  */
553 #define NRFX_DPPI030_CHANNELS_USED                                                                 \
554 	(NRFX_DPPI030_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI030_CHANNELS_USED_BY_802154_DRV |        \
555 	 NRFX_DPPI030_CHANNELS_USED_BY_MPSL)
556 
557 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
558  *         of the nrfx library.
559  */
560 #define NRFX_DPPI030_GROUPS_USED                                                                   \
561 	(NRFX_DPPI030_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI030_GROUPS_USED_BY_802154_DRV |            \
562 	 NRFX_DPPI030_GROUPS_USED_BY_MPSL)
563 
564 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
565  *         of the nrfx library.
566  */
567 #define NRFX_DPPI120_CHANNELS_USED                                                                 \
568 	(NRFX_DPPI120_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI120_CHANNELS_USED_BY_802154_DRV |        \
569 	 NRFX_DPPI120_CHANNELS_USED_BY_MPSL)
570 
571 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
572  *         of the nrfx library.
573  */
574 #define NRFX_DPPI120_GROUPS_USED                                                                   \
575 	(NRFX_DPPI120_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI120_GROUPS_USED_BY_802154_DRV |            \
576 	 NRFX_DPPI120_GROUPS_USED_BY_MPSL)
577 
578 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
579  *         of the nrfx library.
580  */
581 #define NRFX_DPPI130_CHANNELS_USED                                                                 \
582 	(NRFX_DPPI130_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI130_CHANNELS_USED_BY_802154_DRV |        \
583 	 NRFX_DPPI130_CHANNELS_USED_BY_MPSL)
584 
585 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
586  *         of the nrfx library.
587  */
588 #define NRFX_DPPI130_GROUPS_USED                                                                   \
589 	(NRFX_DPPI130_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI130_GROUPS_USED_BY_802154_DRV |            \
590 	 NRFX_DPPI130_GROUPS_USED_BY_MPSL)
591 
592 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
593  *         of the nrfx library.
594  */
595 #define NRFX_DPPI131_CHANNELS_USED                                                                 \
596 	(NRFX_DPPI131_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI131_CHANNELS_USED_BY_802154_DRV |        \
597 	 NRFX_DPPI131_CHANNELS_USED_BY_MPSL)
598 
599 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
600  *         of the nrfx library.
601  */
602 #define NRFX_DPPI131_GROUPS_USED                                                                   \
603 	(NRFX_DPPI131_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI131_GROUPS_USED_BY_802154_DRV |            \
604 	 NRFX_DPPI131_GROUPS_USED_BY_MPSL)
605 
606 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
607  *         of the nrfx library.
608  */
609 #define NRFX_DPPI132_CHANNELS_USED                                                                 \
610 	(NRFX_DPPI132_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI132_CHANNELS_USED_BY_802154_DRV |        \
611 	 NRFX_DPPI132_CHANNELS_USED_BY_MPSL)
612 
613 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
614  *         of the nrfx library.
615  */
616 #define NRFX_DPPI132_GROUPS_USED                                                                   \
617 	(NRFX_DPPI132_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI132_GROUPS_USED_BY_802154_DRV |            \
618 	 NRFX_DPPI132_GROUPS_USED_BY_MPSL)
619 
620 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
621  *         of the nrfx library.
622  */
623 #define NRFX_DPPI133_CHANNELS_USED                                                                 \
624 	(NRFX_DPPI133_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI133_CHANNELS_USED_BY_802154_DRV |        \
625 	 NRFX_DPPI133_CHANNELS_USED_BY_MPSL)
626 
627 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
628  *         of the nrfx library.
629  */
630 #define NRFX_DPPI133_GROUPS_USED                                                                   \
631 	(NRFX_DPPI133_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI133_GROUPS_USED_BY_802154_DRV |            \
632 	 NRFX_DPPI133_GROUPS_USED_BY_MPSL)
633 
634 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
635  *         of the nrfx library.
636  */
637 #define NRFX_DPPI134_CHANNELS_USED                                                                 \
638 	(NRFX_DPPI134_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI134_CHANNELS_USED_BY_802154_DRV |        \
639 	 NRFX_DPPI134_CHANNELS_USED_BY_MPSL)
640 
641 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
642  *         of the nrfx library.
643  */
644 #define NRFX_DPPI134_GROUPS_USED                                                                   \
645 	(NRFX_DPPI134_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI134_GROUPS_USED_BY_802154_DRV |            \
646 	 NRFX_DPPI134_GROUPS_USED_BY_MPSL)
647 
648 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
649  *         of the nrfx library.
650  */
651 #define NRFX_DPPI135_CHANNELS_USED                                                                 \
652 	(NRFX_DPPI135_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI135_CHANNELS_USED_BY_802154_DRV |        \
653 	 NRFX_DPPI135_CHANNELS_USED_BY_MPSL)
654 
655 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
656  *         of the nrfx library.
657  */
658 #define NRFX_DPPI135_GROUPS_USED                                                                   \
659 	(NRFX_DPPI135_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI135_GROUPS_USED_BY_802154_DRV |            \
660 	 NRFX_DPPI135_GROUPS_USED_BY_MPSL)
661 
662 /** @brief Bitmask that defines DPPI channels that are reserved for use outside
663  *         of the nrfx library.
664  */
665 #define NRFX_DPPI136_CHANNELS_USED                                                                 \
666 	(NRFX_DPPI136_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI136_CHANNELS_USED_BY_802154_DRV |        \
667 	 NRFX_DPPI136_CHANNELS_USED_BY_MPSL)
668 
669 /** @brief Bitmask that defines DPPI groups that are reserved for use outside
670  *         of the nrfx library.
671  */
672 #define NRFX_DPPI136_GROUPS_USED                                                                   \
673 	(NRFX_DPPI136_GROUPS_USED_BY_BT_CTLR | NRFX_DPPI136_GROUPS_USED_BY_802154_DRV |            \
674 	 NRFX_DPPI136_GROUPS_USED_BY_MPSL)
675 
676 /** @brief Bitmask that defines PPI channels that are reserved for use outside
677  *         of the nrfx library.
678  */
679 #define NRFX_PPI_CHANNELS_USED                                                                     \
680 	(NRFX_PPI_CHANNELS_USED_BY_BT_CTLR | NRFX_PPI_CHANNELS_USED_BY_802154_DRV |                \
681 	 NRFX_PPI_CHANNELS_USED_BY_MPSL)
682 
683 #define NRFX_DPPI_CHANNELS_USED NRFX_DPPI0_CHANNELS_USED
684 #define NRFX_DPPI_GROUPS_USED   NRFX_DPPI0_GROUPS_USED
685 
686 /** @brief Bitmask that defines PPI groups that are reserved for use outside
687  *         of the nrfx library.
688  */
689 #define NRFX_PPI_GROUPS_USED                                                                       \
690 	(NRFX_PPI_GROUPS_USED_BY_BT_CTLR | NRFX_PPI_GROUPS_USED_BY_802154_DRV |                    \
691 	 NRFX_PPI_GROUPS_USED_BY_MPSL)
692 
693 #define NRFX_PPIB_INTERCONNECT_00_10_CHANNELS_USED                                                 \
694 	(NRFX_PPIB_00_10_CHANNELS_USED_BY_BT_CTLR | NRFX_PPIB_00_10_CHANNELS_USED_BY_802154_DRV |  \
695 	 NRFX_PPIB_00_10_CHANNELS_USED_BY_MPSL)
696 
697 #define NRFX_PPIB_INTERCONNECT_01_20_CHANNELS_USED                                                 \
698 	(NRFX_PPIB_01_20_CHANNELS_USED_BY_BT_CTLR | NRFX_PPIB_01_20_CHANNELS_USED_BY_802154_DRV |  \
699 	 NRFX_PPIB_01_20_CHANNELS_USED_BY_MPSL)
700 
701 #define NRFX_PPIB_INTERCONNECT_11_21_CHANNELS_USED                                                 \
702 	(NRFX_PPIB_11_21_CHANNELS_USED_BY_BT_CTLR | NRFX_PPIB_11_21_CHANNELS_USED_BY_802154_DRV |  \
703 	 NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL)
704 
705 #define NRFX_PPIB_INTERCONNECT_22_30_CHANNELS_USED                                                 \
706 	(NRFX_PPIB_22_30_CHANNELS_USED_BY_BT_CTLR | NRFX_PPIB_22_30_CHANNELS_USED_BY_802154_DRV |  \
707 	 NRFX_PPIB_22_30_CHANNELS_USED_BY_MPSL)
708 
709 #define NRFX_PPIB_INTERCONNECT_02_03_CHANNELS_USED                                                 \
710 	(NRFX_PPIB_02_03_CHANNELS_USED_BY_BT_CTLR | NRFX_PPIB_02_03_CHANNELS_USED_BY_802154_DRV |  \
711 	 NRFX_PPIB_02_03_CHANNELS_USED_BY_MPSL)
712 
713 #define NRFX_PPIB_INTERCONNECT_04_12_CHANNELS_USED                                                 \
714 	(NRFX_PPIB_04_12_CHANNELS_USED_BY_BT_CTLR | NRFX_PPIB_04_12_CHANNELS_USED_BY_802154_DRV |  \
715 	 NRFX_PPIB_04_12_CHANNELS_USED_BY_MPSL)
716 
717 #define NRFX_PPIB_INTERCONNECT_020_030_CHANNELS_USED                                               \
718 	(NRFX_PPIB_020_030_CHANNELS_USED_BY_BT_CTLR |                                              \
719 	 NRFX_PPIB_020_030_CHANNELS_USED_BY_802154_DRV | NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL)
720 
721 #endif /* NRFX_RESERVED_RESOURCES_H__ */
722