Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
# Copyright (c) 2016 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config HAS_NORDIC_DRIVERS
	bool
	default y if HAS_HW_NRF_RADIO_IEEE802154

menu "Nordic drivers"
	depends on HAS_NORDIC_DRIVERS

menuconfig NRF_802154_RADIO_DRIVER
	bool "Enable nRF IEEE 802.15.4 radio driver"
	depends on HAS_HW_NRF_RADIO_IEEE802154
	select DYNAMIC_INTERRUPTS
	help
	  This option enables nRF IEEE 802.15.4 radio driver in Zephyr. Note,
	  that beside the radio peripheral itself, this drivers occupies several
	  other peripherals. A complete list can be found in the hal_nordic
	  repository, within drivers/nrf_radio_802154/nrf_802154_peripherals.h
	  file. As the nRF IEEE 802.15.4 radio driver defines IRQ configuration
	  abstraction layer API and its Zephyr-specific implementation uses dynamic
	  interrupts, the DYNAMIC_INTERRUPTS switch is selected unconditionally.

if NRF_802154_RADIO_DRIVER

config NRF_802154_MULTIPROTOCOL_SUPPORT
	bool
	help
	  In dynamic multiprotocol applications, access to the radio peripheral
	  must be distributed by an arbiter. To support this arbitration
	  in the driver, this option must be enabled. Otherwise, the driver
	  assumes that access to the radio peripheral is granted indefinitely.

choice NRF_802154_CCA_MODE
	prompt "nRF IEEE 802.15.4 CCA mode"
	default NRF_802154_CCA_MODE_ED
	help
	  CCA mode

config NRF_802154_CCA_MODE_ED
	bool "Energy Above Threshold"

config NRF_802154_CCA_MODE_CARRIER
	bool "Carrier Seen"

config NRF_802154_CCA_MODE_CARRIER_AND_ED
	bool "Energy Above Threshold AND Carrier Seen"

config NRF_802154_CCA_MODE_CARRIER_OR_ED
	bool "Energy Above Threshold OR Carrier Seen"

endchoice

config NRF_802154_CCA_ED_THRESHOLD
	int "nRF IEEE 802.15.4 CCA Energy Detection threshold"
	default 45
	help
	  If energy detected in a given channel is above the value then the
	  channel is deemed busy. The unit is defined as per 802.15.4-2006 spec.

config NRF_802154_CCA_CORR_THRESHOLD
	int "nRF IEEE 802.15.4 CCA Correlator threshold"
	default 45

config NRF_802154_CCA_CORR_LIMIT
	int "nRF IEEE 802.15.4 CCA Correlator limit"
	default 2
	help
	  Limit for occurrences above correlator threshold. When not equal to
	  zero the correlator based signal detect is enabled.

endif # NRF_802154_RADIO_DRIVER

endmenu

config HAS_NRFX
	bool
	select HAS_CMSIS_CORE

menu "nrfx drivers"
	depends on HAS_NRFX

config NRFX_ADC
	bool "Enable ADC driver"
	depends on HAS_HW_NRF_ADC

config NRFX_CLOCK
	bool "Enable CLOCK driver"
	depends on HAS_HW_NRF_CLOCK

config NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED
	bool "Enable two stage start sequence of the low frequency clock"
	depends on NRFX_CLOCK

config NRFX_COMP
	bool "Enable COMP driver"
	depends on HAS_HW_NRF_COMP

config NRFX_DPPI
	bool "Enable DPPI allocator"
	depends on HAS_HW_NRF_DPPIC

config NRFX_EGU
	bool "Enable EGU driver"
	depends on HAS_HW_NRF_EGU0 || HAS_HW_NRF_EGU1 || HAS_HW_NRF_EGU2 || \
		   HAS_HW_NRF_EGU3 || HAS_HW_NRF_EGU4 || HAS_HW_NRF_EGU5

config NRFX_EGU0
	bool "Enable EGU0 instance"
	depends on HAS_HW_NRF_EGU0
	select NRFX_EGU

config NRFX_EGU1
	bool "Enable EGU1 instance"
	depends on HAS_HW_NRF_EGU1
	select NRFX_EGU

