mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2026-01-01 01:41:18 +01:00
Merge pull request #16837 from fjmolinas/pr_kconfig_nrf52
cpu/nrf52: initial kconfig modeling (no netif)
This commit is contained in:
commit
b160e43233
4
.murdock
4
.murdock
@ -8,10 +8,12 @@
|
||||
: ${TEST_BOARDS_LLVM_COMPILE:=""}
|
||||
|
||||
: ${TEST_KCONFIG_BOARDS_AVAILABLE:="
|
||||
dwm1001
|
||||
native
|
||||
samr21-xpro
|
||||
nrf52840dk
|
||||
nucleo-f103rb
|
||||
remote-revb
|
||||
samr21-xpro
|
||||
"}
|
||||
|
||||
: ${TEST_KCONFIG_ENFORCE_APP_GROUPS:="
|
||||
|
||||
@ -9,3 +9,5 @@ config BOARD_COMMON_NRF52
|
||||
select HAS_PERIPH_RTT
|
||||
select HAS_PERIPH_TIMER
|
||||
select HAS_RIOTBOOT
|
||||
|
||||
select HAVE_SAUL_NRF_TEMPERATURE
|
||||
|
||||
@ -1,11 +1,3 @@
|
||||
ifneq (,$(filter saul_default,$(USEMODULE)))
|
||||
USEMODULE += saul_nrf_temperature
|
||||
endif
|
||||
|
||||
ifneq (,$(filter nrf52811xxaa nrf52820xxaa nrf52833xxaa nrf52840xxaa,$(CPU_MODEL)))
|
||||
# include dependencies for 802.15.4 radio
|
||||
include $(RIOTBOARD)/common/nrf52/Makefile.nrf802154.dep
|
||||
else
|
||||
# include dependencies for BLE
|
||||
include $(RIOTBOARD)/common/nrf52/Makefile.nimble.dep
|
||||
endif
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# General Public License v2.1. See the file LICENSE in the top level
|
||||
# directory for more details.
|
||||
|
||||
config BOARD_COMMON_NRF52XXXDK
|
||||
config BOARDS_COMMON_NRF52XXXDK
|
||||
bool
|
||||
select BOARD_COMMON_NRF52
|
||||
select HAS_PERIPH_I2C
|
||||
@ -13,4 +13,10 @@ config BOARD_COMMON_NRF52XXXDK
|
||||
select HAS_PERIPH_UART
|
||||
select HAS_VDD_LC_FILTER_REG1
|
||||
|
||||
select HAVE_SAUL_GPIO
|
||||
|
||||
config MODULE_BOARDS_COMMON_NRF52XXDK
|
||||
bool
|
||||
default y
|
||||
|
||||
source "$(RIOTBOARD)/common/nrf52/Kconfig"
|
||||
|
||||
@ -16,5 +16,6 @@ config BOARD_DWM1001
|
||||
select HAS_PERIPH_SPI
|
||||
select HAS_PERIPH_UART
|
||||
select HAS_VDD_LC_FILTER_REG1
|
||||
select HAVE_LIS2DH12
|
||||
|
||||
source "$(RIOTBOARD)/common/nrf52/Kconfig"
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
USEMODULE += boards_common_e104_bt50xxa_tb
|
||||
|
||||
# use nrfmin for GNRC as nimble is too large for the board
|
||||
include $(RIOTBOARD)/common/nrf52/Makefile.nrfmin.dep
|
||||
ifneq (,$(filter netdev_default,$(USEMODULE)))
|
||||
ifeq (,$(filter nimble_% nrf802154,$(USEMODULE)))
|
||||
USEMODULE += nrfmin
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(RIOTBOARD)/common/e104-bt50xxa-tb/Makefile.dep
|
||||
|
||||
@ -10,10 +10,11 @@ config BOARD
|
||||
config BOARD_NRF52840DK
|
||||
bool
|
||||
default y
|
||||
select BOARD_COMMON_NRF52XXXDK
|
||||
select BOARDS_COMMON_NRF52XXXDK
|
||||
select CPU_MODEL_NRF52840XXAA
|
||||
select HAS_PERIPH_PWM
|
||||
select HAS_PERIPH_USBDEV
|
||||
select HAS_VDD_LC_FILTER_REG0
|
||||
select HAVE_MTD_SPI_NOR
|
||||
|
||||
source "$(RIOTBOARD)/common/nrf52xxxdk/Kconfig"
|
||||
|
||||
@ -10,7 +10,7 @@ config BOARD
|
||||
config BOARD_NRF52DK
|
||||
bool
|
||||
default y
|
||||
select BOARD_COMMON_NRF52XXXDK
|
||||
select BOARDS_COMMON_NRF52XXXDK
|
||||
select CPU_MODEL_NRF52832XXAA
|
||||
|
||||
source "$(RIOTBOARD)/common/nrf52xxxdk/Kconfig"
|
||||
|
||||
@ -84,4 +84,7 @@ config HAS_CPU_NRF52
|
||||
help
|
||||
Indicates that the current cpu is 'nrf52'.
|
||||
|
||||
rsource "periph/Kconfig"
|
||||
rsource "vectors/Kconfig"
|
||||
|
||||
source "$(RIOTCPU)/nrf5x_common/Kconfig"
|
||||
|
||||
@ -1,5 +1,13 @@
|
||||
USEMODULE += nrf52_vectors
|
||||
|
||||
ifneq (,$(filter nrf52811xxaa nrf52820xxaa nrf52833xxaa nrf52840xxaa,$(CPU_MODEL)))
|
||||
# include dependencies for 802.15.4 radio
|
||||
include $(RIOTCPU)/nrf52/Makefile.nrf802154.dep
|
||||
else
|
||||
# include dependencies for BLE
|
||||
include $(RIOTCPU)/nrf52/Makefile.nimble.dep
|
||||
endif
|
||||
|
||||
ifneq (,$(filter nrf802154,$(USEMODULE)))
|
||||
FEATURES_REQUIRED += periph_timer
|
||||
FEATURES_REQUIRED += radio_nrf802154
|
||||
|
||||
23
cpu/nrf52/periph/Kconfig
Normal file
23
cpu/nrf52/periph/Kconfig
Normal file
@ -0,0 +1,23 @@
|
||||
# Copyright (c) 2021 Inria
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU Lesser
|
||||
# General Public License v2.1. See the file LICENSE in the top level
|
||||
# directory for more details.
|
||||
#
|
||||
|
||||
if TEST_KCONFIG
|
||||
|
||||
config MODULE_PERIPH_UART_NONBLOCKING
|
||||
depends on HAS_PERIPH_UART_NONBLOCKING
|
||||
depends on MODULE_PERIPH_UART
|
||||
select MODULE_TSRB
|
||||
|
||||
config MODULE_PERIPH_SPI
|
||||
depends on HAS_PERIPH_SPI
|
||||
select MODULE_PERIPH_GPIO_IRQ if CPU_MODEL_NRF52832XXAA && HAS_PERIPH_GPIO_IRQ
|
||||
|
||||
config MODULE_SAUL_NRF_VDDH
|
||||
bool "Internal Voltage Sensor"
|
||||
depends on HAS_PERIPH_ADC
|
||||
|
||||
endif # TEST_KCONFIG
|
||||
@ -24,5 +24,6 @@ endif # KCONFIG_USEMODULE_NRF802154
|
||||
## Related features
|
||||
config HAS_RADIO_NRF802154
|
||||
bool
|
||||
select HAVE_NRF5X_RADIO
|
||||
help
|
||||
Indicates that a IEEE 802.15.4 NRF52 radio is present.
|
||||
|
||||
11
cpu/nrf52/vectors/Kconfig
Normal file
11
cpu/nrf52/vectors/Kconfig
Normal file
@ -0,0 +1,11 @@
|
||||
# Copyright (c) 2021 Inria
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU Lesser
|
||||
# General Public License v2.1. See the file LICENSE in the top level
|
||||
# directory for more details.
|
||||
#
|
||||
|
||||
config MODULE_NRF52_VECTORS
|
||||
bool
|
||||
depends on TEST_KCONFIG
|
||||
default y
|
||||
@ -35,11 +35,13 @@ config HAS_BLE_NIMBLE_NETIF
|
||||
|
||||
config HAS_RADIO_NRFBLE
|
||||
bool
|
||||
select HAVE_NRF5X_RADIO
|
||||
help
|
||||
Indicates that a BLE-compatible nRF radio is present.
|
||||
|
||||
config HAS_RADIO_NRFMIN
|
||||
bool
|
||||
select HAVE_NRF5X_RADIO
|
||||
help
|
||||
Indicates that a radio compatible with the nRF minimal radio driver is
|
||||
present.
|
||||
@ -56,4 +58,12 @@ config HAS_VDD_LC_FILTER_REG1
|
||||
Indicates that a board is equipped with an external LC filter circuit
|
||||
attached to the CPUs voltage regulator stage 1.
|
||||
|
||||
|
||||
config MODULE_CPU_COMMON
|
||||
bool
|
||||
depends on TEST_KCONFIG
|
||||
default y
|
||||
|
||||
rsource "periph/Kconfig.nrf5x"
|
||||
|
||||
source "$(RIOTCPU)/cortexm_common/Kconfig"
|
||||
|
||||
36
cpu/nrf5x_common/periph/Kconfig.nrf5x
Normal file
36
cpu/nrf5x_common/periph/Kconfig.nrf5x
Normal file
@ -0,0 +1,36 @@
|
||||
# Copyright (c) 2021 Inria
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU Lesser
|
||||
# General Public License v2.1. See the file LICENSE in the top level
|
||||
# directory for more details.
|
||||
#
|
||||
|
||||
config HAVE_SAUL_NRF_TEMPERATURE
|
||||
bool
|
||||
select MODULE_SAUL_NRF_TEMPERATURE if MODULE_SAUL_DEFAULT && HAS_PERIPH_TEMPERATURE
|
||||
help
|
||||
Indicates that a SAUL wrapper to the temperature peripheral is present.
|
||||
|
||||
if TEST_KCONFIG
|
||||
|
||||
config MODULE_NRF5X_COMMON_PERIPH
|
||||
bool
|
||||
default y
|
||||
help
|
||||
nrf52 common peripheral code.
|
||||
|
||||
config MODULE_VDD_LC_FILTER_REG0
|
||||
bool
|
||||
depends on HAS_VDD_LC_FILTER_REG0
|
||||
default y
|
||||
help
|
||||
Use the LC filter attached to the CPUs voltage regulator
|
||||
|
||||
config MODULE_VDD_LC_FILTER_REG1
|
||||
bool
|
||||
depends on HAS_VDD_LC_FILTER_REG1
|
||||
default y
|
||||
help
|
||||
Use the LC filter attached to the CPUs voltage regulator
|
||||
|
||||
endif # TEST_KCONFIG
|
||||
52
cpu/nrf5x_common/radio/Kconfig.nrf5x
Normal file
52
cpu/nrf5x_common/radio/Kconfig.nrf5x
Normal file
@ -0,0 +1,52 @@
|
||||
# Copyright (c) 2021 Inria
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU Lesser
|
||||
# General Public License v2.1. See the file LICENSE in the top level
|
||||
# directory for more details.
|
||||
#
|
||||
|
||||
config HAVE_NRF5X_RADIO
|
||||
bool
|
||||
select NRF5X_RADIO if MODULE_NETDEV_DEFAULT
|
||||
help
|
||||
Indicates that an NRF5X radio is present.
|
||||
|
||||
if TEST_KCONFIG
|
||||
|
||||
menuconfig NRF5X_RADIO
|
||||
bool "nrf5x radio driver"
|
||||
depends on HAVE_NRF5X_RADIO
|
||||
depends on TEST_KCONFIG
|
||||
|
||||
if NRF5X_RADIO
|
||||
|
||||
choice NRF5X_RADIO_BACKEND
|
||||
bool "nrf5x radio backend"
|
||||
|
||||
config MODULE_NRF802154
|
||||
bool "Implementation of the IEEE 802.15.4 for nRF52 radio"
|
||||
depends on HAS_RADIO_NRF802154
|
||||
depends on HAS_PERIPH_TIMER
|
||||
select MODULE_LUID
|
||||
select MODULE_PERIPH_TIMER
|
||||
select MODULE_IEEE802154
|
||||
|
||||
config MODULE_NRFBLE
|
||||
bool "Bluetooth low energy radio driver"
|
||||
depends on HAS_RADIO_NRFBLE
|
||||
help
|
||||
Bluetooth low energy radio driver for nRF5x SoCs
|
||||
|
||||
config MODULE_NRFMIN
|
||||
bool "nrfmin radio driver"
|
||||
depends on HAS_RADIO_NRFMIN
|
||||
help
|
||||
nrfmin radio driver for nRF51 radios
|
||||
|
||||
endchoice
|
||||
|
||||
endif # NRF5X_RADIO
|
||||
|
||||
endif # TEST_KCONFIG
|
||||
|
||||
rsource "$(RIOTCPU)/nrf52/radio/nrf802154/Kconfig"
|
||||
@ -9,7 +9,8 @@ rsource "at86rf215/Kconfig"
|
||||
rsource "ata8520e/Kconfig"
|
||||
rsource "can_trx/Kconfig"
|
||||
rsource "cc110x/Kconfig"
|
||||
source "$(RIOTCPU)/cc2538/radio/Kconfig"
|
||||
rsource "$(RIOTCPU)/cc2538/radio/Kconfig"
|
||||
rsource "$(RIOTCPU)/nrf5x_common/radio/Kconfig.nrf5x"
|
||||
rsource "dose/Kconfig"
|
||||
rsource "mcp2515/Kconfig"
|
||||
rsource "mrf24j40/Kconfig"
|
||||
@ -20,5 +21,4 @@ rsource "slipdev/Kconfig"
|
||||
rsource "sx126x/Kconfig"
|
||||
rsource "sx127x/Kconfig"
|
||||
rsource "tja1042/Kconfig"
|
||||
source "$(RIOTCPU)/nrf52/radio/nrf802154/Kconfig"
|
||||
endmenu # Network Device Drivers
|
||||
|
||||
@ -5,6 +5,12 @@
|
||||
# directory for more details.
|
||||
#
|
||||
|
||||
config HAVE_LIS2DH12
|
||||
bool
|
||||
select MODULE_LIS2DH12 if MODULE_SAUL_DEFAULT
|
||||
help
|
||||
Indicates that a lisdh12 is present
|
||||
|
||||
menuconfig MODULE_LIS2DH12
|
||||
bool "LIS2DH12 Accelerometer"
|
||||
depends on TEST_KCONFIG
|
||||
|
||||
@ -8,38 +8,38 @@
|
||||
config HAVE_MTD_AT24CXXX
|
||||
bool
|
||||
depends on MODULE_AT24CXXX
|
||||
select MODULE_MTD_AT24CXXX if MODULE_MTD
|
||||
imply MODULE_MTD_AT24CXXX if MODULE_MTD
|
||||
help
|
||||
Indicates that a at24cxxx EEPROM MTD is present
|
||||
|
||||
config HAVE_MTD_AT25XXX
|
||||
bool
|
||||
depends on MODULE_AT25XXX
|
||||
select MODULE_MTD_AT25XXX if MODULE_MTD
|
||||
imply MODULE_MTD_AT25XXX if MODULE_MTD
|
||||
help
|
||||
Indicates that a at25xxx SPI-EEPROM MTD is present
|
||||
|
||||
config HAVE_MTD_NATIVE
|
||||
bool
|
||||
select MODULE_MTD_NATIVE if MODULE_MTD
|
||||
imply MODULE_MTD_NATIVE if MODULE_MTD
|
||||
help
|
||||
Indicates that a native MTD is present.
|
||||
|
||||
config HAVE_MTD_SD_SCARD
|
||||
bool
|
||||
select MODULE_MTD_SD_CARD if MODULE_MTD
|
||||
imply MODULE_MTD_SD_CARD if MODULE_MTD
|
||||
help
|
||||
Indicates that a sdcard MTD is present
|
||||
|
||||
config HAVE_MTD_SPI_NOR
|
||||
bool
|
||||
select MODULE_MTD_SPI_NOR if MODULE_MTD
|
||||
imply MODULE_MTD_SPI_NOR if MODULE_MTD
|
||||
help
|
||||
Indicates that a spi-nor MTD is present
|
||||
|
||||
config HAVE_MTD_SPI_MCI
|
||||
bool
|
||||
select MODULE_MTD_MCI if MODULE_MTD
|
||||
imply MODULE_MTD_MCI if MODULE_MTD
|
||||
help
|
||||
Indicates that a Multimedia Card Interface (MCI) MTD is present
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user