espressif: Simplify the selection of the SPI flash frequency
This commit simplifies the selection of the SPI flash frequency for Espressif SoCs by using a standardized Kconfig-defined macro. Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
This commit is contained in:
parent
1e8250d918
commit
80559890ff
11 changed files with 59 additions and 42 deletions
|
|
@ -62,6 +62,7 @@ $(BOOTLOADER_CONFIG): $(TOPDIR)/.config $(BOOTLOADER_SRCDIR)
|
||||||
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
||||||
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_26M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_26M)) \
|
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_26M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_26M)) \
|
||||||
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
||||||
|
$(call cfg_val,CONFIG_ESPTOOLPY_FLASHFREQ,$(CONFIG_ESPRESSIF_FLASH_FREQ)) \
|
||||||
} > $(BOOTLOADER_CONFIG)
|
} > $(BOOTLOADER_CONFIG)
|
||||||
ifeq ($(CONFIG_ESPRESSIF_BOOTLOADER_MCUBOOT),y)
|
ifeq ($(CONFIG_ESPRESSIF_BOOTLOADER_MCUBOOT),y)
|
||||||
$(Q) { \
|
$(Q) { \
|
||||||
|
|
|
||||||
|
|
@ -1487,6 +1487,24 @@ config ESPRESSIF_FLASH_FREQ_20M
|
||||||
|
|
||||||
endchoice # ESPRESSIF_FLASH_FREQ
|
endchoice # ESPRESSIF_FLASH_FREQ
|
||||||
|
|
||||||
|
config ESPRESSIF_FLASH_FREQ
|
||||||
|
string
|
||||||
|
# On some of the ESP chips, max boot frequency would be equal to (or even lower than) 80m.
|
||||||
|
# We currently define this to `80m`.
|
||||||
|
default '80m' if ESPRESSIF_FLASH_FREQ_120M
|
||||||
|
default '80m' if ESPRESSIF_FLASH_FREQ_80M
|
||||||
|
default '60m' if ESPRESSIF_FLASH_FREQ_60M
|
||||||
|
default '48m' if ESPRESSIF_FLASH_FREQ_64M
|
||||||
|
default '48m' if ESPRESSIF_FLASH_FREQ_48M
|
||||||
|
default '24m' if ESPRESSIF_FLASH_FREQ_32M
|
||||||
|
default '30m' if ESPRESSIF_FLASH_FREQ_30M
|
||||||
|
default '24m' if ESPRESSIF_FLASH_FREQ_24M
|
||||||
|
default '40m' if ESPRESSIF_FLASH_FREQ_40M
|
||||||
|
default '26m' if ESPRESSIF_FLASH_FREQ_26M
|
||||||
|
default '20m' if ESPRESSIF_FLASH_FREQ_20M
|
||||||
|
default '12m' if ESPRESSIF_FLASH_FREQ_16M
|
||||||
|
default '20m' # if no clock can match in bin headers, go with minimal.
|
||||||
|
|
||||||
config ESPRESSIF_SPI_FLASH_USE_ROM_CODE
|
config ESPRESSIF_SPI_FLASH_USE_ROM_CODE
|
||||||
bool "Use SPI flash driver in ROM"
|
bool "Use SPI flash driver in ROM"
|
||||||
default n
|
default n
|
||||||
|
|
|
||||||
|
|
@ -433,24 +433,55 @@ endchoice # ESPRESSIF_FLASH_MODE
|
||||||
|
|
||||||
choice ESPRESSIF_FLASH_FREQ
|
choice ESPRESSIF_FLASH_FREQ
|
||||||
prompt "SPI Flash frequency"
|
prompt "SPI Flash frequency"
|
||||||
default ESPRESSIF_FLASH_FREQ_40M
|
default ESPRESSIF_FLASH_FREQ_120M if ESP32S3_FLASH_FREQ_120M
|
||||||
|
default ESPRESSIF_FLASH_FREQ_80M if ESP32_FLASH_FREQ_80M || ESP32S3_FLASH_FREQ_80M
|
||||||
|
default ESPRESSIF_FLASH_FREQ_40M if ESP32_FLASH_FREQ_40M || ESP32S3_FLASH_FREQ_40M
|
||||||
|
default ESPRESSIF_FLASH_FREQ_26M if ESP32_FLASH_FREQ_26M
|
||||||
|
default ESPRESSIF_FLASH_FREQ_20M if ESP32_FLASH_FREQ_20M || ESP32S3_FLASH_FREQ_20M
|
||||||
|
default ESPRESSIF_FLASH_FREQ_20M
|
||||||
---help---
|
---help---
|
||||||
SPI Flash frequency.
|
SPI Flash frequency.
|
||||||
|
|
||||||
|
config ESPRESSIF_FLASH_FREQ_120M
|
||||||
|
bool "120 MHz"
|
||||||
|
depends on ESP32S3_FLASH_FREQ_120M
|
||||||
|
|
||||||
config ESPRESSIF_FLASH_FREQ_80M
|
config ESPRESSIF_FLASH_FREQ_80M
|
||||||
bool "80 MHz"
|
bool "80 MHz"
|
||||||
|
depends on ESP32_FLASH_FREQ_80M || ESP32S3_FLASH_FREQ_80M
|
||||||
|
|
||||||
config ESPRESSIF_FLASH_FREQ_40M
|
config ESPRESSIF_FLASH_FREQ_40M
|
||||||
bool "40 MHz"
|
bool "40 MHz"
|
||||||
|
depends on ESP32_FLASH_FREQ_40M || ESP32S3_FLASH_FREQ_40M
|
||||||
|
|
||||||
config ESPRESSIF_FLASH_FREQ_26M
|
config ESPRESSIF_FLASH_FREQ_26M
|
||||||
bool "26 MHz"
|
bool "26 MHz"
|
||||||
|
depends on ESP32_FLASH_FREQ_26M
|
||||||
|
|
||||||
config ESPRESSIF_FLASH_FREQ_20M
|
config ESPRESSIF_FLASH_FREQ_20M
|
||||||
bool "20 MHz"
|
bool "20 MHz"
|
||||||
|
depends on ESP32_FLASH_FREQ_20M || ESP32S3_FLASH_FREQ_20M
|
||||||
|
|
||||||
endchoice # ESPRESSIF_FLASH_FREQ
|
endchoice # ESPRESSIF_FLASH_FREQ
|
||||||
|
|
||||||
|
config ESPRESSIF_FLASH_FREQ
|
||||||
|
string
|
||||||
|
# On some of the ESP chips, max boot frequency would be equal to (or even lower than) 80m.
|
||||||
|
# We currently define this to `80m`.
|
||||||
|
default '80m' if ESPRESSIF_FLASH_FREQ_120M
|
||||||
|
default '80m' if ESPRESSIF_FLASH_FREQ_80M
|
||||||
|
default '60m' if ESPRESSIF_FLASH_FREQ_60M
|
||||||
|
default '48m' if ESPRESSIF_FLASH_FREQ_64M
|
||||||
|
default '48m' if ESPRESSIF_FLASH_FREQ_48M
|
||||||
|
default '24m' if ESPRESSIF_FLASH_FREQ_32M
|
||||||
|
default '30m' if ESPRESSIF_FLASH_FREQ_30M
|
||||||
|
default '24m' if ESPRESSIF_FLASH_FREQ_24M
|
||||||
|
default '40m' if ESPRESSIF_FLASH_FREQ_40M
|
||||||
|
default '26m' if ESPRESSIF_FLASH_FREQ_26M
|
||||||
|
default '20m' if ESPRESSIF_FLASH_FREQ_20M
|
||||||
|
default '12m' if ESPRESSIF_FLASH_FREQ_16M
|
||||||
|
default '20m' # if no clock can match in bin headers, go with minimal.
|
||||||
|
|
||||||
if ESPRESSIF_HAVE_OTA_PARTITION
|
if ESPRESSIF_HAVE_OTA_PARTITION
|
||||||
|
|
||||||
comment "Application Image OTA Update support"
|
comment "Application Image OTA Update support"
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,7 @@ endif
|
||||||
$(if $(CONFIG_ESP32_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
$(if $(CONFIG_ESP32_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
||||||
$(if $(CONFIG_ESP32_FLASH_FREQ_26M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_26M)) \
|
$(if $(CONFIG_ESP32_FLASH_FREQ_26M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_26M)) \
|
||||||
$(if $(CONFIG_ESP32_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
$(if $(CONFIG_ESP32_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
||||||
|
$(call cfg_val,CONFIG_ESPTOOLPY_FLASHFREQ,$(CONFIG_ESPRESSIF_FLASH_FREQ)) \
|
||||||
} > $(BOOTLOADER_CONFIG)
|
} > $(BOOTLOADER_CONFIG)
|
||||||
ifeq ($(CONFIG_ESP32_APP_FORMAT_MCUBOOT),y)
|
ifeq ($(CONFIG_ESP32_APP_FORMAT_MCUBOOT),y)
|
||||||
$(Q) { \
|
$(Q) { \
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,7 @@ endif
|
||||||
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
||||||
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_26M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_26M)) \
|
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_26M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_26M)) \
|
||||||
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
$(if $(CONFIG_ESPRESSIF_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
||||||
|
$(call cfg_val,CONFIG_ESPTOOLPY_FLASHFREQ,$(CONFIG_ESPRESSIF_FLASH_FREQ)) \
|
||||||
$(if $(CONFIG_ESP32S2_SECURE_BOOT),$(call cfg_en,CONFIG_SECURE_BOOT)$(call cfg_en,CONFIG_SECURE_BOOT_V2_ENABLED)$(call cfg_val,CONFIG_ESP_SIGN_KEY_FILE,$(abspath $(TOPDIR)/$(ESPSEC_KEYDIR)/$(subst ",,$(CONFIG_ESP32S2_SECURE_BOOT_APP_SIGNING_KEY))))) \
|
$(if $(CONFIG_ESP32S2_SECURE_BOOT),$(call cfg_en,CONFIG_SECURE_BOOT)$(call cfg_en,CONFIG_SECURE_BOOT_V2_ENABLED)$(call cfg_val,CONFIG_ESP_SIGN_KEY_FILE,$(abspath $(TOPDIR)/$(ESPSEC_KEYDIR)/$(subst ",,$(CONFIG_ESP32S2_SECURE_BOOT_APP_SIGNING_KEY))))) \
|
||||||
$(if $(CONFIG_ESP32S2_SECURE_SIGNED_APPS_SCHEME_RSA_2048),$(call cfg_en,CONFIG_ESP_USE_MBEDTLS)$(call cfg_en,CONFIG_ESP_SIGN_RSA)$(call cfg_val,CONFIG_ESP_SIGN_RSA_LEN,2048)) \
|
$(if $(CONFIG_ESP32S2_SECURE_SIGNED_APPS_SCHEME_RSA_2048),$(call cfg_en,CONFIG_ESP_USE_MBEDTLS)$(call cfg_en,CONFIG_ESP_SIGN_RSA)$(call cfg_val,CONFIG_ESP_SIGN_RSA_LEN,2048)) \
|
||||||
$(if $(CONFIG_ESP32S2_SECURE_SIGNED_APPS_SCHEME_RSA_3072),$(call cfg_en,CONFIG_ESP_USE_MBEDTLS)$(call cfg_en,CONFIG_ESP_SIGN_RSA)$(call cfg_val,CONFIG_ESP_SIGN_RSA_LEN,3072)) \
|
$(if $(CONFIG_ESP32S2_SECURE_SIGNED_APPS_SCHEME_RSA_3072),$(call cfg_en,CONFIG_ESP_USE_MBEDTLS)$(call cfg_en,CONFIG_ESP_SIGN_RSA)$(call cfg_val,CONFIG_ESP_SIGN_RSA_LEN,3072)) \
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ $(BOOTLOADER_CONFIG): $(TOPDIR)/.config $(BOOTLOADER_DIR)
|
||||||
$(if $(CONFIG_ESP32S3_FLASH_FREQ_80M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_80M)) \
|
$(if $(CONFIG_ESP32S3_FLASH_FREQ_80M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_80M)) \
|
||||||
$(if $(CONFIG_ESP32S3_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
$(if $(CONFIG_ESP32S3_FLASH_FREQ_40M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_40M)) \
|
||||||
$(if $(CONFIG_ESP32S3_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
$(if $(CONFIG_ESP32S3_FLASH_FREQ_20M),$(call cfg_en,CONFIG_ESPTOOLPY_FLASHFREQ_20M)) \
|
||||||
|
$(call cfg_val,CONFIG_ESPTOOLPY_FLASHFREQ,$(CONFIG_ESPRESSIF_FLASH_FREQ)) \
|
||||||
} > $(BOOTLOADER_CONFIG)
|
} > $(BOOTLOADER_CONFIG)
|
||||||
ifeq ($(CONFIG_ESP32S3_APP_FORMAT_MCUBOOT),y)
|
ifeq ($(CONFIG_ESP32S3_APP_FORMAT_MCUBOOT),y)
|
||||||
$(Q) { \
|
$(Q) { \
|
||||||
|
|
|
||||||
|
|
@ -44,15 +44,7 @@ else ifeq ($(CONFIG_ESP32_FLASH_MODE_QOUT),y)
|
||||||
FLASH_MODE := qout
|
FLASH_MODE := qout
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32_FLASH_FREQ_80M),y)
|
FLASH_FREQ := $(CONFIG_ESPRESSIF_FLASH_FREQ)
|
||||||
FLASH_FREQ := 80m
|
|
||||||
else ifeq ($(CONFIG_ESP32_FLASH_FREQ_40M),y)
|
|
||||||
FLASH_FREQ := 40m
|
|
||||||
else ifeq ($(CONFIG_ESP32_FLASH_FREQ_26M),y)
|
|
||||||
FLASH_FREQ := 26m
|
|
||||||
else ifeq ($(CONFIG_ESP32_FLASH_FREQ_20M),y)
|
|
||||||
FLASH_FREQ := 20m
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32_FLASH_DETECT),y)
|
ifeq ($(CONFIG_ESP32_FLASH_DETECT),y)
|
||||||
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
||||||
|
|
|
||||||
|
|
@ -44,15 +44,7 @@ else ifeq ($(CONFIG_ESPRESSIF_FLASH_MODE_QOUT),y)
|
||||||
FLASH_MODE := qout
|
FLASH_MODE := qout
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_80M),y)
|
FLASH_FREQ := $(CONFIG_ESPRESSIF_FLASH_FREQ)
|
||||||
FLASH_FREQ := 80m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_40M),y)
|
|
||||||
FLASH_FREQ := 40m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_26M),y)
|
|
||||||
FLASH_FREQ := 26m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_20M),y)
|
|
||||||
FLASH_FREQ := 20m
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32S2_FLASH_DETECT),y)
|
ifeq ($(CONFIG_ESP32S2_FLASH_DETECT),y)
|
||||||
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
||||||
|
|
|
||||||
|
|
@ -44,15 +44,7 @@ else ifeq ($(CONFIG_ESP32S3_FLASH_MODE_QOUT),y)
|
||||||
FLASH_MODE := qout
|
FLASH_MODE := qout
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32S3_FLASH_FREQ_120M),y)
|
FLASH_FREQ := $(CONFIG_ESPRESSIF_FLASH_FREQ)
|
||||||
FLASH_FREQ := 120m
|
|
||||||
else ifeq ($(CONFIG_ESP32S3_FLASH_FREQ_80M),y)
|
|
||||||
FLASH_FREQ := 80m
|
|
||||||
else ifeq ($(CONFIG_ESP32S3_FLASH_FREQ_40M),y)
|
|
||||||
FLASH_FREQ := 40m
|
|
||||||
else ifeq ($(CONFIG_ESP32S3_FLASH_FREQ_20M),y)
|
|
||||||
FLASH_FREQ := 20m
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32S3_FLASH_DETECT),y)
|
ifeq ($(CONFIG_ESP32S3_FLASH_DETECT),y)
|
||||||
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
||||||
|
|
|
||||||
|
|
@ -48,19 +48,7 @@ else ifeq ($(CONFIG_ESPRESSIF_FLASH_MODE_QOUT),y)
|
||||||
FLASH_MODE := qout
|
FLASH_MODE := qout
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_80M),y)
|
FLASH_FREQ := $(CONFIG_ESPRESSIF_FLASH_FREQ)
|
||||||
FLASH_FREQ := 80m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_64M),y)
|
|
||||||
FLASH_FREQ := 48m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_48M),y)
|
|
||||||
FLASH_FREQ := 48m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_40M),y)
|
|
||||||
FLASH_FREQ := 40m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_26M),y)
|
|
||||||
FLASH_FREQ := 26m
|
|
||||||
else ifeq ($(CONFIG_ESPRESSIF_FLASH_FREQ_20M),y)
|
|
||||||
FLASH_FREQ := 20m
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESPRESSIF_FLASH_DETECT),y)
|
ifeq ($(CONFIG_ESPRESSIF_FLASH_DETECT),y)
|
||||||
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
ESPTOOL_WRITEFLASH_OPTS := -fs detect -fm dio -ff $(FLASH_FREQ)
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ build_mcuboot() {
|
||||||
mcuboot_flashmode="dio"
|
mcuboot_flashmode="dio"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mcuboot_flashfreq=$(sed -n 's/^CONFIG_ESPTOOLPY_FLASHFREQ_\(.*\)M=1/\1m/p' "${mcuboot_config}")
|
mcuboot_flashfreq=$(grep -oP '^CONFIG_ESPTOOLPY_FLASHFREQ=\K.*' "${mcuboot_config}")
|
||||||
if [ -z "${mcuboot_flashfreq}" ]; then
|
if [ -z "${mcuboot_flashfreq}" ]; then
|
||||||
mcuboot_flashfreq="40m"
|
mcuboot_flashfreq="40m"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue