blob: 87cec0575ba959eb0c2b61692f8202b04f1b783d [file] [log] [blame]
# 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
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