zephyr/soc/arm/nordic_nrf/nrf52/Kconfig.soc

491 lines
12 KiB
Plaintext

# Nordic Semiconductor nRF52 MCU line
# Copyright (c) 2016-2019 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config SOC_NRF52805
depends on SOC_SERIES_NRF52X
bool
select HAS_HW_NRF_BPROT
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_NVMC_PE
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_SAADC
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_WDT
config SOC_NRF52810
depends on SOC_SERIES_NRF52X
bool
select HAS_HW_NRF_BPROT
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_COMP
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_NVMC_PE
select HAS_HW_NRF_PDM
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_PWM0
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_SAADC
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_WDT
config SOC_NRF52811
depends on SOC_SERIES_NRF52X
bool
select HAS_HW_NRF_BPROT
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_COMP
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_NVMC_PE
select HAS_HW_NRF_PDM
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_PWM0
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RADIO_BLE_CODED
select HAS_HW_NRF_RADIO_IEEE802154
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_SAADC
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SPI1
select HAS_HW_NRF_SPIM1
select HAS_HW_NRF_SPIS1
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_WDT
config SOC_NRF52820
depends on SOC_SERIES_NRF52X
bool
select HAS_HW_NRF_ACL
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_COMP
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_EGU2
select HAS_HW_NRF_EGU3
select HAS_HW_NRF_EGU4
select HAS_HW_NRF_EGU5
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RADIO_TX_PWR_HIGH
select HAS_HW_NRF_RADIO_BLE_CODED
select HAS_HW_NRF_RADIO_BLE_DF
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPI1
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIM1
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SPIS1
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWI1
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIM1
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_TWIS1
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_USBD
select HAS_HW_NRF_WDT
config SOC_NRF52832
depends on SOC_SERIES_NRF52X
bool
select SOC_COMPATIBLE_NRF52832
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select HAS_HW_NRF_BPROT
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_COMP
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_EGU2
select HAS_HW_NRF_EGU3
select HAS_HW_NRF_EGU4
select HAS_HW_NRF_EGU5
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_I2S
select HAS_HW_NRF_LPCOMP
select HAS_HW_NRF_MWU
select HAS_HW_NRF_NFCT
select HAS_HW_NRF_PDM
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_PWM0
select HAS_HW_NRF_PWM1
select HAS_HW_NRF_PWM2
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_RTC2
select HAS_HW_NRF_SAADC
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPI1
select HAS_HW_NRF_SPI2
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIM1
select HAS_HW_NRF_SPIM2
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SPIS1
select HAS_HW_NRF_SPIS2
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TIMER3
select HAS_HW_NRF_TIMER4
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWI1
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIM1
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_TWIS1
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_WDT
config SOC_NRF52833
depends on SOC_SERIES_NRF52X
bool
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select HAS_HW_NRF_ACL
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_COMP
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_EGU2
select HAS_HW_NRF_EGU3
select HAS_HW_NRF_EGU4
select HAS_HW_NRF_EGU5
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIO1
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_I2S
select HAS_HW_NRF_LPCOMP
select HAS_HW_NRF_MWU
select HAS_HW_NRF_NFCT
select HAS_HW_NRF_NVMC_PE
select HAS_HW_NRF_PDM
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_PWM0
select HAS_HW_NRF_PWM1
select HAS_HW_NRF_PWM2
select HAS_HW_NRF_PWM3
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RADIO_TX_PWR_HIGH
select HAS_HW_NRF_RADIO_BLE_CODED
select HAS_HW_NRF_RADIO_IEEE802154
select HAS_HW_NRF_RADIO_BLE_DF
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_RTC2
select HAS_HW_NRF_SAADC
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPI1
select HAS_HW_NRF_SPI2
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIM1
select HAS_HW_NRF_SPIM2
select HAS_HW_NRF_SPIM3
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SPIS1
select HAS_HW_NRF_SPIS2
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TIMER3
select HAS_HW_NRF_TIMER4
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWI1
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIM1
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_TWIS1
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_UARTE1
select HAS_HW_NRF_USBD
select HAS_HW_NRF_WDT
config SOC_NRF52840
depends on SOC_SERIES_NRF52X
bool
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select HAS_HW_NRF_ACL
select HAS_HW_NRF_CC310
select HAS_HW_NRF_CCM
select HAS_HW_NRF_CCM_LFLEN_8BIT
select HAS_HW_NRF_CLOCK
select HAS_HW_NRF_COMP
select HAS_HW_NRF_ECB
select HAS_HW_NRF_EGU0
select HAS_HW_NRF_EGU1
select HAS_HW_NRF_EGU2
select HAS_HW_NRF_EGU3
select HAS_HW_NRF_EGU4
select HAS_HW_NRF_EGU5
select HAS_HW_NRF_GPIO0
select HAS_HW_NRF_GPIO1
select HAS_HW_NRF_GPIOTE
select HAS_HW_NRF_I2S
select HAS_HW_NRF_LPCOMP
select HAS_HW_NRF_MWU
select HAS_HW_NRF_NFCT
select HAS_HW_NRF_NVMC_PE
select HAS_HW_NRF_PDM
select HAS_HW_NRF_POWER
select HAS_HW_NRF_PPI
select HAS_HW_NRF_PWM0
select HAS_HW_NRF_PWM1
select HAS_HW_NRF_PWM2
select HAS_HW_NRF_PWM3
select HAS_HW_NRF_QDEC
select HAS_HW_NRF_QSPI
select HAS_HW_NRF_RADIO_BLE_2M
select HAS_HW_NRF_RADIO_TX_PWR_HIGH
select HAS_HW_NRF_RADIO_BLE_CODED
select HAS_HW_NRF_RADIO_IEEE802154
select HAS_HW_NRF_RNG
select HAS_HW_NRF_RTC0
select HAS_HW_NRF_RTC1
select HAS_HW_NRF_RTC2
select HAS_HW_NRF_SAADC
select HAS_HW_NRF_SPI0
select HAS_HW_NRF_SPI1
select HAS_HW_NRF_SPI2
select HAS_HW_NRF_SPIM0
select HAS_HW_NRF_SPIM1
select HAS_HW_NRF_SPIM2
select HAS_HW_NRF_SPIM3
select HAS_HW_NRF_SPIS0
select HAS_HW_NRF_SPIS1
select HAS_HW_NRF_SPIS2
select HAS_HW_NRF_SWI0
select HAS_HW_NRF_SWI1
select HAS_HW_NRF_SWI2
select HAS_HW_NRF_SWI3
select HAS_HW_NRF_SWI4
select HAS_HW_NRF_SWI5
select HAS_HW_NRF_TEMP
select HAS_HW_NRF_TIMER0
select HAS_HW_NRF_TIMER1
select HAS_HW_NRF_TIMER2
select HAS_HW_NRF_TIMER3
select HAS_HW_NRF_TIMER4
select HAS_HW_NRF_TWI0
select HAS_HW_NRF_TWI1
select HAS_HW_NRF_TWIM0
select HAS_HW_NRF_TWIM1
select HAS_HW_NRF_TWIS0
select HAS_HW_NRF_TWIS1
select HAS_HW_NRF_UART0
select HAS_HW_NRF_UARTE0
select HAS_HW_NRF_UARTE1
select HAS_HW_NRF_USBD
select HAS_HW_NRF_WDT
choice
prompt "nRF52x MCU Selection"
depends on SOC_SERIES_NRF52X
config SOC_NRF52805_CAAA
bool "NRF52805_CAAA"
select SOC_NRF52805
config SOC_NRF52810_QFAA
bool "NRF52810_QFAA"
select SOC_NRF52810
config SOC_NRF52811_QFAA
bool "NRF52811_QFAA"
select SOC_NRF52811
config SOC_NRF52820_QDAA
bool "NRF52820_QDAA"
select SOC_NRF52820
config SOC_NRF52832_CIAA
bool "NRF52832_CIAA"
select SOC_NRF52832
config SOC_NRF52832_QFAA
bool "NRF52832_QFAA"
select SOC_NRF52832
config SOC_NRF52832_QFAB
bool "NRF52832_QFAB"
select SOC_NRF52832
config SOC_NRF52833_QIAA
bool "NRF52833_QIAA"
select SOC_NRF52833
config SOC_NRF52840_QIAA
bool "NRF52840_QIAA"
select SOC_NRF52840
endchoice
config SOC_DCDC_NRF52X
bool
help
Enable nRF52 series System on Chip DC/DC converter.
config GPIO_AS_PINRESET
bool "GPIO as pin reset (reset button)"
depends on SOC_SERIES_NRF52X
default y
config NRF_ENABLE_ICACHE
bool "Enable the instruction cache (I-Cache)"
depends on SOC_NRF52832 || SOC_NRF52833 || SOC_NRF52840
default y
config NRF52_ANOMALY_132_DELAY_US
int "Anomaly 132 workaround delay (microseconds)"
default 330
range 0 330
depends on NRF52_ANOMALY_132_WORKAROUND
help
Due to Anomaly 132 LF RC source may not start if restarted in certain
window after stopping (230 us to 330 us). Software reset also stops the
clock so if clock is initiated in certain window, the clock may also fail
to start at reboot. A delay is added before starting LF clock to ensure
that anomaly conditions are not met. Delay should be long enough to ensure
that clock is started later than 330 us after reset. If crystal oscillator
(XO) is used then low frequency clock initially starts with RC and then
seamlessly switches to XO which has much longer startup time thus,
depending on application, workaround may also need to be applied.
Additional drivers initialization increases initialization time and delay
may be shortened. Workaround is disabled by setting delay to 0.