Split out flash and psram settings from sdkconfig

This commit is contained in:
Scott Shawcroft 2023-08-29 16:00:27 -07:00
parent 6043874969
commit 73e04e84a2
No known key found for this signature in database
GPG Key ID: 0DFD512649C052DA
41 changed files with 547 additions and 1421 deletions

View File

@ -5,10 +5,8 @@ cmake_minimum_required(VERSION 3.16)
set(ENV{IDF_PATH} ${CMAKE_SOURCE_DIR}/esp-idf)
# The component list here determines what options we get in menuconfig and what the ninja file can build.
set(COMPONENTS bt driver esp-tls esp_adc_cal esp_event esp_netif esp_psram esp_wifi esptool_py freertos log lwip main mbedtls mdns soc ulp usb wpa_supplicant esp_lcd)
set(EXTRA_COMPONENT_DIRS "esp-protocols/components/mdns")
list(APPEND EXTRA_COMPONENT_DIRS "esp32-camera")
set(COMPONENTS bt driver esp-tls esp_adc_cal esp_event esp_netif esp_psram esp_wifi esptool_py freertos log lwip main mbedtls mdns soc ulp usb wpa_supplicant esp32-camera esp_lcd)
set(EXTRA_COMPONENT_DIRS "esp-protocols/components/mdns" "esp32-camera")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(circuitpython)

View File

