2018-03-26 18:37:32 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
|
|
|
comment "NRF52 Configuration Options"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "NRF52 Chip Selection"
|
|
|
|
default ARCH_CHIP_NRF52832
|
|
|
|
depends on ARCH_CHIP_NRF52
|
|
|
|
|
|
|
|
config ARCH_CHIP_NRF52832
|
|
|
|
bool "NRF52832"
|
|
|
|
select ARCH_FAMILY_NRF52
|
2020-08-30 12:23:50 +02:00
|
|
|
select NRF52_HAVE_BPROT
|
2019-12-19 16:40:56 +01:00
|
|
|
|
|
|
|
config ARCH_CHIP_NRF52833
|
|
|
|
bool "NRF52832"
|
|
|
|
select ARCH_FAMILY_NRF52
|
2020-08-30 12:23:50 +02:00
|
|
|
select NRF52_HAVE_ACL
|
2019-12-19 16:40:56 +01:00
|
|
|
select NRF52_HAVE_UART1
|
|
|
|
select NRF52_HAVE_PORT1
|
|
|
|
select NRF52_HAVE_SPI3_MASTER
|
|
|
|
select NRF52_HAVE_USBDEV
|
2020-08-30 12:23:50 +02:00
|
|
|
select NRF52_HAVE_PWM3
|
2018-03-26 18:37:32 +02:00
|
|
|
|
2019-03-12 13:51:24 +01:00
|
|
|
config ARCH_CHIP_NRF52840
|
|
|
|
bool "NRF52840"
|
|
|
|
select ARCH_FAMILY_NRF52
|
2020-08-30 12:23:50 +02:00
|
|
|
select NRF52_HAVE_ACL
|
2019-12-16 19:35:45 +01:00
|
|
|
select NRF52_HAVE_UART1
|
|
|
|
select NRF52_HAVE_PORT1
|
2019-12-19 16:40:56 +01:00
|
|
|
select NRF52_HAVE_SPI3_MASTER
|
|
|
|
select NRF52_HAVE_QSPI
|
|
|
|
select NRF52_HAVE_USBDEV
|
2020-08-30 12:23:50 +02:00
|
|
|
select NRF52_HAVE_PWM3
|
|
|
|
select NRF52_HAVE_CRYPTOCELL
|
2019-03-12 13:51:24 +01:00
|
|
|
|
2018-03-26 18:37:32 +02:00
|
|
|
endchoice # NRF52 Chip Selection
|
|
|
|
|
|
|
|
# NRF52 Families
|
|
|
|
|
|
|
|
config ARCH_FAMILY_NRF52
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
# Peripheral support
|
|
|
|
|
2020-08-30 12:23:50 +02:00
|
|
|
config NRF52_HAVE_BPROT
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_HAVE_ACL
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_HAVE_UART1
|
2018-03-26 18:37:32 +02:00
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_HAVE_PORT1
|
2018-03-26 18:37:32 +02:00
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_HAVE_SPI3_MASTER
|
2019-12-16 19:35:45 +01:00
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_HAVE_QSPI
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_HAVE_USBDEV
|
2019-12-16 19:35:45 +01:00
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-08-30 12:23:50 +02:00
|
|
|
config NRF52_HAVE_PWM3
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_HAVE_CRYPTOCELL
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-12-16 19:35:45 +01:00
|
|
|
# Peripheral Selection
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_I2C_MASTER
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_SPI_MASTER
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-12-16 19:35:45 +01:00
|
|
|
config NRF52_UART
|
2018-03-26 18:37:32 +02:00
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-07-18 10:00:41 +02:00
|
|
|
config NRF52_TIMER
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-09-13 12:29:19 +02:00
|
|
|
config NRF52_PWM
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-07-18 10:05:46 +02:00
|
|
|
config NRF52_RTC
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-05-25 14:33:48 +02:00
|
|
|
config NRF52_SPI_MASTER_WORKAROUND_1BYTE_TRANSFER
|
|
|
|
bool "SPI Master 1 Byte transfer anomaly workaround"
|
2020-08-31 07:39:45 +02:00
|
|
|
depends on NRF52_SPI_MASTER && ARCH_CHIP_NRF52832
|
2020-05-25 14:33:48 +02:00
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Enable the workaround to fix SPI Master 1 byte transfer bug
|
|
|
|
which occurs in NRF52832 revision 1 and revision 2.
|
|
|
|
|
2018-03-26 18:37:32 +02:00
|
|
|
menu "NRF52 Peripheral Selection"
|
|
|
|
|
|
|
|
config NRF52_I2C0_MASTER
|
|
|
|
bool "I2C0 Master"
|
|
|
|
default n
|
2019-12-19 16:40:56 +01:00
|
|
|
select NRF52_I2C_MASTER
|
2018-03-26 18:37:32 +02:00
|
|
|
|
|
|
|
config NRF52_I2C1_MASTER
|
|
|
|
bool "I2C1 Master"
|
|
|
|
default n
|
2019-12-19 16:40:56 +01:00
|
|
|
select NRF52_I2C_MASTER
|
|
|
|
|
|
|
|
config NRF52_SPI0_MASTER
|
|
|
|
bool "SPI0 Master"
|
|
|
|
default n
|
|
|
|
select NRF52_SPI_MASTER
|
|
|
|
|
|
|
|
config NRF52_SPI1_MASTER
|
|
|
|
bool "SPI1 Master"
|
|
|
|
default n
|
|
|
|
select NRF52_SPI_MASTER
|
|
|
|
|
|
|
|
config NRF52_SPI3_MASTER
|
|
|
|
bool "SPI3 Master"
|
|
|
|
default n
|
|
|
|
select NRF52_SPI_MASTER
|
|
|
|
depends on NRF52_HAVE_SPI3_MASTER
|
2018-03-26 18:37:32 +02:00
|
|
|
|
2020-01-08 15:48:20 +01:00
|
|
|
if NRF52_SPI_MASTER
|
|
|
|
|
|
|
|
config NRF52_SPI_MASTER_INTERRUPTS
|
|
|
|
bool "SPI Master interrupts support"
|
|
|
|
default n
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
config NRF52_GPIOTE
|
|
|
|
bool "GPIOTE (GPIO interrupts)"
|
|
|
|
default n
|
|
|
|
|
2018-03-26 18:37:32 +02:00
|
|
|
config NRF52_UART0
|
|
|
|
bool "UART0"
|
|
|
|
default n
|
|
|
|
select UART0_SERIALDRIVER
|
2019-12-16 19:35:45 +01:00
|
|
|
select NRF52_UART
|
|
|
|
|
|
|
|
config NRF52_UART1
|
|
|
|
bool "UART1"
|
|
|
|
default n
|
|
|
|
depends on NRF52_HAVE_UART1
|
|
|
|
select UART1_SERIALDRIVER
|
|
|
|
select NRF52_UART
|
2018-03-26 18:37:32 +02:00
|
|
|
|
2019-03-12 13:51:24 +01:00
|
|
|
config NRF52_RNG
|
|
|
|
bool "Random Generator"
|
|
|
|
default n
|
2019-03-13 14:21:29 +01:00
|
|
|
select ARCH_HAVE_RNG
|
2019-03-12 13:51:24 +01:00
|
|
|
|
|
|
|
config NRF52_QSPI
|
|
|
|
bool "QSPI"
|
|
|
|
default n
|
2019-12-19 16:40:56 +01:00
|
|
|
depends on NRF52_HAVE_QSPI
|
2019-03-12 13:51:24 +01:00
|
|
|
|
2018-04-20 15:13:22 +02:00
|
|
|
config NRF52_WDT
|
|
|
|
bool "Watchdog (WDT)"
|
|
|
|
default n
|
|
|
|
select WATCHDOG
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_RADIO
|
|
|
|
bool "RADIO"
|
2020-04-03 17:12:41 +02:00
|
|
|
depends on EXPERIMENTAL
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_NFCT
|
|
|
|
bool "NFCT"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_SAADC
|
|
|
|
bool "SAADC"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_TIMER0
|
|
|
|
bool "TIMER0"
|
2020-07-18 10:00:41 +02:00
|
|
|
select NRF52_TIMER
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_TIMER1
|
|
|
|
bool "TIMER1"
|
2020-07-18 10:00:41 +02:00
|
|
|
select NRF52_TIMER
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_TIMER2
|
|
|
|
bool "TIMER2"
|
2020-07-18 10:00:41 +02:00
|
|
|
select NRF52_TIMER
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_TIMER3
|
|
|
|
bool "TIMER3"
|
2020-07-18 10:00:41 +02:00
|
|
|
select NRF52_TIMER
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_TIMER4
|
|
|
|
bool "TIMER4"
|
2020-07-18 10:00:41 +02:00
|
|
|
select NRF52_TIMER
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
2020-09-13 12:29:19 +02:00
|
|
|
config NRF52_PWM0
|
|
|
|
bool "PWM0"
|
|
|
|
select NRF52_PWM
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_PWM1
|
|
|
|
bool "PWM1"
|
|
|
|
select NRF52_PWM
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_PWM2
|
|
|
|
bool "PWM2"
|
|
|
|
select NRF52_PWM
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_PWM3
|
|
|
|
bool "PWM3"
|
|
|
|
depends on NRF52_HAVE_PWM3
|
|
|
|
select NRF52_PWM
|
|
|
|
default n
|
|
|
|
|
2020-07-25 04:04:04 +02:00
|
|
|
config NRF52_PPI
|
|
|
|
bool "PPI"
|
|
|
|
default n
|
|
|
|
|
2019-12-19 16:40:56 +01:00
|
|
|
config NRF52_RTC0
|
|
|
|
bool "RTC0"
|
2020-07-18 10:05:46 +02:00
|
|
|
select NRF52_RTC
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_RTC1
|
|
|
|
bool "RTC1"
|
2020-07-18 10:05:46 +02:00
|
|
|
select NRF52_RTC
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_RTC2
|
|
|
|
bool "RTC2"
|
2020-07-18 10:05:46 +02:00
|
|
|
select NRF52_RTC
|
2019-12-19 16:40:56 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_I2S
|
|
|
|
bool "I2S"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config NRF52_USBDEV
|
|
|
|
bool "USB Device"
|
|
|
|
default n
|
|
|
|
depends on NRF52_HAVE_USBDEV
|
|
|
|
|
|
|
|
config NRF52_COMP
|
|
|
|
bool "COMP"
|
|
|
|
default n
|
|
|
|
|
2018-03-26 18:37:32 +02:00
|
|
|
endmenu # NRF52 Peripheral Selection
|
|
|
|
|
2020-08-30 21:11:03 +02:00
|
|
|
menu "Clock Configuration"
|
|
|
|
|
|
|
|
config NRF52_HFCLK_XTAL
|
|
|
|
bool "Enable HFCLK from external crystal"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
If the board includes an external high-frequency crystal, enable this
|
|
|
|
option to supply the HFCLK. If this option is disabled, the internal
|
|
|
|
oscillator will be used.
|
|
|
|
Note that the RADIO peripheral requires the HFCLK to be used.
|
|
|
|
|
|
|
|
config NRF52_USE_LFCLK
|
|
|
|
bool "Enable LFCLK"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enable low-frequency clock.
|
|
|
|
|
|
|
|
if NRF52_USE_LFCLK
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "LFCLK source"
|
|
|
|
default NRF52_LFCLK_XTAL
|
|
|
|
|
|
|
|
config NRF52_LFCLK_XTAL
|
|
|
|
bool "External 32.768Khz crystal"
|
|
|
|
|
|
|
|
config NRF52_LFCLK_RC
|
|
|
|
bool "Internal RC oscillator"
|
|
|
|
|
|
|
|
config NRF52_LFCLK_SYNTH
|
|
|
|
bool "Synthesized from HFCLK"
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
endif # NRF52_USE_LFCLK
|
|
|
|
|
|
|
|
endmenu # Clock Configuration
|
|
|
|
|
2020-09-06 22:12:43 +02:00
|
|
|
menu "System Timer"
|
|
|
|
|
|
|
|
config NRF52_SYSTIMER
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "System Timer Source"
|
|
|
|
default NRF52_SYSTIMER_SYSTICK
|
|
|
|
---help---
|
|
|
|
Choose which hardware resource will drive NuttX
|
|
|
|
system time
|
|
|
|
|
|
|
|
config NRF52_SYSTIMER_SYSTICK
|
|
|
|
bool "SysTick"
|
|
|
|
select TIMER_ARCH
|
|
|
|
select TIMER
|
|
|
|
select ARMV7M_SYSTICK
|
|
|
|
---help---
|
|
|
|
Use ARM SysTick. It can be used for tickless and
|
|
|
|
non-tickless mode.
|
|
|
|
|
|
|
|
NOTE: nRF52 implementation of WFE/WFI involves is
|
|
|
|
incompatible with SysTick. This means that if
|
|
|
|
you choose this option, WFE/WFI will not be used
|
|
|
|
in idle loop.
|
|
|
|
|
|
|
|
config NRF52_SYSTIMER_RTC
|
|
|
|
bool "RTC"
|
|
|
|
select NRF52_RTC
|
|
|
|
select SCHED_TICKLESS
|
|
|
|
select SCHED_TICKLESS_ALARM
|
|
|
|
select NRF52_USE_LFCLK
|
|
|
|
---help---
|
|
|
|
Use RTC timer in tickless mode.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
if NRF52_SYSTIMER_RTC
|
|
|
|
|
|
|
|
config NRF52_SYSTIMER_RTC_INSTANCE
|
|
|
|
int "RTC timer instance"
|
|
|
|
default 0
|
|
|
|
range 0 2
|
|
|
|
---help---
|
|
|
|
Which RTC instance to use to drive the system timer
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
endmenu # System Timer
|
|
|
|
|
2018-05-05 02:19:36 +02:00
|
|
|
config NRF52_FLASH_PREFETCH
|
|
|
|
bool "Enable FLASH Pre-fetch"
|
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Enable FLASH prefetch
|
|
|
|
|
|
|
|
config NRF52_PROGMEM
|
|
|
|
bool "FLASH program memory"
|
|
|
|
default n
|
|
|
|
select ARCH_HAVE_PROGMEM
|
|
|
|
---help---
|
|
|
|
Enable support FLASH interfaces as defined in include/nuttx/progmem.h
|
|
|
|
|
2018-03-26 18:37:32 +02:00
|
|
|
menu "GPIO Interrupt Configuration"
|
|
|
|
|
|
|
|
endmenu # GPIO Interrupt Configuration
|
2020-09-13 12:29:19 +02:00
|
|
|
|
|
|
|
menu "PWM configuration"
|
|
|
|
|
|
|
|
config NRF52_PWM_MULTICHAN
|
|
|
|
bool "PWM Multiple Output Channels"
|
|
|
|
default n
|
|
|
|
|
|
|
|
if NRF52_PWM_MULTICHAN
|
|
|
|
|
|
|
|
if NRF52_PWM0
|
|
|
|
|
|
|
|
config NRF52_PWM0_CH0
|
|
|
|
bool "PWM0 Channel 0 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 0 output.
|
|
|
|
|
|
|
|
config NRF52_PWM0_CH1
|
|
|
|
bool "PWM0 Channel 1 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 1 output.
|
|
|
|
|
|
|
|
config NRF52_PWM0_CH2
|
|
|
|
bool "PWM0 Channel 2 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 2 output.
|
|
|
|
|
|
|
|
config NRF52_PWM0_CH3
|
|
|
|
bool "PWM0 Channel 3 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 3 output.
|
|
|
|
|
|
|
|
endif # NRF52_PWM0
|
|
|
|
|
|
|
|
if NRF52_PWM1
|
|
|
|
|
|
|
|
config NRF52_PWM1_CH0
|
|
|
|
bool "PWM1 Channel 0 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 0 output.
|
|
|
|
|
|
|
|
config NRF52_PWM1_CH1
|
|
|
|
bool "PWM1 Channel 1 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 1 output.
|
|
|
|
|
|
|
|
config NRF52_PWM1_CH2
|
|
|
|
bool "PWM1 Channel 2 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 2 output.
|
|
|
|
|
|
|
|
config NRF52_PWM1_CH3
|
|
|
|
bool "PWM1 Channel 3 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 3 output.
|
|
|
|
|
|
|
|
endif # NRF52_PWM1
|
|
|
|
|
|
|
|
if NRF52_PWM2
|
|
|
|
|
|
|
|
config NRF52_PWM2_CH0
|
|
|
|
bool "PWM2 Channel 0 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 0 output.
|
|
|
|
|
|
|
|
config NRF52_PWM2_CH1
|
|
|
|
bool "PWM2 Channel 1 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 1 output.
|
|
|
|
|
|
|
|
config NRF52_PWM2_CH2
|
|
|
|
bool "PWM2 Channel 2 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 2 output.
|
|
|
|
|
|
|
|
config NRF52_PWM2_CH3
|
|
|
|
bool "PWM2 Channel 3 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 3 output.
|
|
|
|
|
|
|
|
endif # NRF52_PWM2
|
|
|
|
|
|
|
|
if NRF52_PWM3
|
|
|
|
|
|
|
|
config NRF52_PWM3_CH0
|
|
|
|
bool "PWM3 Channel 0 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 0 output.
|
|
|
|
|
|
|
|
config NRF52_PWM3_CH1
|
|
|
|
bool "PWM3 Channel 1 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 1 output.
|
|
|
|
|
|
|
|
config NRF52_PWM3_CH2
|
|
|
|
bool "PWM3 Channel 2 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 2 output.
|
|
|
|
|
|
|
|
config NRF52_PWM3_CH3
|
|
|
|
bool "PWM3 Channel 3 Output"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables channel 3 output.
|
|
|
|
|
|
|
|
endif # NRF52_PWM3
|
|
|
|
|
|
|
|
endif # !NRF52_PWM_MULTICHAN
|
|
|
|
|
|
|
|
if !NRF52_PWM_MULTICHAN
|
|
|
|
|
|
|
|
config NRF52_PWM0_CHANNEL
|
|
|
|
int "PWM0 Output Channel"
|
|
|
|
depends on NRF52_PWM0
|
|
|
|
default 0
|
|
|
|
range 0 3
|
|
|
|
|
|
|
|
config NRF52_PWM1_CHANNEL
|
|
|
|
int "PWM1 Output Channel"
|
|
|
|
depends on NRF52_PWM1
|
|
|
|
default 0
|
|
|
|
range 0 3
|
|
|
|
|
|
|
|
config NRF52_PWM2_CHANNEL
|
|
|
|
int "PWM2 Output Channel"
|
|
|
|
depends on NRF52_PWM2
|
|
|
|
default 0
|
|
|
|
range 0 3
|
|
|
|
|
|
|
|
config NRF52_PWM3_CHANNEL
|
|
|
|
int "PWM3 Output Channel"
|
|
|
|
depends on NRF52_PWM3
|
|
|
|
default 0
|
|
|
|
range 0 3
|
|
|
|
|
|
|
|
endif # !NRF52_PWM_MULTICHAN
|
|
|
|
|
|
|
|
endmenu # PWM configuration
|