# Copyright (c) 2016 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

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 || HAS_HW_NRF_QDEC0

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