Loading...
Searching...
No Matches
sdkconfig.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 Gunar Schorcht
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
23
24/*
25 * The SoC capability definitions are often included indirectly in the
26 * ESP-IDF files, although all ESP-IDF files require them. Since not all
27 * ESP-IDF header files are included in RIOT, the SoC capability definitions
28 * are unknown if they are only indirectly included. Therefore, the SoC
29 * capabilities are included in this file and are thus available to all
30 * ESP-IDF files. This avoids to update vendor code.
31 */
32#ifndef LD_FILE_GEN
33# include "soc/soc_caps.h"
34#endif
35
41#if !defined(IDF_VER)
42# include "esp_idf_ver.h"
43#endif
44
45#ifndef DOXYGEN
46
53#ifdef CONFIG_CONSOLE_UART_NUM
54# define CONFIG_ESP_CONSOLE_UART_NUM CONFIG_CONSOLE_UART_NUM
55#else
56# define CONFIG_ESP_CONSOLE_UART_NUM 0
57#endif
58#define CONFIG_ESP_CONSOLE_UART_BAUDRATE STDIO_UART_BAUDRATE
59
60#define CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM CONFIG_ESP_CONSOLE_UART_NUM
61
65#ifndef CONFIG_LOG_DEFAULT_LEVEL
66# define CONFIG_LOG_DEFAULT_LEVEL LOG_LEVEL
67#endif
68#define CONFIG_LOG_MAXIMUM_LEVEL LOG_LEVEL
69
73#if MODULE_NEWLIB_NANO
74# define CONFIG_NEWLIB_NANO_FORMAT 1
75#endif
76
77#define CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 1
78#define CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE 32
79#define CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE 2560
80#define CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE 1
81
82#define CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER 1
83#define CONFIG_ESP_TIMER_TASK_STACK_SIZE 3584
84#define CONFIG_ESP_TIMER_INTERRUPT_LEVEL 1
85#define CONFIG_ESP_TIMER_TASK_AFFINITY 0
86#define CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0 1
87
88#define CONFIG_TIMER_TASK_STACK_SIZE CONFIG_ESP_TIMER_TASK_STACK_SIZE
89
90#define CONFIG_APP_BUILD_TYPE_APP_2NDBOOT 1
91#define CONFIG_APP_BUILD_GENERATE_BINARIES 1
92#define CONFIG_APP_BUILD_BOOTLOADER 1
93#define CONFIG_APP_BUILD_USE_FLASH_SECTIONS 1
94#define CONFIG_APP_COMPILE_TIME_DATE 1
95#define CONFIG_APP_EXCLUDE_PROJECT_VER_VAR 1
96#define CONFIG_APP_RETRIEVE_LEN_ELF_SHA 9
97
98#define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv"
99#define CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv"
100#define CONFIG_PARTITION_TABLE_SINGLE_APP 1
101#define CONFIG_PARTITION_TABLE_OFFSET 0x8000
102
106#if MODULE_ESP_BLE
107# define CONFIG_BT_ENABLED 1
108# define CONFIG_BT_CONTROLLER_ENABLED 1
109# define CONFIG_BT_CONTROLLER_ONLY 1
110# define CONFIG_SOC_BT_SUPPORTED SOC_BT_SUPPORTED
111# define CONFIG_SOC_PM_SUPPORT_BT_PD SOC_PM_SUPPORT_BT_PD
112# define CONFIG_SOC_PM_SUPPORT_BT_WAKEUP SOC_PM_SUPPORT_BT_WAKEUP
113#endif
114
118#if MODULE_ESP_SPI_RAM
119# define CONFIG_SPIRAM 1
120# define CONFIG_SPIRAM_TYPE_AUTO 1
121# define CONFIG_SPIRAM_SIZE -1
122# define CONFIG_SPIRAM_SPEED_40M 1
123# define CONFIG_SPIRAM_SPEED 40
124# define CONFIG_SPIRAM_BOOT_INIT 1
125# define CONFIG_SPIRAM_USE_MALLOC 1 /* using malloc requires QStaticQueue */
126# define CONFIG_SPIRAM_USE_CAPS_ALLOC 0 /* using cap instead of malloc */
127# define CONFIG_SPIRAM_MEMTEST 1
128# define CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL 16384
129# define CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL 32768
130# define CONFIG_SOC_SPIRAM_SUPPORTED SOC_SPIRAM_SUPPORTED
131# define CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND 1
132#endif
133
137#define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1
138#define CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS 1
139#define CONFIG_SPI_FLASH_YIELD_DURING_ERASE 1
140#define CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS 20
141#define CONFIG_SPI_FLASH_ERASE_YIELD_TICKS 1
142#define CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE 8192
143#define CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP 1
144#define CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP 1
145#define CONFIG_SPI_FLASH_SUPPORT_GD_CHIP 1
146#define CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP 1
147#define CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP 1
148#define CONFIG_SPI_FLASH_SUPPORT_TH_CHIP 1
149#define CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP 1
150
154#if MODULE_ESP_RTC_TIMER_32K
155# define CONFIG_RTC_CLK_SRC_EXT_CRYS 1
156#else
157# define CONFIG_RTC_CLK_SRC_INT_RC 1
158#endif
159
163#if MODULE_ESP_ETH
164# define CONFIG_ETH_ENABLED 1
165#endif
166
170#if !defined(CONFIG_FLASHMODE_DOUT) && \
171 !defined(CONFIG_FLASHMODE_DIO) && \
172 !defined(CONFIG_FLASHMODE_QOUT) && \
173 !defined(CONFIG_FLASHMODE_QIO)
174# error "Flash mode not configured"
175#endif
176
180#if MODULE_ESP_WIFI_ANY
181# define CONFIG_ESP_WIFI_ENABLED 1
182# define CONFIG_ESP_WIFI_AMPDU_RX_ENABLED 1
183# define CONFIG_ESP_WIFI_AMPDU_TX_ENABLED 1
184# define CONFIG_ESP_WIFI_AUTH_WPA2_PSK 1
185# define CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM 32
186# define CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM 32
187# define CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF 0
188# define CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER 1
189# define CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM 32
190# define CONFIG_ESP_WIFI_ENABLE_SAE_PK 0 /* default 1 for WPA3 */
191# define CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA 0 /* default 1 for WPA3 */
192# define CONFIG_ESP_WIFI_ENABLE_WPA3_SAE 0 /* default 1 for WPA3 */
193# define CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM 7
194# define CONFIG_ESP_WIFI_GMAC_SUPPORT 1
195# define CONFIG_ESP_WIFI_IRAM_OPT 0 /* default 1 */
196# define CONFIG_ESP_WIFI_MBEDTLS_CRYPTO 0 /* default 1 for WPA3 */
197# define CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT 0 /* default 1 for WPA3 */
198# define CONFIG_ESP_WIFI_MGMT_SBUF_NUM 32
199# define CONFIG_ESP_WIFI_NVS_ENABLED MODULE_ESP_IDF_NVS_FLASH
200# define CONFIG_ESP_WIFI_PW_ID ""
201# define CONFIG_ESP_WIFI_RX_BA_WIN 6
202# define CONFIG_ESP_WIFI_RX_IRAM_OPT 0 /* default 1 */
203# define CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF 5
204# define CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN 752
205# define CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE 1
206# define CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM 10
207# define CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER 1
208# define CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0 1
209# define CONFIG_ESP_WIFI_TX_BA_WIN 6
210# define CONFIG_ESP_WIFI_TX_BUFFER_TYPE 1
211
212# define CONFIG_CRYPTO_INTERNAL 1
213
214# if MODULE_ESP_WIFI_AP || MODULE_ESP_NOW
215# define CONFIG_ESP_WIFI_SOFTAP_SUPPORT 1
216# endif
217
218# if MODULE_ESP_WIFI_ENTERPRISE
219# define CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT 1
220# endif
221
222#endif
223
224#define CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME 10
225#define CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME 50
226#define CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME 15
227
231#if SOC_PHY_SUPPORTED
232# define CONFIG_ESP_PHY_ENABLED 1
233# define CONFIG_ESP_PHY_CALIBRATION_MODE 0
234# define CONFIG_ESP_PHY_MAX_TX_POWER 20
235# define CONFIG_ESP_PHY_MAX_WIFI_TX_POWER 20
236# define CONFIG_ESP_PHY_RF_CAL_PARTIAL 1
237# if MODULE_ESP_IDF_NVS_FLASH
238# define CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE 1
239# endif
240#endif
241
245#if !SOC_WIRELESS_HOST_SUPPORTED
246# define CONFIG_ESP_COEX_ENABLED 1
247# if CONFIG_ESP_WIFI_ENABLED && CONFIG_BT_ENABLED
248# define CONFIG_ESP_COEX_SW_COEXIST_ENABLE 1
249# endif
250# if 0
251 /* TODO:
252 * CONFIG_SW_COEXIST_ENABLE is deprecated but still used in code.
253 * It is not defined in IDF sdkconfigs and does not work if defined. */
254# define CONFIG_SW_COEXIST_ENABLE 1
255# endif
256#endif /* !SOC_WIRELESS_HOST_SUPPORTED */
257
261#ifndef CONFIG_ESP_FLASHPAGE_CAPACITY
262
263#if MODULE_PERIPH_FLASHPAGE
264# if CONFIG_ESP_FLASHPAGE_CAPACITY_64K
265# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x10000
266# elif CONFIG_ESP_FLASHPAGE_CAPACITY_128K
267# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x20000
268# elif CONFIG_ESP_FLASHPAGE_CAPACITY_256K
269# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x40000
270# elif CONFIG_ESP_FLASHPAGE_CAPACITY_512K
271# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x80000
272# elif CONFIG_ESP_FLASHPAGE_CAPACITY_1M
273# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x100000
274# elif CONFIG_ESP_FLASHPAGE_CAPACITY_2M
275# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x200000
276# else
277# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x80000
278# endif
279#else /* MODULE_PERIPH_FLASHPAGE */
280# define CONFIG_ESP_FLASHPAGE_CAPACITY 0x0
281#endif /* MODULE_PERIPH_FLASHPAGE */
282
283#endif /* !CONFIG_ESP_FLASHPAGE_CAPACITY */
284
288#if MODULE_ESP_IDF_LCD
289# ifndef CONFIG_LCD_DATA_BUF_SIZE
290# define CONFIG_LCD_DATA_BUF_SIZE 512
291# endif
292# define CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE CONFIG_LCD_DATA_BUF_SIZE
293#endif
294
298#if defined(CPU_FAM_ESP32)
299# include "sdkconfig_esp32.h"
300#elif defined(CPU_FAM_ESP32C3)
301# include "sdkconfig_esp32c3.h"
302#elif defined(CPU_FAM_ESP32S2)
303# include "sdkconfig_esp32s2.h"
304#elif defined(CPU_FAM_ESP32S3)
305# include "sdkconfig_esp32s3.h"
306#else
307# error "ESP32x family implementation missing"
308#endif
309
310#ifndef CONFIG_MMU_PAGE_SIZE
311# define CONFIG_MMU_PAGE_SIZE_64KB 1
312# define CONFIG_MMU_PAGE_SIZE 0x10000
313#endif
314
315#ifndef CONFIG_FREERTOS_NUMBER_OF_CORES
316# define CONFIG_FREERTOS_NUMBER_OF_CORES 1
317#endif
318
319#define CONFIG_ESP_DEBUG_OCDAWARE 1
320
321#define CONFIG_ADC_SUPPRESS_DEPRECATE_WARN 1
322
323#define CONFIG_HEAP_POISONING_DISABLED 1
324#define CONFIG_HEAP_TRACING_OFF 1
325#define CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP 1
326
327#define CONFIG_ULP_COPROC_RESERVE_MEM 0
328
329#ifdef SOC_RTC_MEM_SUPPORTED
330# define CONFIG_SOC_RTC_MEM_SUPPORTED 1
331#endif
332#ifdef SOC_RTC_FAST_MEM_SUPPORTED
333# define CONFIG_SOC_RTC_FAST_MEM_SUPPORTED 1
334#endif
335#ifdef SOC_RTC_SLOW_SUPPORTED
336# define CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED 1
337#endif
338
342#ifdef SOC_SDMMC_HOST_SUPPORTED
343# define CONFIG_SOC_SDMMC_HOST_SUPPORTED SOC_SDMMC_HOST_SUPPORTED
344# define CONFIG_SOC_SDMMC_DELAY_PHASE_NUM SOC_SDMMC_DELAY_PHASE_NUM
345# define CONFIG_SOC_SDMMC_NUM_SLOTS SOC_SDMMC_NUM_SLOTS
346# define CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK SOC_SDMMC_SUPPORT_XTAL_CLOCK
347# define CONFIG_SOC_SDMMC_USE_GPIO_MATRIX SOC_SDMMC_USE_GPIO_MATRIX
348# define CONFIG_SOC_SDMMC_USE_IOMUX SOC_SDMMC_USE_IOMUX
349#endif /* SOC_SDMMC_HOST_SUPPORTED */
350
354#ifdef SOC_USB_SERIAL_JTAG_SUPPORTED
355# ifndef CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
356# define CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG 1
357# endif
358# ifndef CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG
359# define CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG 0
360# endif
361# define CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED (CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG || \
362 CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG)
363# define CONFIG_SOC_EFUSE_DIS_USB_JTAG SOC_EFUSE_DIS_USB_JTAG
364# define CONFIG_SOC_EFUSE_HARD_DIS_JTAG SOC_EFUSE_HARD_DIS_JTAG
365# define CONFIG_SOC_EFUSE_SOFT_DIS_JTAG SOC_EFUSE_SOFT_DIS_JTAG
366# define CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED 1
367# define CONFIG_USJ_ENABLE_USB_SERIAL_JTAG CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
368#endif /* SOC_USB_SERIAL_JTAG_SUPPORTED */
369
370/* should be RIOT_APPLICATION but PROJECT_NAME must be less than 24 characters */
371#define PROJECT_NAME "RIOT-OS Application"
372
373#endif /* DOXYGEN */
374
375#ifdef __cplusplus
376extern "C" {
377#endif
378
379#ifdef __cplusplus
380}
381#endif
382
SDK configuration used by the ESP-IDF for ESP32 SoC variant (family)
SDK configuration used by the ESP-IDF for ESP32-C3 SoC variant (family)
SDK configuration used by the ESP-IDF for ESP32-S2 SoC variant (family)
SDK configuration used by the ESP-IDF for ESP32-S3 SoC variant (family)