31#ifndef PROTOCORE_BOARD_PROFILE_H
32#define PROTOCORE_BOARD_PROFILE_H
42#if defined(__has_include)
43#if __has_include("sdkconfig.h")
53#if !defined(PC_FLASH_MB)
54#if defined(CONFIG_ESPTOOLPY_FLASHSIZE_32MB)
56#elif defined(CONFIG_ESPTOOLPY_FLASHSIZE_16MB)
58#elif defined(CONFIG_ESPTOOLPY_FLASHSIZE_8MB)
60#elif defined(CONFIG_ESPTOOLPY_FLASHSIZE_4MB)
62#elif defined(CONFIG_ESPTOOLPY_FLASHSIZE_2MB)
68#if !defined(PC_PSRAM_MB) && defined(CONFIG_SPIRAM_SIZE)
69#if CONFIG_SPIRAM_SIZE >= (32 * 1024 * 1024)
71#elif CONFIG_SPIRAM_SIZE >= (16 * 1024 * 1024)
73#elif CONFIG_SPIRAM_SIZE >= (8 * 1024 * 1024)
75#elif CONFIG_SPIRAM_SIZE >= (4 * 1024 * 1024)
77#elif CONFIG_SPIRAM_SIZE >= (2 * 1024 * 1024)
83#if defined(PC_PSRAM_MB)
86#elif PC_PSRAM_MB >= 16
98#if defined(PC_FLASH_MB)
101#elif PC_FLASH_MB >= 16
103#elif PC_FLASH_MB >= 8
105#elif PC_FLASH_MB >= 4
107#elif PC_FLASH_MB >= 2
117#if defined(CONFIG_IDF_TARGET_ESP32P4)
119#elif defined(CONFIG_IDF_TARGET_ESP32S31)
121#elif defined(CONFIG_IDF_TARGET_ESP32S3)
123#elif defined(CONFIG_IDF_TARGET_ESP32S2)
125#elif defined(CONFIG_IDF_TARGET_ESP32C2)
127#elif defined(CONFIG_IDF_TARGET_ESP32C3)
129#elif defined(CONFIG_IDF_TARGET_ESP32C5)
131#elif defined(CONFIG_IDF_TARGET_ESP32C61)
133#elif defined(CONFIG_IDF_TARGET_ESP32C6)
135#elif defined(CONFIG_IDF_TARGET_ESP32H21)
137#elif defined(CONFIG_IDF_TARGET_ESP32H2)
139#elif defined(CONFIG_IDF_TARGET_ESP32H4)
16 MB flash profile - flash-backed default sizing.
16 MB PSRAM profile - larger RAM-backed pools than the 8 MB profile.
2 MB flash profile - the smallest flash step - flash-backed default sizing.
2 MB PSRAM profile - the smallest external-RAM step (e.g. classic WROVER, some C-series).
32 MB flash profile - flash-backed default sizing.
32 MB PSRAM profile - the largest RAM-backed pools.
4 MB flash profile - the common default density - flash-backed default sizing.
4 MB PSRAM profile - between the 2 MB and 8 MB steps.
8 MB flash profile - flash-backed default sizing.
8 MB PSRAM profile - scale the RAM-backed pools up past the chip's internal SRAM.
ESP32-C2 (ESP8684) die profile - single RISC-V, 272 KB SRAM, Wi-Fi 4 + BLE 5.0, no PSRAM.
ESP32-C3 die profile - single RISC-V, 400 KB SRAM, Wi-Fi 4 + BLE 5.0, no PSRAM.
ESP32-C5 die profile - single RISC-V (+LP), 384 KB SRAM, dual-band Wi-Fi 6, PSRAM.
ESP32-C61 die profile - single RISC-V, 320 KB SRAM, cost-optimized Wi-Fi 6 + BLE 5....
ESP32-C6 die profile - RISC-V HP + LP core, 512 KB SRAM, Wi-Fi 6 + BLE 5 + 802.15....
Classic ESP32 die profile + the universal conservative sizing floor.
ESP32-H21 die profile (PREVIEW) - single RISC-V, 320 KB SRAM, BLE 5 + 802.15.4, no Wi-Fi.
ESP32-H2 die profile - single RISC-V, 320 KB SRAM, BLE 5.0 + 802.15.4, NO Wi-Fi.
ESP32-H4 die profile (PREVIEW) - dual RISC-V, 384 KB SRAM, BLE 5.4 + 802.15.4, no Wi-Fi.
ESP32-P4 die profile - dual RISC-V + FPU up to 400 MHz, 768 KB L2MEM, no radio.
ESP32-S2 die profile - single Xtensa LX7, 320 KB SRAM, Wi-Fi 4 only (no Bluetooth).
ESP32-S31 die profile (PREVIEW) - dual RISC-V up to 320 MHz, 512 KB SRAM, multiprotocol.
ESP32-S3 die profile - dual Xtensa LX7, 512 KB SRAM, Wi-Fi 4 + BLE 5.0, Octal PSRAM.