2022-08-09 15:56:39 +02:00
|
|
|
ifeq (esp32,$(CPU_FAM))
|
2022-07-18 08:27:12 +02:00
|
|
|
CPU_ARCH = xtensa
|
|
|
|
CPU_CORE = xtensa-lx6
|
2022-07-20 17:16:51 +02:00
|
|
|
else ifneq (,$(filter esp32c3,$(CPU_FAM)))
|
|
|
|
CPU_ARCH = rv32
|
|
|
|
CPU_CORE = rv32imc
|
2022-08-19 00:40:18 +02:00
|
|
|
else ifneq (,$(filter esp32s2 esp32s3,$(CPU_FAM)))
|
2022-08-09 15:56:39 +02:00
|
|
|
CPU_ARCH = xtensa
|
|
|
|
CPU_CORE = xtensa-lx7
|
2022-07-18 08:27:12 +02:00
|
|
|
else
|
|
|
|
$(error Unkwnown ESP32x SoC variant (family))
|
|
|
|
endif
|
|
|
|
|
2019-12-12 13:46:20 +01:00
|
|
|
# MCU defined features that are provided independent on board definitions
|
|
|
|
|
|
|
|
include $(RIOTCPU)/esp_common/Makefile.features
|
|
|
|
|
2018-05-04 15:44:29 +02:00
|
|
|
FEATURES_PROVIDED += arch_esp32
|
2023-03-26 18:30:37 +02:00
|
|
|
FEATURES_PROVIDED += esp_rmt
|
2019-08-16 15:47:12 +02:00
|
|
|
FEATURES_PROVIDED += esp_wifi_enterprise
|
2023-01-07 13:11:31 +01:00
|
|
|
FEATURES_PROVIDED += periph_flashpage
|
|
|
|
FEATURES_PROVIDED += periph_flashpage_in_address_space
|
|
|
|
FEATURES_PROVIDED += periph_flashpage_pagewise
|
2022-07-27 16:35:52 +02:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll
|
2022-07-17 14:33:17 +02:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq
|
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq_level_triggered_high
|
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq_level_triggered_low
|
2022-10-07 18:19:20 +02:00
|
|
|
FEATURES_PROVIDED += periph_spi_reconfigure
|
2022-02-17 11:08:11 +01:00
|
|
|
FEATURES_PROVIDED += puf_sram
|
2021-11-18 17:17:04 +01:00
|
|
|
|
2022-07-18 13:19:46 +02:00
|
|
|
ifeq (xtensa,$(CPU_ARCH))
|
|
|
|
FEATURES_PROVIDED += esp_hw_counter
|
|
|
|
endif
|
|
|
|
|
2022-08-11 10:14:56 +02:00
|
|
|
ifeq (esp32,$(CPU_FAM))
|
|
|
|
FEATURES_PROVIDED += ble_nimble
|
2022-08-11 12:46:41 +02:00
|
|
|
FEATURES_PROVIDED += ble_nimble_netif
|
2022-08-11 10:14:56 +02:00
|
|
|
FEATURES_PROVIDED += esp_ble
|
|
|
|
FEATURES_PROVIDED += esp_ble_esp32
|
2022-08-26 18:23:10 +02:00
|
|
|
else ifneq (,$(filter esp32c3 esp32s3,$(CPU_FAM)))
|
2022-08-26 17:10:36 +02:00
|
|
|
FEATURES_PROVIDED += ble_adv_ext
|
|
|
|
FEATURES_PROVIDED += ble_nimble
|
|
|
|
FEATURES_PROVIDED += ble_nimble_netif
|
|
|
|
FEATURES_PROVIDED += ble_phy_2mbit
|
|
|
|
FEATURES_PROVIDED += esp_ble
|
|
|
|
FEATURES_PROVIDED += esp_ble_esp32c3
|
2022-08-11 10:14:56 +02:00
|
|
|
endif
|
|
|
|
|
2022-08-19 00:40:18 +02:00
|
|
|
ifneq (,$(filter esp32-wrover% esp32s2%r2 esp32s3%r2 esp32s3%r8 esp32s3%r8v,$(CPU_MODEL)))
|
2021-11-30 10:35:16 +01:00
|
|
|
FEATURES_PROVIDED += esp_spi_ram
|
2022-08-09 15:56:39 +02:00
|
|
|
ifneq (,$(filter esp32s3%r8 esp32s3%r8v,$(CPU_MODEL)))
|
|
|
|
FEATURES_PROVIDED += esp_spi_oct
|
|
|
|
endif
|
2021-11-30 10:35:16 +01:00
|
|
|
endif
|
|
|
|
|
2021-11-18 17:17:04 +01:00
|
|
|
# This configuration enables modules that are only available when using Kconfig
|
|
|
|
# module modelling
|
|
|
|
ifeq (1, $(TEST_KCONFIG))
|
|
|
|
KCONFIG_ADD_CONFIG += $(RIOTCPU)/esp32/esp32.config
|
|
|
|
endif
|