@ -340,16 +340,26 @@ $(BUILD)/esp-idf:
TARGET_SDKCONFIG = esp-idf-config/sdkconfig-$(IDF_TARGET).defaults
ifeq ($(CIRCUITPY_ESP_FLASH_SIZE), 2MB)
FLASH_SDKCONFIG ?= esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota-no-uf2.defaults
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota-no-uf2.defaults
else
UF2_BOOTLOADER ?= $(CIRCUITPY_USB)
ifeq ($(UF2_BOOTLOADER), 1)
FLASH_SDKCONFIG ?= esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE).defaults
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE).defaults
else
FLASH_SDKCONFIG ?= esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE)-no-uf2.defaults
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-uf2.defaults
endif
endif
FLASH_MODE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_MODE).defaults
FLASH_SPEED_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_FREQ).defaults
ifneq ($(CIRCUITPY_ESP_PSRAM_SIZE), 0)
PSRAM_SDKCONFIG = esp-idf-config/sdkconfig-psram.defaults
PSRAM_SIZE_SDKCONFIG = esp-idf-config/sdkconfig-psram-$(CIRCUITPY_ESP_PSRAM_SIZE).defaults
PSRAM_MODE_SDKCONFIG = esp-idf-config/sdkconfig-psram-$(CIRCUITPY_ESP_PSRAM_MODE).defaults
PSRAM_SPEED_SDKCONFIG = esp-idf-config/sdkconfig-psram-$(CIRCUITPY_ESP_PSRAM_FREQ).defaults
endif
ifeq ($(DEBUG), 1)
DEBUG_SDKCONFIG = esp-idf-config/sdkconfig-debug.defaults
@ -357,7 +367,7 @@ else
DEBUG_SDKCONFIG = esp-idf-config/sdkconfig-opt.defaults
endif
SDKCONFIGS := esp-idf-config/sdkconfig.defaults;$(DEBUG_SDKCONFIG);$(FLASH_SDKCONFIG);$(TARGET_SDKCONFIG);boards/$(BOARD)/sdkconfig
SDKCONFIGS := esp-idf-config/sdkconfig.defaults;$(DEBUG_SDKCONFIG);$(FLASH_SIZE_SDKCONFIG);$(FLASH_MODE_SDKCONFIG);$(FLASH_SPEED_SDKCONFIG);$(PSRAM_SDKCONFIG);$(PSRAM_SIZE_SDKCONFIG);$(PSRAM_MODE_SDKCONFIG);$(PSRAM_SPEED_SDKCONFIG);$(TARGET_SDKCONFIG);boards/$(BOARD)/sdkconfig
ifneq ($(CIRCUITPY_BLEIO),0)
SDKCONFIGS := esp-idf-config/sdkconfig-ble.defaults;$(SDKCONFIGS)
endif
@ -365,7 +375,7 @@ endif
.PHONY: do-sdkconfig
do-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h
QSTR_GLOBAL_REQUIREMENTS += $(BUILD)/esp-idf/config/sdkconfig.h
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig CMakeLists.txt | $(BUILD)/esp-idf
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig boards/$(BOARD)/mpconfigboard.mk CMakeLists.txt | $(BUILD)/esp-idf
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja
# build a lib
@ -385,10 +395,11 @@ $(BUILD)/esp-idf/partition_table/partition-table.bin: $(BUILD)/esp-idf/config/sd
# run menuconfig and then remove standard settings
menuconfig: $(BUILD)/esp-idf/config $(BUILD)/esp-idf/config/sdkconfig.h
$(Q)ninja -C $(BUILD)/esp-idf menuconfig
# Newer versions of the idf will have save-defconfig that will only include non-default values.
# We should use that when available. For now, we sort out everything.
python tools/update_sdkconfig.py --board=$(BOARD) --debug=$(DEBUG)
update-all-sdkconfigs: $(BUILD)/esp-idf/config/sdkconfig.h
python tools/update_sdkconfig.py --update_all --board=$(BOARD) --debug=$(DEBUG)
BINARY_WIFI_BLOBS = libcoexist.a libcore.a libespnow.a libmesh.a libnet80211.a libpp.a libsmartconfig.a libwapi.a
BINARY_BLOBS = esp-idf/components/esp_phy/lib/$(IDF_TARGET)/libphy.a $(addprefix esp-idf/components/esp_wifi/lib/$(IDF_TARGET)/, $(BINARY_WIFI_BLOBS))
ifeq ($(IDF_TARGET),esp32)
@ -449,7 +460,26 @@ IDF_CMAKE_TARGETS = \
PARTITION_TABLE_OFFSET = 0x8000
FIRMWARE_OFFSET = 0x10000
FLASH_FLAGS = --flash_mode $(CIRCUITPY_ESP_FLASH_MODE) --flash_freq $(CIRCUITPY_ESP_FLASH_FREQ) --flash_size $(CIRCUITPY_ESP_FLASH_SIZE)
# Map the flash's run mode to flashing mode (only dual is supported by the early bootloaders).
# https://github.com/espressif/esp-idf/blob/82cceabc6e6a0a2d8c40e2249bc59917cc5e577a/components/esptool_py/Kconfig.projbuild#L74-L87
ifeq ($(CIRCUITPY_ESP_FLASH_MODE),dout)
ESPTOOLPY_FLASHMODE = "dout"
endif
ifeq ($(CIRCUITPY_ESP_FLASH_MODE),opi)
ESPTOOLPY_FLASHMODE = "dout"
endif
# Most modes can flash with dio
ESPTOOLPY_FLASHMODE ?= "dio"
# Cap the flash speed to 80m.
# https://github.com/espressif/esp-idf/blob/82cceabc6e6a0a2d8c40e2249bc59917cc5e577a/components/esptool_py/Kconfig.projbuild#L74-L87
ifeq ($(CIRCUITPY_ESP_FLASH_FREQ),120m)
ESPTOOLPY_FLASHFREQ = "80m"
else
ESPTOOLPY_FLASHFREQ = $(CIRCUITPY_ESP_FLASH_FREQ)
endif
FLASH_FLAGS = --flash_mode $(ESPTOOLPY_FLASHMODE) --flash_freq $(ESPTOOLPY_FLASHFREQ) --flash_size $(CIRCUITPY_ESP_FLASH_SIZE)
ESPTOOL_FLAGS ?= --before=default_reset --after=no_reset --baud 921600

View File

@ -9,6 +9,8 @@ CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m
FLASH_SDKCONFIG = esp-idf-config/sdkconfig-4MB-1ota.defaults
CIRCUITPY_AUDIOBUSIO = 0

View File

@ -1,62 +1,15 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# ESP32S3-Specific
#
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
#
# SPI RAM config
#
CONFIG_SPIRAM_MODE_QUAD=y
# CONFIG_SPIRAM_MODE_OCT is not set
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
#
# PSRAM Clock and CS IO for ESP32S3
#
CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM Clock and CS IO for ESP32S3
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_80M is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_26M is not set
# CONFIG_SPIRAM_SPEED_20M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
# end of ESP32S3-Specific
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3"
# end of LWIP
# CONFIG_OV7670_SUPPORT is not set
# CONFIG_NT99141_SUPPORT is not set
CONFIG_OV3360_SUPPORT=n
# CONFIG_OV2640_SUPPORT is not set
CONFIG_OV5640_SUPPORT=y
# CONFIG_GC2145_SUPPORT is not set
# CONFIG_GC032A_SUPPORT is not set
# CONFIG_GC0308_SUPPORT is not set
# CONFIG_BF3005_SUPPORT is not set
# CONFIG_BF20A6_SUPPORT is not set
# CONFIG_SC101IOT_SUPPORT is not set
# CONFIG_SC030IOT_SUPPORT is not set
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -8,3 +8,5 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 40m

View File

@ -1,36 +0,0 @@
# SPI RAM config
#
# CONFIG_SPIRAM_TYPE_AUTO is not set
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
CONFIG_SPIRAM_SPEED_40M=y
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
CONFIG_SPIRAM_IGNORE_NOTFOUND=y
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
CONFIG_SPIRAM_CACHE_WORKAROUND=y
# Uncomment (remove ###) to send ESP_LOG output to TX/RX pins
### #
### # ESP System Settings
### #
### CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
### # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
### CONFIG_ESP_CONSOLE_UART_CUSTOM=y
### # CONFIG_ESP_CONSOLE_NONE is not set
### CONFIG_ESP_CONSOLE_UART=y
### CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_0=y
### # CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1 is not set
### CONFIG_ESP_CONSOLE_UART_NUM=0
### CONFIG_ESP_CONSOLE_UART_TX_GPIO=8
### CONFIG_ESP_CONSOLE_UART_RX_GPIO=7
### CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
### # CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
### # end of ESP System Settings

View File

@ -7,8 +7,11 @@ USB_MANUFACTURER = "Adafruit"
IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_ESPCAMERA = 0

View File

@ -1,36 +1,9 @@
#
# SPI RAM config
# Espressif IoT Development Framework Configuration
#
CONFIG_SPIRAM_MODE_QUAD=y
# CONFIG_SPIRAM_MODE_OCT is not set
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
#
# PSRAM Clock and CS IO for ESP32S3
# Component config
#
CONFIG_SPIRAM_CLK_IO=30
CONFIG_SPIRAM_CS_IO=26
# end of PSRAM Clock and CS IO for ESP32S3
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_120M is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# end of SPI RAM config
# end of ESP32S3-Specific
#
# LWIP
#
@ -38,3 +11,5 @@ CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3"
# end of LWIP
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -7,10 +7,12 @@ USB_MANUFACTURER = "Adafruit"
IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB
OPTIMIZATION_FLAGS = -Os
CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m

View File

@ -1,41 +1,9 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# ESP32S3-Specific
#
# SPI RAM config
#
CONFIG_SPIRAM_MODE_QUAD=y
# CONFIG_SPIRAM_MODE_OCT is not set
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
#
# PSRAM Clock and CS IO for ESP32S3
#
CONFIG_SPIRAM_CLK_IO=30
CONFIG_SPIRAM_CS_IO=26
# end of PSRAM Clock and CS IO for ESP32S3
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_120M is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# end of SPI RAM config
# end of ESP32S3-Specific
#
# LWIP
#
@ -43,3 +11,5 @@ CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3"
# end of LWIP
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -6,7 +6,11 @@ USB_MANUFACTURER = "Adafruit"
IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_ESP32_CAMERA = 0

View File

@ -1,39 +1,15 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# ESP32S3-Specific
# LWIP
#
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
#
# SPI RAM config
#
CONFIG_SPIRAM_MODE_QUAD=y
# CONFIG_SPIRAM_MODE_OCT is not set
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
#
# PSRAM Clock and CS IO for ESP32S3
#
CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM Clock and CS IO for ESP32S3
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_120M is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# end of SPI RAM config
CONFIG_LWIP_LOCAL_HOSTNAME="matrixportal-s3"
# end of LWIP
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -5,8 +5,10 @@ USB_MANUFACTURER = "Adafruit"
IDF_TARGET = esp32s2
CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 40m

View File