config NRFX_EGU2
	bool "Enable EGU2 instance"
	depends on HAS_HW_NRF_EGU2
	select NRFX_EGU

config NRFX_EGU3
	bool "Enable EGU3 instance"
	depends on HAS_HW_NRF_EGU3
	select NRFX_EGU

config NRFX_EGU4
	bool "Enable EGU4 instance"
	depends on HAS_HW_NRF_EGU4
	select NRFX_EGU

config NRFX_EGU5
	bool "Enable EGU5 instance"
	depends on HAS_HW_NRF_EGU5
	select NRFX_EGU

config NRFX_GPIOTE
	bool "Enable GPIOTE driver"
	depends on HAS_HW_NRF_GPIOTE

config NRFX_I2S
	bool "Enable I2S driver"
	depends on HAS_HW_NRF_I2S

config NRFX_IPC
	bool "Enable IPC driver"
	depends on HAS_HW_NRF_IPC

config NRFX_LPCOMP
	bool "Enable LPCOMP driver"
	depends on HAS_HW_NRF_LPCOMP

config NRFX_NFCT
	bool "Enable NFCT driver"
	depends on HAS_HW_NRF_NFCT
	select NRFX_TIMER4 if SOC_SERIES_NRF52X
	select NRFX_TIMER2 if SOC_SERIES_NRF53X

config NRFX_NVMC
	bool "Enable NVMC driver"

config NRFX_PDM
	bool "Enable PDM driver"
	depends on HAS_HW_NRF_PDM

config NRFX_POWER
	bool "Enable POWER driver"
	depends on HAS_HW_NRF_POWER
	# On SoCs featuring the USBREG peripheral, the POWER driver uses
	# internally the USBREG driver.
	select NRFX_USBREG if HAS_HW_NRF_USBREG

config NRFX_PPI
	bool "Enable PPI allocator"
	depends on HAS_HW_NRF_PPI

config NRFX_PWM
	bool "Enable PWM driver"
	depends on HAS_HW_NRF_PWM0 || HAS_HW_NRF_PWM1 || \
		   HAS_HW_NRF_PWM2 || HAS_HW_NRF_PWM3

config NRFX_PWM0
	bool "Enable PWM0 instance"
	depends on HAS_HW_NRF_PWM0
	select NRFX_PWM

config NRFX_PWM1
	bool "Enable PWM1 instance"
	depends on HAS_HW_NRF_PWM1
	select NRFX_PWM

config NRFX_PWM2
	bool "Enable PWM2 instance"
	depends on HAS_HW_NRF_PWM2
	select NRFX_PWM

config NRFX_PWM3
	bool "Enable PWM3 instance"
	depends on HAS_HW_NRF_PWM3
	select NRFX_PWM

config NRFX_QDEC
	bool "Enable QDEC driver"
	depends on HAS_HW_NRF_QDEC

config NRFX_QSPI
	bool "Enable QSPI driver"
	depends on HAS_HW_NRF_QSPI

config NRFX_RNG
	bool "Enable RNG driver"
	depends on HAS_HW_NRF_RNG

config NRFX_RTC
	bool "Enable RTC driver"
	depends on HAS_HW_NRF_RTC0 || HAS_HW_NRF_RTC1 || HAS_HW_NRF_RTC2

config NRFX_RTC0
	bool "Enable RTC0 instance"
	depends on HAS_HW_NRF_RTC0
	select NRFX_RTC

config NRFX_RTC1
	bool "Enable RTC1 instance"
	depends on HAS_HW_NRF_RTC1
	select NRFX_RTC

config NRFX_RTC2
	bool "Enable RTC2 instance"
	depends on HAS_HW_NRF_RTC2
	select NRFX_RTC

config NRFX_SAADC
	bool "Enable SAADC driver"
	depends on HAS_HW_NRF_SAADC

config NRFX_SPI
	bool "Enable SPI driver"
	depends on HAS_HW_NRF_SPI0 || HAS_HW_NRF_SPI1 || HAS_HW_NRF_SPI2

config NRFX_SPI0
	bool "Enable SPI0 instance"
	depends on HAS_HW_NRF_SPI0
	select NRFX_SPI

