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 
22 #ifndef SDKCONFIG_H
23 #define SDKCONFIG_H
24 
25 /*
26  * Some files in ESP-IDF use functions from `stdlib.h` without including the
27  * header. To avoid having to patch all these files, `stdlib.h` is included
28  * in this header file, which in turn is included by every ESP-IDF file.
29  */
30 #if !defined(__ASSEMBLER__) && !defined(LD_FILE_GEN)
31 #include <stdlib.h>
32 #endif
33 
34 /*
35  * The SoC capability definitions are often included indirectly in the
36  * ESP-IDF files, although all ESP-IDF files require them. Since not all
37  * ESP-IDF header files are included in RIOT, the SoC capability definitions
38  * are unknown if they are only indirectly included. Therefore, the SoC
39  * capabilities are included in this file and are thus available to all
40  * ESP-IDF files. This avoids to update vendor code.
41  */
42 #include "soc/soc_caps.h"
43 
49 #if !defined(IDF_VER)
50 #include "esp_idf_ver.h"
51 #endif
52 
53 #ifndef DOXYGEN
54 
61 #ifdef CONFIG_CONSOLE_UART_NUM
62 #define CONFIG_ESP_CONSOLE_UART_NUM CONFIG_CONSOLE_UART_NUM
63 #else
64 #define CONFIG_ESP_CONSOLE_UART_NUM 0
65 #endif
66 #define CONFIG_ESP_CONSOLE_UART_BAUDRATE STDIO_UART_BAUDRATE
67 
71 #ifndef CONFIG_LOG_DEFAULT_LEVEL
72 #define CONFIG_LOG_DEFAULT_LEVEL LOG_LEVEL
73 #endif
74 #define CONFIG_LOG_MAXIMUM_LEVEL LOG_LEVEL
75 
79 #ifdef MODULE_NEWLIB_NANO
80 #define CONFIG_NEWLIB_NANO_FORMAT 1
81 #endif
82 
83 #define CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 1
84 #define CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE 32
85 #define CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE 2560
86 #define CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE 1
87 
88 #define CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER 1
89 #define CONFIG_ESP_TIMER_TASK_STACK_SIZE 3584
90 #define CONFIG_ESP_TIMER_INTERRUPT_LEVEL 1
91 #define CONFIG_TIMER_TASK_STACK_SIZE CONFIG_ESP_TIMER_TASK_STACK_SIZE
92 
93 #define CONFIG_APP_BUILD_TYPE_APP_2NDBOOT 1
94 #define CONFIG_APP_BUILD_GENERATE_BINARIES 1
95 #define CONFIG_APP_BUILD_BOOTLOADER 1
96 #define CONFIG_APP_BUILD_USE_FLASH_SECTIONS 1
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 #ifdef MODULE_ESP_BLE
107 #define CONFIG_ESP32_WIFI_ENABLED 1 /* WiFi module has to be enabled */
108 #define CONFIG_BT_ENABLED 1
109 #define CONFIG_BT_CONTROLLER_ONLY 1
110 #else
111 #define CONFIG_BT_ENABLED 0
112 #endif
113 
117 #ifdef MODULE_ESP_SPI_RAM
118 #define CONFIG_SPIRAM_TYPE_AUTO 1
119 #define CONFIG_SPIRAM_SIZE -1
120 #define CONFIG_SPIRAM_SPEED_40M 1
121 #define CONFIG_SPIRAM 1
122 #define CONFIG_SPIRAM_BOOT_INIT 1
123 #define CONFIG_SPIRAM_USE_MALLOC 0 /* using malloc requires QStaticQueue */
124 #define CONFIG_SPIRAM_MEMTEST 1
125 #define CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL 16384
126 #define CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL 32768
127 #endif
128 
132 #define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1
133 #define CONFIG_SPI_FLASH_USE_LEGACY_IMPL 1
134 #define CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS 1
135 #define CONFIG_SPI_FLASH_YIELD_DURING_ERASE 1
136 #define CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS 20
137 #define CONFIG_SPI_FLASH_ERASE_YIELD_TICKS 1
138 #define CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE 8192
139 #define CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP 1
140 #define CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP 1
141 #define CONFIG_SPI_FLASH_SUPPORT_GD_CHIP 1
142 #define CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP 1
143 #define CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP 1
144 #define CONFIG_SPI_FLASH_SUPPORT_TH_CHIP 1
145 #define CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP 1
146 
150 #ifdef MODULE_ESP_ETH
151 #define CONFIG_ETH_ENABLED 1
152 #endif
153 
157 #if !defined(CONFIG_FLASHMODE_DOUT) && \
158  !defined(CONFIG_FLASHMODE_DIO) && \
159  !defined(CONFIG_FLASHMODE_QOUT) && \
160  !defined(CONFIG_FLASHMODE_QIO)
161 #error "Flash mode not configured"
162 #endif
163 
167 #ifdef MODULE_ESP_WIFI_ANY
168 #define CONFIG_ESP32_WIFI_ENABLED 1
169 #define CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM 10
170 #define CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM 32
171 #define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER 1
172 #define CONFIG_ESP32_WIFI_TX_BUFFER_TYPE 1
173 #define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM 32
174 #define CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM 32 /* required when CONFIG_SPIRAM_USE_MALLOC=0 */
175 #define CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED 1
176 #define CONFIG_ESP32_WIFI_TX_BA_WIN 6
177 #define CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED 1
178 #define CONFIG_ESP32_WIFI_RX_BA_WIN 6
179 #if defined(MODULE_ESP_IDF_NVS_FLASH) && !defined(CPU_FAM_ESP32C3)
180 #define CONFIG_ESP32_WIFI_NVS_ENABLED 1
181 #endif
182 #define CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0 1
183 #define CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN 752
184 #define CONFIG_ESP32_WIFI_MGMT_SBUF_NUM 32
185 #define CONFIG_ESP32_WIFI_IRAM_OPT 1
186 #define CONFIG_ESP32_WIFI_RX_IRAM_OPT 1
187 #define CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE 1
188 #if defined(MODULE_ESP_WIFI_AP) || defined(MODULE_ESP_NOW)
189 #define CONFIG_ESP_WIFI_SOFTAP_SUPPORT 1
190 #endif
191 #ifdef MODULE_ESP_BLE
192 #define CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE 1
193 #endif
194 #endif
195 
199 #if MODULE_ESP_IDF_NVS_ENABLED
200 #define CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE 1
201 #endif
202 
203 #define CONFIG_ESP_PHY_MAX_TX_POWER 20
204 #define CONFIG_ESP_PHY_MAX_WIFI_TX_POWER 20
205 
206 #define CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE
207 #define CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER CONFIG_ESP_PHY_MAX_WIFI_TX_POWER
208 
212 #ifndef CONFIG_ESP_FLASHPAGE_CAPACITY
213 
214 #ifdef MODULE_PERIPH_FLASHPAGE
215 #if CONFIG_ESP_FLASHPAGE_CAPACITY_64K
216 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x10000
217 #elif CONFIG_ESP_FLASHPAGE_CAPACITY_128K
218 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x20000
219 #elif CONFIG_ESP_FLASHPAGE_CAPACITY_256K
220 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x40000
221 #elif CONFIG_ESP_FLASHPAGE_CAPACITY_512K
222 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x80000
223 #elif CONFIG_ESP_FLASHPAGE_CAPACITY_1M
224 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x100000
225 #elif CONFIG_ESP_FLASHPAGE_CAPACITY_2M
226 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x200000
227 #else
228 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x80000
229 #endif
230 #else /* MODULE_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE */
231 #define CONFIG_ESP_FLASHPAGE_CAPACITY 0x0
232 #endif /* MODULE_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE */
233 
234 #endif /* !CONFIG_ESP_FLASHPAGE_CAPACITY */
235 
239 #if MODULE_ESP_IDF_LCD
240 #ifndef CONFIG_LCD_DATA_BUF_SIZE
241 #define CONFIG_LCD_DATA_BUF_SIZE 512
242 #endif
243 
244 #define CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE CONFIG_LCD_DATA_BUF_SIZE
245 #endif
246 
247 #endif /* DOXYGEN */
248 
252 #if defined(CPU_FAM_ESP32)
253 #include "sdkconfig_esp32.h"
254 #elif defined(CPU_FAM_ESP32C3)
255 #include "sdkconfig_esp32c3.h"
256 #elif defined(CPU_FAM_ESP32S2)
257 #include "sdkconfig_esp32s2.h"
258 #elif defined(CPU_FAM_ESP32S3)
259 #include "sdkconfig_esp32s3.h"
260 #else
261 #error "ESP32x family implementation missing"
262 #endif
263 
264 #ifdef __cplusplus
265 extern "C" {
266 #endif
267 
268 #ifdef __cplusplus
269 }
270 #endif
271 
272 #endif /* SDKCONFIG_H */
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)