@ -5,6 +5,10 @@ USB_MANUFACTURER = "Adafruit"
IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 16MB
CIRCUITPY_ESP_PSRAM_MODE = opi
CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_ESP_PSRAM_SIZE = 8MB

View File

@ -1,46 +1,15 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# ESP32S3-Specific
#
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
#
# SPI RAM config
#
# CONFIG_SPIRAM_MODE_QUAD is not set
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=8388608
# end of SPI RAM config
# PSRAM Clock and CS IO for ESP32S3
#
CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM Clock and CS IO for ESP32S3
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_120M is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# end of SPI RAM config
# end of ESP32S3-Specific
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="Metro-ESP32S3"
# end of LWIP
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -1,16 +1,37 @@
# This file was generated using idf.py save-defconfig. It can be edited manually.
# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# Bluetooth
#
CONFIG_BT_ENABLED=y
CONFIG_BT_NIMBLE_ENABLED=y
#
# NimBLE Options
#
CONFIG_BT_NIMBLE_LOG_LEVEL_NONE=y
CONFIG_BT_NIMBLE_NVS_PERSIST=y
#
# Memory Settings
#
CONFIG_BT_NIMBLE_ACL_BUF_COUNT=20
CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70
# end of Memory Settings
CONFIG_BT_NIMBLE_EXT_ADV=y
# end of NimBLE Options
CONFIG_BT_CTRL_BLE_SCAN_DUPL=n
#
# Controller Options
#
# CONFIG_BT_CTRL_BLE_SCAN_DUPL is not set
# end of Controller Options
# end of Bluetooth
# end of Component config
# end of Espressif IoT Development Framework Configuration

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,47 @@
# This file was generated using idf.py save-defconfig. It can be edited manually.
# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# Bluetooth
#
#
# NimBLE Options
#
CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=y
# end of NimBLE Options
# end of Bluetooth
#
# ESP System Settings
#
CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1=y
# end of ESP System Settings
CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM=y
#
# IPC (Inter-Processor Call)
#
CONFIG_ESP_IPC_TASK_STACK_SIZE=1536
# end of IPC (Inter-Processor Call)
CONFIG_ULP_COPROC_ENABLED=y
#
# Wi-Fi
#
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=4
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=16
# CONFIG_ESP32_WIFI_NVS_ENABLED is not set
# end of Wi-Fi
#
# Ultra Low Power (ULP) Co-processor
#
CONFIG_ULP_COPROC_RESERVE_MEM=8176
# end of Ultra Low Power (ULP) Co-processor
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -1,4 +1,7 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Serial flasher config
#
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
@ -6,13 +9,17 @@
# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
# end of Serial flasher config
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-16MB.csv"
#
# Partition Table
#
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-16MB.csv"
CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-16MB.csv"
# end of Partition Table
# end of Espressif IoT Development Framework Configuration

View File

@ -0,0 +1,10 @@
# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_60M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_48M is not set
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
# CONFIG_ESPTOOLPY_FLASHFREQ_30M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_24M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_15M is not set

View File

@ -1,4 +1,7 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Serial flasher config
#
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
@ -6,13 +9,17 @@
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
# end of Serial flasher config
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-4MB.csv"
#
# Partition Table
#
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-4MB.csv"
CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-4MB.csv"
# end of Partition Table
# end of Espressif IoT Development Framework Configuration

View File

@ -0,0 +1,10 @@
# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
# CONFIG_ESPTOOLPY_FLASHFREQ_60M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_48M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_30M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_24M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
# CONFIG_ESPTOOLPY_FLASHFREQ_15M is not set

View File

@ -1,4 +1,7 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Serial flasher config
#
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
@ -6,8 +9,10 @@
# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
# end of Serial flasher config
#
@ -16,3 +21,5 @@ CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-8MB.csv"
CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-8MB.csv"
# end of Partition Table
# end of Espressif IoT Development Framework Configuration

View File

@ -0,0 +1,6 @@
# CONFIG_ESPTOOLPY_OCT_FLASH is not set
# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set
# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
# CONFIG_ESPTOOLPY_FLASHMODE_OPI is not set

View File

