# 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