config NRFX_SPI1
	bool "Enable SPI1 instance"
	depends on HAS_HW_NRF_SPI1
	select NRFX_SPI

config NRFX_SPI2
	bool "Enable SPI2 instance"
	depends on HAS_HW_NRF_SPI2
	select NRFX_SPI

config NRFX_SPIM
	bool "Enable SPIM driver"
	depends on HAS_HW_NRF_SPIM0 || HAS_HW_NRF_SPIM1 || \
		   HAS_HW_NRF_SPIM2 || HAS_HW_NRF_SPIM3 || HAS_HW_NRF_SPIM4

config NRFX_SPIM0
	bool "Enable SPIM0 instance"
	depends on HAS_HW_NRF_SPIM0
	select NRFX_SPIM

config NRFX_SPIM1
	bool "Enable SPIM1 instance"
	depends on HAS_HW_NRF_SPIM1
	select NRFX_SPIM

config NRFX_SPIM2
	bool "Enable SPIM2 instance"
	depends on HAS_HW_NRF_SPIM2
	select NRFX_SPIM

config NRFX_SPIM3
	bool "Enable SPIM3 instance"
	depends on HAS_HW_NRF_SPIM3
	select NRFX_SPIM

config NRFX_SPIM4
	bool "Enable SPIM4 instance"
	depends on HAS_HW_NRF_SPIM4
	select NRFX_SPIM

config NRFX_SPIS
	bool "Enable SPIS driver"
	depends on HAS_HW_NRF_SPIS0 || HAS_HW_NRF_SPIS1 || \
		   HAS_HW_NRF_SPIS2 || HAS_HW_NRF_SPIS3

config NRFX_SPIS0
	bool "Enable SPIS0 instance"
	depends on HAS_HW_NRF_SPIS0
	select NRFX_SPIS

config NRFX_SPIS1
	bool "Enable SPIS1 instance"
	depends on HAS_HW_NRF_SPIS1
	select NRFX_SPIS

config NRFX_SPIS2
	bool "Enable SPIS2 instance"
	depends on HAS_HW_NRF_SPIS2
	select NRFX_SPIS

config NRFX_SPIS3
	bool "Enable SPIS3 instance"
	depends on HAS_HW_NRF_SPIS3
	select NRFX_SPIS

config NRFX_SYSTICK
	bool "Enable SYSTICK driver"
	depends on CPU_CORTEX_M_HAS_SYSTICK

config NRFX_TEMP
	bool "Enable TEMP driver"
	depends on HAS_HW_NRF_TEMP

config NRFX_TIMER
	bool "Enable TIMER driver"
	depends on HAS_HW_NRF_TIMER0 || HAS_HW_NRF_TIMER1 || \
		   HAS_HW_NRF_TIMER2 || HAS_HW_NRF_TIMER3 || \
		   HAS_HW_NRF_TIMER4

config NRFX_TIMER0
	bool "Enable TIMER0 instance"
	depends on HAS_HW_NRF_TIMER0
	select NRFX_TIMER

config NRFX_TIMER1
	bool "Enable TIMER1 instance"
	depends on HAS_HW_NRF_TIMER1
	select NRFX_TIMER

config NRFX_TIMER2
	bool "Enable TIMER2 instance"
	depends on HAS_HW_NRF_TIMER2
	select NRFX_TIMER

config NRFX_TIMER3
	bool "Enable TIMER3 instance"
	depends on HAS_HW_NRF_TIMER3
	select NRFX_TIMER

config NRFX_TIMER4
	bool "Enable TIMER4 instance"
	depends on HAS_HW_NRF_TIMER4
	select NRFX_TIMER

config NRFX_TWI
	bool "Enable TWI driver"
	depends on HAS_HW_NRF_TWI0 || HAS_HW_NRF_TWI1

config NRFX_TWI0
	bool "Enable TWI0 instance"
	depends on HAS_HW_NRF_TWI0
	select NRFX_TWI

config NRFX_TWI1
	bool "Enable TWI1 instance"
	depends on HAS_HW_NRF_TWI1
	select NRFX_TWI

config NRFX_TWIM
	bool "Enable TWIM driver"
	depends on HAS_HW_NRF_TWIM0 || HAS_HW_NRF_TWIM1 || \
		   HAS_HW_NRF_TWIM2 || HAS_HW_NRF_TWIM3