@ -0,0 +1,6 @@
# CONFIG_ESPTOOLPY_OCT_FLASH is not set
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
# CONFIG_ESPTOOLPY_FLASHMODE_OPI is not set

View File

@ -1,15 +1,41 @@
# This file was generated using idf.py save-defconfig. It can be edited manually.
# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration
#
# Espressif IoT Development Framework Configuration
#
#
# Bootloader config
#
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
# end of Bootloader config
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
#
# Compiler options
#
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
# end of Compiler options
CONFIG_ESP_CONSOLE_NONE=y
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n
#
# Component config
#
#
# Common ESP-related
#
# CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set
# end of Common ESP-related
#
# ESP System Settings
#
CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y
CONFIG_ESP_CONSOLE_NONE=y
# end of ESP System Settings
#
# Log output
#
CONFIG_LOG_DEFAULT_LEVEL_NONE=y
# end of Log output
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -0,0 +1,4 @@
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set

View File

@ -0,0 +1,2 @@
CONFIG_SPIRAM_SPEED_40M=y
# CONFIG_SPIRAM_SPEED_80M is not set

View File

@ -0,0 +1,3 @@
# CONFIG_SPIRAM_SPEED_120M is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_40M is not set

View File

@ -0,0 +1,2 @@
# CONFIG_SPIRAM_MODE_QUAD is not set
CONFIG_SPIRAM_MODE_OCT=y

View File

@ -0,0 +1 @@
CONFIG_SPIRAM_MODE_QUAD=y

View File

@ -0,0 +1,27 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# ESP PSRAM
#
CONFIG_SPIRAM=y
#
# SPI RAM config
#
CONFIG_SPIRAM_USE_MEMMAP=y
# end of SPI RAM config
# end of ESP PSRAM
#
# Wi-Fi
#
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
# end of Wi-Fi
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -1,56 +1,137 @@
# This file was generated using idf.py save-defconfig. It can be edited manually.
# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration
#
# Espressif IoT Development Framework Configuration
#
#
# Partition Table
#
CONFIG_PARTITION_TABLE_CUSTOM=y
# end of Partition Table
#
# Component config
#
#
# Driver Configurations
#
#
# Legacy ADC Configuration
#
CONFIG_ADC_SUPPRESS_DEPRECATE_WARN=y
# end of Legacy ADC Configuration
#
# GPTimer Configuration
#
CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN=y
# end of GPTimer Configuration
#
# PCNT Configuration
#
CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN=y
# end of PCNT Configuration
#
# RMT Configuration
#
CONFIG_RMT_SUPPRESS_DEPRECATE_WARN=y
# end of RMT Configuration
#
# I2S Configuration
#
CONFIG_I2S_SUPPRESS_DEPRECATE_WARN=y
# end of I2S Configuration
# end of Driver Configurations
#
# ESP-TLS
#
CONFIG_ESP_TLS_SERVER=y
# end of ESP-TLS
#
# ESP System Settings
#
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
#
# Memory
#
CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM=y
# end of Memory
CONFIG_ESP_IPC_TASK_STACK_SIZE=1536
CONFIG_ESP_MAIN_TASK_STACK_SIZE=16384
# CONFIG_ESP_TASK_WDT_INIT is not set
# end of ESP System Settings
CONFIG_ESP_TASK_WDT_INIT=n
CONFIG_ESP_TLS_SERVER=y
CONFIG_LWIP_MAX_ACTIVE_TCP=4
CONFIG_LWIP_MAX_LISTENING_TCP=4
#
# LWIP
#
CONFIG_LWIP_MAX_SOCKETS=8
CONFIG_LWIP_SO_RCVBUF=y
CONFIG_LWIP_TCP_RTO_TIME=3000
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=2880
#
# TCP
#
CONFIG_LWIP_MAX_ACTIVE_TCP=4
CONFIG_LWIP_MAX_LISTENING_TCP=4
CONFIG_LWIP_TCP_SYNMAXRTX=6
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=2880
CONFIG_LWIP_TCP_WND_DEFAULT=2880
CONFIG_LWIP_TCP_RTO_TIME=3000
# end of TCP
# end of LWIP
#
# mbedTLS
#
CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
#
# Certificate Bundle
#
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE=y
CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE=y
CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE_PATH="../../lib/certificates/data/roots.pem"
# end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y
#
# TLS Key Exchange Methods
#
CONFIG_MBEDTLS_PSK_MODES=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
# end of TLS Key Exchange Methods
CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
# end of mbedTLS
CONFIG_PARTITION_TABLE_CUSTOM=y
#
# SPI Flash driver
#
# CONFIG_SPI_FLASH_YIELD_DURING_ERASE is not set
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n
# end of SPI Flash driver
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=4
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=16
CONFIG_ESP32_WIFI_NVS_ENABLED=n
#
# Ultra Low Power (ULP) Co-processor
#
CONFIG_ULP_COPROC_ENABLED=y
# end of Ultra Low Power (ULP) Co-processor
CONFIG_ADC_SUPPRESS_DEPRECATE_WARN=y
CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN=y
CONFIG_RMT_SUPPRESS_DEPRECATE_WARN=y
CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN=y
CONFIG_I2S_SUPPRESS_DEPRECATE_WARN=y
#
# Camera configuration
#
# CONFIG_OV7670_SUPPORT is not set
# CONFIG_NT99141_SUPPORT is not set
# CONFIG_OV2640_SUPPORT is not set
# CONFIG_GC2145_SUPPORT is not set
# CONFIG_GC032A_SUPPORT is not set
# CONFIG_GC0308_SUPPORT is not set
# CONFIG_BF3005_SUPPORT is not set
# CONFIG_BF20A6_SUPPORT is not set
# CONFIG_SC030IOT_SUPPORT is not set
# end of Camera configuration
# end of Component config
# end of Espressif IoT Development Framework Configuration

