1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/nrf52/Makefile.features
2024-10-17 10:25:59 +02:00

59 lines
1.9 KiB
Makefile

ifneq (,$(filter nrf52832xxaa nrf52833xxaa nrf52840xxaa,$(CPU_MODEL)))
CPU_CORE = cortex-m4f
else
CPU_CORE = cortex-m4
endif
CPU_FAM = nrf52
# The 802.15.4 radio is not available on all SoCs
ifneq (,$(filter nrf52811xxaa nrf52820xxaa nrf52833xxaa nrf52840xxaa,$(CPU_MODEL)))
FEATURES_PROVIDED += radio_nrf802154
# the nrf802154 driver is supported by OpenWSN
FEATURES_PROVIDED += netif_openwsn
endif
# crypto features
ifneq (,$(filter nrf52840xxaa,$(CPU_MODEL)))
FEATURES_PROVIDED += periph_hash_sha_1
FEATURES_PROVIDED += periph_hash_sha_224
FEATURES_PROVIDED += periph_hash_sha_256
FEATURES_PROVIDED += periph_hash_sha_512
FEATURES_PROVIDED += periph_hmac_sha_256
FEATURES_PROVIDED += periph_cipher_aes_128_cbc
FEATURES_PROVIDED += periph_cipher_chacha20
FEATURES_PROVIDED += periph_ecc_p192r1
FEATURES_PROVIDED += periph_ecc_p256r1
FEATURES_PROVIDED += periph_ecc_ed25519
endif
# All nRF52 CPUs use UARTE (UART + EasyDMA) for UART, so that can be used
# in non-blocking mode
FEATURES_PROVIDED += periph_uart_nonblocking
# The ADC does not depend on any board configuration, so always available
FEATURES_PROVIDED += periph_adc
# So far, NimBLE netif does not support nrf51 platforms, so we use a dedicated
# feature to mark this
FEATURES_PROVIDED += ble_nimble_netif
# all nrf52 have an MPU
FEATURES_PROVIDED += cortexm_mpu
FEATURES_PROVIDED += periph_i2c_reconfigure
FEATURES_PROVIDED += periph_spi_gpio_mode
# On top of the default 1Mbit PHY mode, all nrf52 support the 2MBit PHY mode,
# and the 52840 does further support the coded PHYs
FEATURES_PROVIDED += ble_phy_2mbit
ifneq (,$(filter nrf52811% nrf52820% nrf52833% nrf52840%,$(CPU_MODEL)))
FEATURES_PROVIDED += ble_phy_coded
endif
ifneq (,$(filter nrf52840%,$(CPU_MODEL)))
FEATURES_PROVIDED += periph_cryptocell_310
endif
FEATURES_PROVIDED += ble_adv_ext
include $(RIOTCPU)/nrf5x_common/Makefile.features