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
|
2024-10-16 16:02:32 +02:00
|
|
|
$(error Unknown ESP32x SoC variant (family): $(CPU_FAM))
|
2022-07-18 08:27:12 +02:00
|
|
|
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
|
2024-01-23 09:05:13 +01:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_disconnect
|
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_input_pull_down
|
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_input_pull_up
|
2022-07-17 14:33:17 +02:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq
|
2024-05-20 10:39:10 +02:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq_edge_triggered_both
|
2022-07-17 14:33:17 +02:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq_level_triggered_high
|
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_irq_level_triggered_low
|
2024-01-23 09:05:13 +01:00
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_open_drain
|
|
|
|
FEATURES_PROVIDED += periph_gpio_ll_open_drain_pull_up
|
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
|
|
|
|
|
2023-06-28 17:31:54 +02:00
|
|
|
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
|
|
|
|
|
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
|