1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-25 06:23:53 +01:00

cpu/esp32/esp-idf: add ESP32-C6 support

This commit is contained in:
Gunar Schorcht 2025-04-22 18:08:42 +02:00
parent 90c95dad12
commit 806b6a82b5
5 changed files with 36 additions and 6 deletions

View File

@ -4,7 +4,7 @@ ifeq (esp32,$(CPU_FAM))
# source files to be compiled for this module for ESP32
ESP32_SDK_SRC += components/bt/controller/$(CPU_FAM)/bt.c
ESP32_SDK_SRC += components/esp_system/esp_system.c
else ifeq (esp32h2,$(CPU_FAM))
else ifneq (,$(filter esp32c6 esp32h2,$(CPU_FAM)))
# source files to be compiled for this module for ESP32H2
ESP32_SDK_SRC += components/bt/controller/$(CPU_FAM)/bt.c
ESP32_SDK_SRC += components/bt/porting/mem/bt_osi_mem.c
@ -18,7 +18,7 @@ else ifneq (,$(filter esp32s3 esp32c3,$(CPU_FAM)))
ESP32_SDK_SRC += components/esp_system/esp_system.c
endif
ifeq (esp32h2,$(CPU_FAM))
ifneq (,$(filter esp32c6 esp32h2,$(CPU_FAM)))
# ESP-IDF npl includes have to be found before the includes of pkg/nimble
INCLUDES := -I$(ESP32_SDK_DIR)/components/bt/porting/npl/freertos/include $(INCLUDES)
INCLUDES += -I$(ESP32_SDK_DIR)/components/bt/porting/transport/include

View File

@ -66,7 +66,16 @@ endif
ifneq (,$(filter esp_idf_phy,$(USEMODULE)))
ESP32_SDK_SRC += components/esp_phy/src/phy_common.c
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_phy/include
ifeq (esp32h2,$(CPU_FAM))
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_phy/$(CPU_FAM)/include
ifeq (esp32c6,$(CPU_FAM))
ESP32_SDK_SRC += components/esp_phy/$(CPU_FAM)/phy_init_data.c
ESP32_SDK_SRC += components/esp_phy/src/btbb_init.c
ESP32_SDK_SRC += components/esp_phy/src/phy_init.c
ESP32_SDK_SRC += components/esp_phy/src/phy_override.c
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_event/include
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_netif/include
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_wifi/include
else ifeq (esp32h2,$(CPU_FAM))
ESP32_SDK_SRC += components/esp_phy/src/btbb_init.c
ESP32_SDK_SRC += components/esp_phy/src/phy_init_esp32hxx.c
ESP32_SDK_SRC += components/esp_phy/src/phy_override.c
@ -77,7 +86,6 @@ ifneq (,$(filter esp_idf_phy,$(USEMODULE)))
ESP32_SDK_SRC += components/soc/esp32/dport_access.c
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_event/include
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_netif/include
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_phy/$(CPU_FAM)/include
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_wifi/include
ifeq (,$(filter esp_idf_wifi,$(USEMODULE)))
ESP32_SDK_SRC += components/esp_wifi/src/wifi_init.c
@ -166,6 +174,23 @@ else ifeq (esp32c3,$(CPU_FAM))
ESP32_SDK_SRC += components/hal/$(CPU_FAM)/rtc_cntl_hal.c
ESP32_SDK_SRC += components/hal/cache_hal.c
ESP32_SDK_SRC += components/hal/systimer_hal.c
else ifeq (esp32c6,$(CPU_FAM))
ESP32_SDK_SRC += components/esp_rom/patches/esp_rom_hp_regi2c_$(CPU_FAM).c
ESP32_SDK_SRC += components/esp_hw_support/lowpower/port/$(CPU_FAM)/sleep_cpu.c
ESP32_SDK_SRC += components/esp_hw_support/modem_clock.c
ESP32_SDK_SRC += components/esp_hw_support/port/$(CPU_FAM)/ocode_init.c
ESP32_SDK_SRC += components/esp_hw_support/port/$(CPU_FAM)/systimer.c
ESP32_SDK_SRC += components/esp_hw_support/port/pau_regdma.c
ESP32_SDK_SRC += components/esp_hw_support/port/regdma_link.c
ESP32_SDK_SRC += components/esp_hw_support/sleep_console.c
ESP32_SDK_SRC += components/esp_pm/pm_impl.c
ESP32_SDK_SRC += components/esp_timer/src/esp_timer_impl_systimer.c
ESP32_SDK_SRC += components/hal/$(CPU_FAM)/pau_hal.c
ESP32_SDK_SRC += components/hal/apm_hal.c
ESP32_SDK_SRC += components/hal/cache_hal.c
ESP32_SDK_SRC += components/hal/lp_timer_hal.c
ESP32_SDK_SRC += components/hal/systimer_hal.c
ESP32_SDK_ASMSRC += components/esp_hw_support/lowpower/port/$(CPU_FAM)/sleep_cpu_asm.S
else ifeq (esp32h2,$(CPU_FAM))
ESP32_SDK_SRC += components/esp_rom/patches/esp_rom_regi2c_$(CPU_FAM).c
ESP32_SDK_SRC += components/esp_hw_support/lowpower/port/$(CPU_FAM)/sleep_cpu.c

View File

@ -28,6 +28,11 @@ ifneq (,$(filter xtensa%,$(TARGET_ARCH)))
INCLUDES += -I$(ESP32_SDK_DIR)/components/xtensa/$(CPU_FAM)/include
endif
ifeq (esp32c6,$(CPU_FAM))
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/include/esp_private
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/port/$(CPU_FAM)/private_include
endif
ifeq (esp32h2,$(CPU_FAM))
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/include/esp_private
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/port/$(CPU_FAM)/private_include

View File

@ -46,6 +46,6 @@ ifneq (,$(filter riscv32%,$(TARGET_ARCH)))
CFLAGS += -nostartfiles
endif
ifeq (esp32h2,$(CPU_FAM))
ifneq (,$(filter esp32c6 esp32h2,$(CPU_FAM)))
CFLAGS += -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE
endif

View File

@ -23,7 +23,7 @@ ESP32_SDK_SRC = \
components/spi_flash/spi_flash_chip_winbond.c \
#
ifneq (,$(filter esp32s2 esp32s3 esp32c3 esp32h2,$(CPU_FAM)))
ifneq (,$(filter esp32s2 esp32s3 esp32c3 esp32c6 esp32h2,$(CPU_FAM)))
ESP32_SDK_SRC += components/hal/spi_flash_hal_gpspi.c
endif