1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-16 10:03:50 +01:00
RIOT/cpu/esp32/Kconfig.esp32h2
2025-09-12 11:25:41 +02:00

102 lines
3.1 KiB
Plaintext

# SPDX-FileCopyrightText: 2025 Gunar Schorcht
# SPDX-License-Identifier: LGPL-2.1-only
config CPU_FAM_ESP32H2
bool
select CPU_COMMON_ESP32X
select CPU_CORE_RV32IMAC
config CPU_FAM
default "esp32h2" if CPU_FAM_ESP32H2
## CPU Models
config CPU_MODEL_ESP32H2_FH2S
bool
select CPU_FAM_ESP32H2
help
ESP32-H2 CPU with 2 MB Flash
config CPU_MODEL_ESP32H2_FH4S
bool
select CPU_FAM_ESP32H2
help
ESP32-H2 CPU with 4 MB Flash
## CPU Modules
config CPU_MODEL_ESP32H2_MINI_1X_H2S
bool
select CPU_MODEL_ESP32H2_FH2S
help
ESP32-H2-MINI-1-H2S or ESP32-H2-MINI-1U-H2S module with 2 MB Flash
config CPU_MODEL_ESP32H2_MINI_1X_H4S
bool
select CPU_MODEL_ESP32H2_FH4S
help
ESP32-H2-MINI-1-H4S or ESP32-H2-MINI-1U-H4S module with 4 MB Flash
config CPU_MODEL_ESP32H2_WROOM_02C_H2S
bool
select CPU_MODEL_ESP32H2_FH2S
help
ESP32-H2-WROOM-02C-H2S module with 2 MB Flash
config CPU_MODEL_ESP32H2_WROOM_02C_H4S
bool
select CPU_MODEL_ESP32H2_FH4S
help
ESP32-H2-WROOM-02C-H4S module with 2 MB Flash
## Choice
config CPU_MODEL
depends on CPU_FAM_ESP32H2
default "esp32h2_mini_1x_h2s" if CPU_MODEL_ESP32H2_MINI_1X_H2S
default "esp32h2_mini_1x_h4s" if CPU_MODEL_ESP32H2_MINI_1X_H4S
default "esp32h2_wroom_02c_h2s" if CPU_MODEL_ESP32H2_WROOM_02C_H2S
default "esp32h2_wroom_02c_h4s" if CPU_MODEL_ESP32H2_WROOM_02C_H4S
default "esp32h2_fh2s" if CPU_MODEL_ESP32H2_FH2S
default "esp32h2_fh4s" if CPU_MODEL_ESP32H2_FH4S
if CPU_FAM_ESP32H2
menu "ESP32-H2 specific configurations"
depends on HAS_ARCH_ESP32
# define configuration menu entries for ESP32-H2 variant (family)
choice
bool "CPU clock frequency"
default ESP32H2_DEFAULT_CPU_FREQ_MHZ_96
help
CPU clock frequency used (default 96 MHz).
Please note that peripherals such as I2C or SPI might not work at
the specified clock frequency if the selected CPU clock frequency
is too low. These peripherals are clocked by the APB clock, which
has a clock rate of 32 MHz for CPU clock frequencies greater than
or equal to 32 MHz, but is equal to the CPU clock frequency for
CPU clock frequencies less than 32 MHz. Thus, for SPI, the APB
clock rate must be at least five times the SPI clock rate. For the
I2C hardware implementation, the APB clock rate must be at least
3 MHZ to use I2C in fast mode with a I2C clock rate of 400 kHz.
For the I2C software implementation, the maximum I2C clock rate
is 1/130 times the CPU clock rate.
config ESP32H2_DEFAULT_CPU_FREQ_MHZ_16
bool "16 MHz"
config ESP32H2_DEFAULT_CPU_FREQ_MHZ_32
bool "32 MHz"
config ESP32H2_DEFAULT_CPU_FREQ_MHZ_48
bool "48 MHz"
config ESP32H2_DEFAULT_CPU_FREQ_MHZ_64
bool "64 MHz"
config ESP32H2_DEFAULT_CPU_FREQ_MHZ_96
bool "96 MHz"
endchoice
# import configuration menu entries that are common for all ESP32x SoCs
rsource "Kconfig.common"
endmenu
endif # CPU_FAM_ESP32H2