1# Copyright (c) 2016 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4config HAS_NRFX
5	bool
6
7menu "nrfx drivers"
8	depends on HAS_NRFX
9
10rsource "Kconfig.logging"
11
12config NRFX_ADC
13	bool "ADC driver"
14	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_ADC))
15
16config NRFX_CLOCK
17	bool "CLOCK driver"
18	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_CLOCK))
19
20config NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED
21	bool "Two stage start sequence of the low frequency clock"
22	depends on NRFX_CLOCK
23
24config NRFX_COMP
25	bool "COMP driver"
26	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_COMP))
27
28config NRFX_DPPI
29	bool "DPPI allocator"
30	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_DPPIC))
31
32config NRFX_EGU
33	bool
34
35config NRFX_EGU0
36	bool "EGU0 driver instance"
37	depends on $(dt_nodelabel_has_compat,egu0,$(DT_COMPAT_NORDIC_NRF_EGU))
38	select NRFX_EGU
39
40config NRFX_EGU1
41	bool "EGU1 driver instance"
42	depends on $(dt_nodelabel_has_compat,egu1,$(DT_COMPAT_NORDIC_NRF_EGU))
43	select NRFX_EGU
44
45config NRFX_EGU2
46	bool "EGU2 driver instance"
47	depends on $(dt_nodelabel_has_compat,egu2,$(DT_COMPAT_NORDIC_NRF_EGU))
48	select NRFX_EGU
49
50config NRFX_EGU3
51	bool "EGU3 driver instance"
52	depends on $(dt_nodelabel_has_compat,egu3,$(DT_COMPAT_NORDIC_NRF_EGU))
53	select NRFX_EGU
54
55config NRFX_EGU4
56	bool "EGU4 driver instance"
57	depends on $(dt_nodelabel_has_compat,egu4,$(DT_COMPAT_NORDIC_NRF_EGU))
58	select NRFX_EGU
59
60config NRFX_EGU5
61	bool "EGU5 driver instance"
62	depends on $(dt_nodelabel_has_compat,egu5,$(DT_COMPAT_NORDIC_NRF_EGU))
63	select NRFX_EGU
64
65config NRFX_GPIOTE
66	bool "GPIOTE driver"
67	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
68
69config NRFX_GPIOTE_NUM_OF_EVT_HANDLERS
70	int "Number of event handlers"
71	depends on NRFX_GPIOTE
72	range 1 15
73	help
74	  Specifies number of handlers that can be registered to nrfx_gpiote driver
75	  by the user.
76
77config NRFX_I2S
78	bool
79
80config NRFX_I2S0
81	bool "I2S0 driver instance"
82	depends on $(dt_nodelabel_has_compat,i2s0,$(DT_COMPAT_NORDIC_NRF_I2S))
83	select NRFX_I2S
84
85config NRFX_IPC
86	bool "IPC driver"
87	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_IPC))
88
89config NRFX_LPCOMP
90	bool "LPCOMP driver"
91	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_LPCOMP))
92
93config NRFX_NFCT
94	bool "NFCT driver"
95	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_NFCT))
96	select NRFX_TIMER4 if SOC_SERIES_NRF52X
97	select NRFX_TIMER2 if SOC_SERIES_NRF53X
98
99config NRFX_NVMC
100	bool "NVMC driver"
101	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF51_FLASH_CONTROLLER)) \
102		|| $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF52_FLASH_CONTROLLER)) \
103		|| $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF53_FLASH_CONTROLLER)) \
104		|| $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF91_FLASH_CONTROLLER))
105
106config NRFX_PDM
107	bool "PDM driver"
108	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_PDM))
109
110config NRFX_POWER
111	bool "POWER driver"
112	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_POWER))
113	# On SoCs featuring the USBREG peripheral, the POWER driver uses
114	# internally the USBREG driver.
115	select NRFX_USBREG if $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_USBREG))
116
117config NRFX_PPI
118	bool "PPI allocator"
119	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_PPI))
120
121config NRFX_PWM
122	bool
123
124config NRFX_PWM0
125	bool "PWM0 driver instance"
126	depends on $(dt_nodelabel_has_compat,pwm0,$(DT_COMPAT_NORDIC_NRF_PWM))
127	select NRFX_PWM
128
129config NRFX_PWM1
130	bool "PWM1 driver instance"
131	depends on $(dt_nodelabel_has_compat,pwm1,$(DT_COMPAT_NORDIC_NRF_PWM))
132	select NRFX_PWM
133
134config NRFX_PWM2
135	bool "PWM2 driver instance"
136	depends on $(dt_nodelabel_has_compat,pwm2,$(DT_COMPAT_NORDIC_NRF_PWM))
137	select NRFX_PWM
138
139config NRFX_PWM3
140	bool "PWM3 driver instance"
141	depends on $(dt_nodelabel_has_compat,pwm3,$(DT_COMPAT_NORDIC_NRF_PWM))
142	select NRFX_PWM
143
144config NRFX_QDEC
145	bool
146
147config NRFX_QDEC0
148	bool "QDEC0 driver instance"
149	depends on $(dt_nodelabel_has_compat,qdec0,$(DT_COMPAT_NORDIC_NRF_QDEC))
150	select NRFX_QDEC
151
152config NRFX_QDEC1
153	bool "QDEC1 driver instance"
154	depends on $(dt_nodelabel_has_compat,qdec1,$(DT_COMPAT_NORDIC_NRF_QDEC))
155	select NRFX_QDEC
156
157config NRFX_QSPI
158	bool "QSPI driver"
159	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_QSPI))
160
161config NRFX_RNG
162	bool "RNG driver"
163	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_RNG))
164
165config NRFX_RTC
166	bool
167
168config NRFX_RTC0
169	bool "RTC0 driver instance"
170	depends on $(dt_nodelabel_has_compat,rtc0,$(DT_COMPAT_NORDIC_NRF_RTC))
171	select NRFX_RTC
172
173config NRFX_RTC1
174	bool "RTC1 driver instance"
175	depends on $(dt_nodelabel_has_compat,rtc1,$(DT_COMPAT_NORDIC_NRF_RTC))
176	select NRFX_RTC
177
178config NRFX_RTC2
179	bool "RTC2 driver instance"
180	depends on $(dt_nodelabel_has_compat,rtc2,$(DT_COMPAT_NORDIC_NRF_RTC))
181	select NRFX_RTC
182
183config NRFX_SAADC
184	bool "SAADC driver"
185	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_SAADC))
186
187config NRFX_SPI
188	bool
189
190config NRFX_SPI0
191	bool "SPI0 driver instance"
192	depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPI))
193	select NRFX_SPI
194
195config NRFX_SPI1
196	bool "SPI1 driver instance"
197	depends on $(dt_nodelabel_has_compat,spi1,$(DT_COMPAT_NORDIC_NRF_SPI))
198	select NRFX_SPI
199
200config NRFX_SPI2
201	bool "SPI2 driver instance"
202	depends on $(dt_nodelabel_has_compat,spi2,$(DT_COMPAT_NORDIC_NRF_SPI))
203	select NRFX_SPI
204
205config NRFX_SPIM
206	bool
207
208config NRFX_SPIM0
209	bool "SPIM0 driver instance"
210	depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIM))
211	select NRFX_SPIM
212
213config NRFX_SPIM1
214	bool "SPIM1 driver instance"
215	depends on $(dt_nodelabel_has_compat,spi1,$(DT_COMPAT_NORDIC_NRF_SPIM))
216	select NRFX_SPIM
217
218config NRFX_SPIM2
219	bool "SPIM2 driver instance"
220	depends on $(dt_nodelabel_has_compat,spi2,$(DT_COMPAT_NORDIC_NRF_SPIM))
221	select NRFX_SPIM
222
223config NRFX_SPIM3
224	bool "SPIM3 driver instance"
225	depends on $(dt_nodelabel_has_compat,spi3,$(DT_COMPAT_NORDIC_NRF_SPIM))
226	select NRFX_SPIM
227
228config NRFX_SPIM4
229	bool "SPIM4 driver instance"
230	depends on $(dt_nodelabel_has_compat,spi4,$(DT_COMPAT_NORDIC_NRF_SPIM))
231	select NRFX_SPIM
232
233config NRFX_SPIS
234	bool
235
236config NRFX_SPIS0
237	bool "SPIS0 driver instance"
238	depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIS))
239	select NRFX_SPIS
240
241config NRFX_SPIS1
242	bool "SPIS1 driver instance"
243	depends on $(dt_nodelabel_has_compat,spi1,$(DT_COMPAT_NORDIC_NRF_SPIS))
244	select NRFX_SPIS
245
246config NRFX_SPIS2
247	bool "SPIS2 driver instance"
248	depends on $(dt_nodelabel_has_compat,spi2,$(DT_COMPAT_NORDIC_NRF_SPIS))
249	select NRFX_SPIS
250
251config NRFX_SPIS3
252	bool "SPIS3 driver instance"
253	depends on $(dt_nodelabel_has_compat,spi3,$(DT_COMPAT_NORDIC_NRF_SPIS))
254	select NRFX_SPIS
255
256config NRFX_SYSTICK
257	bool "SYSTICK driver"
258	depends on CPU_CORTEX_M_HAS_SYSTICK
259
260config NRFX_TEMP
261	bool "TEMP driver"
262	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_TEMP))
263
264config NRFX_TIMER
265	bool
266
267config NRFX_TIMER0
268	bool "TIMER0 driver instance"
269	depends on $(dt_nodelabel_has_compat,timer0,$(DT_COMPAT_NORDIC_NRF_TIMER))
270	select NRFX_TIMER
271
272config NRFX_TIMER1
273	bool "TIMER1 driver instance"
274	depends on $(dt_nodelabel_has_compat,timer1,$(DT_COMPAT_NORDIC_NRF_TIMER))
275	select NRFX_TIMER
276
277config NRFX_TIMER2
278	bool "TIMER2 driver instance"
279	depends on $(dt_nodelabel_has_compat,timer2,$(DT_COMPAT_NORDIC_NRF_TIMER))
280	select NRFX_TIMER
281
282config NRFX_TIMER3
283	bool "TIMER3 driver instance"
284	depends on $(dt_nodelabel_has_compat,timer3,$(DT_COMPAT_NORDIC_NRF_TIMER))
285	select NRFX_TIMER
286
287config NRFX_TIMER4
288	bool "TIMER4 driver instance"
289	depends on $(dt_nodelabel_has_compat,timer4,$(DT_COMPAT_NORDIC_NRF_TIMER))
290	select NRFX_TIMER
291
292config NRFX_TWI
293	bool
294
295config NRFX_TWI0
296	bool "TWI0 driver instance"
297	depends on $(dt_nodelabel_has_compat,i2c0,$(DT_COMPAT_NORDIC_NRF_TWI))
298	select NRFX_TWI
299
300config NRFX_TWI1
301	bool "TWI1 driver instance"
302	depends on $(dt_nodelabel_has_compat,i2c1,$(DT_COMPAT_NORDIC_NRF_TWI))
303	select NRFX_TWI
304
305config NRFX_TWIM
306	bool
307
308config NRFX_TWIM0
309	bool "TWIM0 driver instance"
310	depends on $(dt_nodelabel_has_compat,i2c0,$(DT_COMPAT_NORDIC_NRF_TWIM))
311	select NRFX_TWIM
312
313config NRFX_TWIM1
314	bool "TWIM1 driver instance"
315	depends on $(dt_nodelabel_has_compat,i2c1,$(DT_COMPAT_NORDIC_NRF_TWIM))
316	select NRFX_TWIM
317
318config NRFX_TWIM2
319	bool "TWIM2 driver instance"
320	depends on $(dt_nodelabel_has_compat,i2c2,$(DT_COMPAT_NORDIC_NRF_TWIM))
321	select NRFX_TWIM
322
323config NRFX_TWIM3
324	bool "TWIM3 driver instance"
325	depends on $(dt_nodelabel_has_compat,i2c3,$(DT_COMPAT_NORDIC_NRF_TWIM))
326	select NRFX_TWIM
327
328config NRFX_TWIS
329	bool
330
331config NRFX_TWIS0
332	bool "TWIS0 driver instance"
333	depends on $(dt_nodelabel_has_compat,i2c0,$(DT_COMPAT_NORDIC_NRF_TWIS))
334	select NRFX_TWIS
335
336config NRFX_TWIS1
337	bool "TWIS1 driver instance"
338	depends on $(dt_nodelabel_has_compat,i2c1,$(DT_COMPAT_NORDIC_NRF_TWIS))
339	select NRFX_TWIS
340
341config NRFX_TWIS2
342	bool "TWIS2 driver instance"
343	depends on $(dt_nodelabel_has_compat,i2c2,$(DT_COMPAT_NORDIC_NRF_TWIS))
344	select NRFX_TWIS
345
346config NRFX_TWIS3
347	bool "TWIS3 driver instance"
348	depends on $(dt_nodelabel_has_compat,i2c3,$(DT_COMPAT_NORDIC_NRF_TWIS))
349	select NRFX_TWIS
350
351config NRFX_UART
352	bool
353
354config NRFX_UART0
355	bool "UART0 driver instance"
356	depends on $(dt_nodelabel_has_compat,uart0,$(DT_COMPAT_NORDIC_NRF_UART))
357	select NRFX_UART
358
359config NRFX_UARTE
360	bool
361
362config NRFX_UARTE0
363	bool "UARTE0 driver instance"
364	depends on $(dt_nodelabel_has_compat,uart0,$(DT_COMPAT_NORDIC_NRF_UARTE))
365	select NRFX_UARTE
366
367config NRFX_UARTE1
368	bool "UARTE1 driver instance"
369	depends on $(dt_nodelabel_has_compat,uart1,$(DT_COMPAT_NORDIC_NRF_UARTE))
370	select NRFX_UARTE
371
372config NRFX_UARTE2
373	bool "UARTE2 driver instance"
374	depends on $(dt_nodelabel_has_compat,uart2,$(DT_COMPAT_NORDIC_NRF_UARTE))
375	select NRFX_UARTE
376
377config NRFX_UARTE3
378	bool "UARTE3 driver instance"
379	depends on $(dt_nodelabel_has_compat,uart3,$(DT_COMPAT_NORDIC_NRF_UARTE))
380	select NRFX_UARTE
381
382config NRFX_USBD
383	bool "USBD driver"
384	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_USBD))
385
386config NRFX_USBD_ISO_IN_ZLP
387	bool "Send ZLP on ISO IN when not ready"
388	depends on NRFX_USBD
389	default y
390	help
391	  Controls the response of the ISO IN endpoint to an IN token when no
392	  data is ready to be sent. When enabled, ZLP is sent when no data is
393	  ready. When disabled, no response is sent (bus timeout occurs).
394
395config NRFX_USBREG
396	bool "USBREG driver"
397	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_USBREG))
398
399config NRFX_WDT
400	bool
401
402config NRFX_WDT0
403	bool "WDT0 driver instance"
404	depends on $(dt_nodelabel_has_compat,wdt0,$(DT_COMPAT_NORDIC_NRF_WDT))
405	select NRFX_WDT
406
407config NRFX_WDT1
408	bool "WDT1 driver instance"
409	depends on $(dt_nodelabel_has_compat,wdt1,$(DT_COMPAT_NORDIC_NRF_WDT))
410	select NRFX_WDT
411
412menu "Peripheral Resource Sharing module"
413
414config NRFX_PRS
415	bool
416
417config NRFX_PRS_BOX_0
418	bool "PRS box 0"
419	select NRFX_PRS
420
421config NRFX_PRS_BOX_1
422	bool "PRS box 1"
423	select NRFX_PRS
424
425config NRFX_PRS_BOX_2
426	bool "PRS box 2"
427	select NRFX_PRS
428
429config NRFX_PRS_BOX_3
430	bool "PRS box 3"
431	select NRFX_PRS
432
433config NRFX_PRS_BOX_4
434	bool "PRS box 4"
435	select NRFX_PRS
436
437endmenu
438
439endmenu # "nrfx drivers"
440