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
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
265extern "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)