View File

@ -53,21 +53,42 @@ TARGET_SETTINGS = [
"CONFIG_NIMBLE_PINNED_TO_CORE",
"CONFIG_BT_NIMBLE_PINNED_TO_CORE",
"CONFIG_BT_CTRL_PINNED_TO_CORE",
"CONFIG_SPIRAM_SPEED_2",
"CONFIG_SPIRAM_BANKSWITCH_ENABLE", # For ESP32
]
BOARD_SETTINGS = [
"CONFIG_SPIRAM",
"CONFIG_DEFAULT_PSRAM_",
"_SPIRAM_SUPPORT",
"CONFIG_LWIP_LOCAL_HOSTNAME",
]
FLASH_SETTINGS = [
FLASH_SIZE_SETTINGS = [
"CONFIG_ESPTOOLPY_FLASHSIZE",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME",
"CONFIG_PARTITION_TABLE_FILENAME",
]
FLASH_MODE_SETTINGS = [
"CONFIG_ESPTOOLPY_FLASHMODE_",
"CONFIG_ESPTOOLPY_OCT_FLASH",
"CONFIG_ESPTOOLPY_FLASH_SAMBLE_MODE_",
]
FLASH_FREQ_SETTINGS = [
"CONFIG_ESPTOOLPY_FLASHFREQ_",
]
PSRAM_SETTINGS = ["CONFIG_SPIRAM"]
PSRAM_SIZE_SETTINGS = ["CONFIG_SPIRAM_TYPE_"]
PSRAM_MODE_SETTINGS = ["CONFIG_SPIRAM_MODE_"]
PSRAM_FREQ_SETTINGS = ["CONFIG_SPIRAM_SPEED_"]
# Some settings are target dependent but we want to always include them anyway
# because the files they are in will be used across targets.
ALWAYS_INCLUDE = FLASH_MODE_SETTINGS + FLASH_FREQ_SETTINGS + PSRAM_FREQ_SETTINGS
BLE_SETTINGS = ["CONFIG_BT_", "CONFIG_BLUEDROID_", "CONFIG_NIMBLE_", "CONFIG_SW_COEXIST_ENABLE"]
# boards/lilygo_ttgo_t8_s2_st7789/sdkconfig
@ -141,11 +162,27 @@ def update(debug, board, update_all):
was likely modified by menuconfig."""
board_make = pathlib.Path(f"boards/{board}/mpconfigboard.mk")
psram_size = "0"
for line in board_make.read_text().split("\n"):
if line.startswith("IDF_TARGET"):
target = line.split("=")[1].strip()
elif line.startswith("CIRCUITPY_ESP_FLASH_SIZE"):
flash = line.split("=")[1].strip()
if "=" not in line or line.startswith("#"):
continue
key, value = line.split("=", maxsplit=1)
key = key.strip()
value = value.strip()
if key == "IDF_TARGET":
target = value
elif key == "CIRCUITPY_ESP_FLASH_SIZE":
flash_size = value
elif key == "CIRCUITPY_ESP_FLASH_MODE":
flash_mode = value
elif key == "CIRCUITPY_ESP_FLASH_FREQ":
flash_freq = value
elif key == "CIRCUITPY_ESP_PSRAM_SIZE":
psram_size = value
elif key == "CIRCUITPY_ESP_PSRAM_MODE":
psram_mode = value
elif key == "CIRCUITPY_ESP_PSRAM_FREQ":
psram_freq = value
os.environ["IDF_TARGET"] = target
os.environ[
@ -161,24 +198,47 @@ def update(debug, board, update_all):
input_config = pathlib.Path(f"build-{board}/esp-idf/sdkconfig")
kconfig.load_config(input_config)
sdkconfigs = []
default_config = pathlib.Path("esp-idf-config/sdkconfig.defaults")
sdkconfigs.append(default_config)
if debug:
opt_config = pathlib.Path("esp-idf-config/sdkconfig-debug.defaults")
else:
opt_config = pathlib.Path("esp-idf-config/sdkconfig-opt.defaults")
flash_config = pathlib.Path(f"esp-idf-config/sdkconfig-{flash}.defaults")
sdkconfigs.append(opt_config)
flash_size_config = pathlib.Path(f"esp-idf-config/sdkconfig-flash-{flash_size}.defaults")
flash_mode_config = pathlib.Path(f"esp-idf-config/sdkconfig-flash-{flash_mode}.defaults")
flash_freq_config = pathlib.Path(f"esp-idf-config/sdkconfig-flash-{flash_freq}.defaults")
sdkconfigs.extend((flash_size_config, flash_mode_config, flash_freq_config))
if psram_size != "0":
psram_config = pathlib.Path(f"esp-idf-config/sdkconfig-psram.defaults")
psram_size_config = pathlib.Path(f"esp-idf-config/sdkconfig-psram-{psram_size}.defaults")
psram_mode_config = pathlib.Path(f"esp-idf-config/sdkconfig-psram-{psram_mode}.defaults")
psram_freq_config = pathlib.Path(f"esp-idf-config/sdkconfig-psram-{psram_freq}.defaults")
sdkconfigs.extend((psram_config, psram_size_config, psram_mode_config, psram_freq_config))
target_config = pathlib.Path(f"esp-idf-config/sdkconfig-{target}.defaults")
sdkconfigs.append(target_config)
ble_config = pathlib.Path(f"esp-idf-config/sdkconfig-ble.defaults")
sdkconfigs.append(ble_config)
board_config = pathlib.Path(f"boards/{board}/sdkconfig")
sdkconfigs.append(board_config)
cp_kconfig_defaults = kconfiglib.Kconfig(kconfig_path)
for default_file in (default_config, opt_config, flash_config, target_config, ble_config):
for default_file in sdkconfigs:
cp_kconfig_defaults.load_config(default_file, replace=False)
board_settings = []
last_board_group = None
flash_settings = []
last_flash_group = None
flash_size_settings = []
last_flash_size_group = None
flash_mode_settings = []
flash_freq_settings = []
psram_settings = []
last_psram_group = None
psram_size_settings = []
psram_mode_settings = []
psram_freq_settings = []
opt_settings = []
last_opt_group = None
target_settings = []
@ -222,7 +282,11 @@ def update(debug, board, update_all):
config_string = item.config_string.strip()
if not config_string:
continue
if matches_group("CONFIG_" + item.name, ALWAYS_INCLUDE):
config_string = f"# CONFIG_{item.name} is not set"
print(config_string)
else:
continue
if node.list:
pending_nodes.append(node.list)
@ -234,33 +298,65 @@ def update(debug, board, update_all):
print(" " * len(current_group), i, config_string.strip())
target_reference = False
board_reference = False
psram_reference = False
for referenced in item.referenced:
if referenced.name.startswith("IDF_TARGET"):
# print(item.name, "references", referenced.name)
target_reference = True
break
if referenced.name == "SPIRAM":
board_reference = True
psram_reference = True
if (not update_all and not matches_cp_default) or (
update_all
and (matches_group(config_string, BOARD_SETTINGS) or board_reference)
and matches_group(config_string, BOARD_SETTINGS)
and not matches_esp_default
):
print(" " * (len(current_group) + 1), "board")
last_board_group = add_group(board_settings, last_board_group, current_group)
board_settings.append(config_string)
elif update_all and not matches_esp_default:
if matches_group(config_string, OPT_SETTINGS):
elif update_all:
target_setting = target_reference or matches_group(config_string, TARGET_SETTINGS)
if matches_group(config_string, FLASH_SIZE_SETTINGS):
print(" " * (len(current_group) + 1), "flash size")
last_flash_size_group = add_group(
flash_size_settings, last_flash_size_group, current_group
)
flash_size_settings.append(config_string)
elif matches_group(config_string, FLASH_MODE_SETTINGS):
print(" " * (len(current_group) + 1), "flash mode")
flash_mode_settings.append(config_string)
elif matches_group(config_string, FLASH_FREQ_SETTINGS):
print(" " * (len(current_group) + 1), "flash freq")
flash_freq_settings.append(config_string)
elif matches_group(config_string, PSRAM_SIZE_SETTINGS):
print(" " * (len(current_group) + 1), "psram size")
psram_size_settings.append(config_string)
elif matches_group(config_string, PSRAM_MODE_SETTINGS):
print(" " * (len(current_group) + 1), "psram mode")
psram_mode_settings.append(config_string)
elif matches_group(config_string, PSRAM_FREQ_SETTINGS) and not target_setting:
# The ESP32S2 has two frequencies that aren't on the S3 or ESP32. So, put those
# in target settings.
print(" " * (len(current_group) + 1), "psram freq")
psram_freq_settings.append(config_string)
elif matches_esp_default:
# Always document the above settings. Settings below should
# be non-default.
pass
elif (
(matches_group(config_string, PSRAM_SETTINGS) or psram_reference)
and not target_reference
and not target_setting
):
print(" " * (len(current_group) + 1), "psram shared")
last_psram_group = add_group(psram_settings, last_psram_group, current_group)
psram_settings.append(config_string)
elif matches_group(config_string, OPT_SETTINGS):
print(" " * (len(current_group) + 1), "opt")
last_opt_group = add_group(opt_settings, last_opt_group, current_group)
opt_settings.append(config_string)
elif matches_group(config_string, FLASH_SETTINGS):
print(" " * (len(current_group) + 1), "flash")
last_flash_group = add_group(flash_settings, last_flash_group, current_group)
flash_settings.append(config_string)
elif target_reference or matches_group(config_string, TARGET_SETTINGS):
elif target_setting:
print(" " * (len(current_group) + 1), "target")
last_target_group = add_group(
target_settings, last_target_group, current_group
@ -294,14 +390,22 @@ def update(debug, board, update_all):
add_group(board_settings, last_board_group, current_group)
add_group(opt_settings, last_opt_group, current_group)
add_group(flash_settings, last_flash_group, current_group)
add_group(flash_size_settings, last_flash_size_group, current_group)
add_group(psram_settings, last_psram_group, current_group)
add_group(target_settings, last_target_group, current_group)
add_group(ble_settings, last_ble_group, current_group)
add_group(default_settings, last_default_group, current_group)
board_config.write_text("\n".join(board_settings))
if update_all:
flash_config.write_text("\n".join(flash_settings))
flash_size_config.write_text("\n".join(flash_size_settings))
flash_mode_config.write_text("\n".join(flash_mode_settings))
flash_freq_config.write_text("\n".join(flash_freq_settings))
if psram_size != "0":
psram_config.write_text("\n".join(psram_settings))
psram_size_config.write_text("\n".join(psram_size_settings))
psram_mode_config.write_text("\n".join(psram_mode_settings))
psram_freq_config.write_text("\n".join(psram_freq_settings))
opt_config.write_text("\n".join(opt_settings))
default_config.write_text("\n".join(default_settings))
target_config.write_text("\n".join(target_settings))