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