config NRFX_TWIM0
	bool "Enable TWIM0 instance"
	depends on HAS_HW_NRF_TWIM0
	select NRFX_TWIM

config NRFX_TWIM1
	bool "Enable TWIM1 instance"
	depends on HAS_HW_NRF_TWIM1
	select NRFX_TWIM

config NRFX_TWIM2
	bool "Enable TWIM2 instance"
	depends on HAS_HW_NRF_TWIM2
	select NRFX_TWIM

config NRFX_TWIM3
	bool "Enable TWIM3 instance"
	depends on HAS_HW_NRF_TWIM3
	select NRFX_TWIM

config NRFX_TWIS
	bool "Enable TWIS driver"
	depends on HAS_HW_NRF_TWIS0 || HAS_HW_NRF_TWIS1 || \
		   HAS_HW_NRF_TWIS2 || HAS_HW_NRF_TWIS3

config NRFX_TWIS0
	bool "Enable TWIS0 instance"
	depends on HAS_HW_NRF_TWIS0
	select NRFX_TWIS

config NRFX_TWIS1
	bool "Enable TWIS1 instance"
	depends on HAS_HW_NRF_TWIS1
	select NRFX_TWIS

config NRFX_TWIS2
	bool "Enable TWIS2 instance"
	depends on HAS_HW_NRF_TWIS2
	select NRFX_TWIS

config NRFX_TWIS3
	bool "Enable TWIS3 instance"
	depends on HAS_HW_NRF_TWIS3
	select NRFX_TWIS

config NRFX_UART
	bool "Enable UART driver"
	depends on HAS_HW_NRF_UART0

config NRFX_UART0
	bool "Enable UART0 instance"
	depends on HAS_HW_NRF_UART0
	select NRFX_UART

config NRFX_UARTE
	bool "Enable UARTE driver"
	depends on HAS_HW_NRF_UARTE0 || HAS_HW_NRF_UARTE1 || \
		   HAS_HW_NRF_UARTE2 || HAS_HW_NRF_UARTE3

config NRFX_UARTE0
	bool "Enable UARTE0 instance"
	depends on HAS_HW_NRF_UARTE0
	select NRFX_UARTE

config NRFX_UARTE1
	bool "Enable UARTE1 instance"
	depends on HAS_HW_NRF_UARTE1
	select NRFX_UARTE

config NRFX_UARTE2
	bool "Enable UARTE2 instance"
	depends on HAS_HW_NRF_UARTE2
	select NRFX_UARTE

config NRFX_UARTE3
	bool "Enable UARTE3 instance"
	depends on HAS_HW_NRF_UARTE3
	select NRFX_UARTE

config NRFX_USBD
	bool "Enable USBD driver"
	depends on HAS_HW_NRF_USBD
	select NRFX_SYSTICK

config NRFX_USBREG
	bool "Enable USBREG driver"
	depends on HAS_HW_NRF_USBREG

config NRFX_WDT
	bool "Enable WDT driver"
	depends on HAS_HW_NRF_WDT || HAS_HW_NRF_WDT0 || HAS_HW_NRF_WDT1

config NRFX_WDT0
	bool "Enable WDT0 instance"
	depends on HAS_HW_NRF_WDT || HAS_HW_NRF_WDT0
	select NRFX_WDT

config NRFX_WDT1
	bool "Enable WDT1 instance"
	depends on HAS_HW_NRF_WDT1
	select NRFX_WDT

config NRFX_PRS
	bool "Enable Peripheral Resource Sharing module"

config NRFX_PRS_BOX_0
	bool "Enable PRS box 0"
	select NRFX_PRS

config NRFX_PRS_BOX_1
	bool "Enable PRS box 1"
	select NRFX_PRS

config NRFX_PRS_BOX_2
	bool "Enable PRS box 2"
	select NRFX_PRS

config NRFX_PRS_BOX_3
	bool "Enable PRS box 3"
	select NRFX_PRS

config NRFX_PRS_BOX_4
	bool "Enable PRS box 4"
	select NRFX_PRS

endmenu