ifeq (esp32,$(CPU_FAM)) CPU_ARCH = xtensa CPU_CORE = xtensa-lx6 else ifneq (,$(filter esp32c3,$(CPU_FAM))) CPU_ARCH = rv32 CPU_CORE = rv32imc else ifneq (,$(filter esp32s2 esp32s3,$(CPU_FAM))) CPU_ARCH = xtensa CPU_CORE = xtensa-lx7 else $(error Unknown ESP32x SoC variant (family): $(CPU_FAM)) endif # MCU defined features that are provided independent on board definitions include $(RIOTCPU)/esp_common/Makefile.features FEATURES_PROVIDED += arch_esp32 FEATURES_PROVIDED += esp_rmt FEATURES_PROVIDED += esp_wifi_enterprise FEATURES_PROVIDED += periph_flashpage FEATURES_PROVIDED += periph_flashpage_in_address_space FEATURES_PROVIDED += periph_flashpage_pagewise FEATURES_PROVIDED += periph_gpio_ll FEATURES_PROVIDED += periph_gpio_ll_disconnect FEATURES_PROVIDED += periph_gpio_ll_input_pull_down FEATURES_PROVIDED += periph_gpio_ll_input_pull_up FEATURES_PROVIDED += periph_gpio_ll_irq FEATURES_PROVIDED += periph_gpio_ll_irq_edge_triggered_both FEATURES_PROVIDED += periph_gpio_ll_irq_level_triggered_high FEATURES_PROVIDED += periph_gpio_ll_irq_level_triggered_low FEATURES_PROVIDED += periph_gpio_ll_open_drain FEATURES_PROVIDED += periph_gpio_ll_open_drain_pull_up FEATURES_PROVIDED += periph_spi_reconfigure FEATURES_PROVIDED += puf_sram ifeq (xtensa,$(CPU_ARCH)) FEATURES_PROVIDED += esp_hw_counter endif ifeq (esp32,$(CPU_FAM)) FEATURES_PROVIDED += ble_nimble FEATURES_PROVIDED += ble_nimble_netif FEATURES_PROVIDED += esp_ble FEATURES_PROVIDED += esp_ble_esp32 else ifneq (,$(filter esp32c3 esp32s3,$(CPU_FAM))) 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 endif ifneq (,$(filter esp32 esp32s3,$(CPU_FAM))) FEATURES_PROVIDED += periph_sdmmc_auto_clk FEATURES_PROVIDED += periph_sdmmc_auto_cmd12 FEATURES_PROVIDED += periph_sdmmc_mmc ifeq (esp32s3,$(CPU_FAM)) FEATURES_PROVIDED += periph_sdmmc_hs endif endif ifneq (,$(filter esp32-wrover% esp32s2%r2 esp32s3%r2 esp32s3%r8 esp32s3%r8v,$(CPU_MODEL))) FEATURES_PROVIDED += esp_spi_ram ifneq (,$(filter esp32s3%r8 esp32s3%r8v,$(CPU_MODEL))) FEATURES_PROVIDED += esp_spi_oct endif endif