From 2fbf42d3ad974b7de12823bb5a86df8a08d917ce Mon Sep 17 00:00:00 2001 From: Jim Mussared Date: Tue, 25 Jul 2023 15:03:30 +1000 Subject: [PATCH] esp32/boards/GENERIC: Merge with GENERIC_{SPIRAM,OTA,D2WD,UNICORE}. These are now variants of the GENERIC board. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared --- ports/esp32/boards/GENERIC/board.json | 8 +++- ports/esp32/boards/GENERIC/board.md | 10 ++++- .../esp32/boards/GENERIC/mpconfigboard.cmake | 44 +++++++++++++++++++ ports/esp32/boards/GENERIC/mpconfigboard.h | 10 ++++- .../sdkconfig.d2wd} | 0 .../sdkconfig.board => GENERIC/sdkconfig.ota} | 0 .../sdkconfig.unicore} | 0 ports/esp32/boards/GENERIC_D2WD/board.json | 20 --------- .../boards/GENERIC_D2WD/mpconfigboard.cmake | 5 --- .../esp32/boards/GENERIC_D2WD/mpconfigboard.h | 2 - ports/esp32/boards/GENERIC_OTA/board.json | 20 --------- .../boards/GENERIC_OTA/mpconfigboard.cmake | 5 --- .../esp32/boards/GENERIC_OTA/mpconfigboard.h | 2 - ports/esp32/boards/GENERIC_SPIRAM/board.json | 24 ---------- ports/esp32/boards/GENERIC_SPIRAM/board.md | 1 - .../boards/GENERIC_SPIRAM/mpconfigboard.cmake | 5 --- .../boards/GENERIC_SPIRAM/mpconfigboard.h | 2 - ports/esp32/boards/GENERIC_UNICORE/board.json | 20 --------- ports/esp32/boards/GENERIC_UNICORE/board.md | 1 - .../GENERIC_UNICORE/mpconfigboard.cmake | 5 --- .../boards/GENERIC_UNICORE/mpconfigboard.h | 2 - ports/esp32/esp32_common.cmake | 1 + 22 files changed, 69 insertions(+), 118 deletions(-) rename ports/esp32/boards/{GENERIC_D2WD/sdkconfig.board => GENERIC/sdkconfig.d2wd} (100%) rename ports/esp32/boards/{GENERIC_OTA/sdkconfig.board => GENERIC/sdkconfig.ota} (100%) rename ports/esp32/boards/{GENERIC_UNICORE/sdkconfig.board => GENERIC/sdkconfig.unicore} (100%) delete mode 100644 ports/esp32/boards/GENERIC_D2WD/board.json delete mode 100644 ports/esp32/boards/GENERIC_D2WD/mpconfigboard.cmake delete mode 100644 ports/esp32/boards/GENERIC_D2WD/mpconfigboard.h delete mode 100644 ports/esp32/boards/GENERIC_OTA/board.json delete mode 100644 ports/esp32/boards/GENERIC_OTA/mpconfigboard.cmake delete mode 100644 ports/esp32/boards/GENERIC_OTA/mpconfigboard.h delete mode 100644 ports/esp32/boards/GENERIC_SPIRAM/board.json delete mode 100644 ports/esp32/boards/GENERIC_SPIRAM/board.md delete mode 100644 ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.cmake delete mode 100644 ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.h delete mode 100644 ports/esp32/boards/GENERIC_UNICORE/board.json delete mode 100644 ports/esp32/boards/GENERIC_UNICORE/board.md delete mode 100644 ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.cmake delete mode 100644 ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.h diff --git a/ports/esp32/boards/GENERIC/board.json b/ports/esp32/boards/GENERIC/board.json index f70e2e0890..d08fcfec15 100644 --- a/ports/esp32/boards/GENERIC/board.json +++ b/ports/esp32/boards/GENERIC/board.json @@ -13,11 +13,15 @@ "esp32_devkitc.jpg" ], "mcu": "esp32", - "product": "ESP32", + "product": "ESP32 / WROOM", "thumbnail": "", "url": "https://www.espressif.com/en/products/modules", "variants": { - "idf3": "Compiled with IDF 3.x" + "idf3": "Compiled with IDF 3.x", + "d2wd": "ESP32 D2WD", + "spiram": "Support for SPIRAM / WROVER", + "unicore": "ESP32 Unicore", + "ota": "Support for OTA" }, "vendor": "Espressif" } diff --git a/ports/esp32/boards/GENERIC/board.md b/ports/esp32/boards/GENERIC/board.md index efb2b2cab7..8a669411d0 100644 --- a/ports/esp32/boards/GENERIC/board.md +++ b/ports/esp32/boards/GENERIC/board.md @@ -1 +1,9 @@ -The following files are firmware for ESP32-based boards without external SPIRAM. +The following files are firmware that should work on most ESP32-based boards +with 4MiB of flash, including WROOM WROVER, SOLO, PICO, and MINI modules. + +If your board is based on a WROVER module, or otherwise has SPIRAM (also known +as PSRAM), then use the "spiram" variant. + +The "d2wd" variant is for ESP32-D2WD chips (with 2MiB flash), and "unicore" is +for single-core ESP32 chips (e.g. the "SOLO" modules). The "ota" variant sets +up the partition table to allow for Over-the-Air updates. diff --git a/ports/esp32/boards/GENERIC/mpconfigboard.cmake b/ports/esp32/boards/GENERIC/mpconfigboard.cmake index ac60dc8630..29096c2768 100644 --- a/ports/esp32/boards/GENERIC/mpconfigboard.cmake +++ b/ports/esp32/boards/GENERIC/mpconfigboard.cmake @@ -2,3 +2,47 @@ set(SDKCONFIG_DEFAULTS boards/sdkconfig.base boards/sdkconfig.ble ) + +if(MICROPY_BOARD_VARIANT STREQUAL "d2wd") + set(SDKCONFIG_DEFAULTS + ${SDKCONFIG_DEFAULTS} + boards/GENERIC/sdkconfig.d2wd + ) + + list(APPEND MICROPY_DEF_BOARD + MICROPY_HW_MCU_NAME="ESP32-D2WD" + ) +endif() + +if(MICROPY_BOARD_VARIANT STREQUAL "ota") + set(SDKCONFIG_DEFAULTS + ${SDKCONFIG_DEFAULTS} + boards/GENERIC/sdkconfig.ota + ) + + list(APPEND MICROPY_DEF_BOARD + MICROPY_HW_BOARD_NAME="Generic ESP32 module with OTA" + ) +endif() + +if(MICROPY_BOARD_VARIANT STREQUAL "spiram") + set(SDKCONFIG_DEFAULTS + ${SDKCONFIG_DEFAULTS} + boards/sdkconfig.spiram + ) + + list(APPEND MICROPY_DEF_BOARD + MICROPY_HW_BOARD_NAME="Generic ESP32 module with SPIRAM" + ) +endif() + +if(MICROPY_BOARD_VARIANT STREQUAL "unicore") + set(SDKCONFIG_DEFAULTS + ${SDKCONFIG_DEFAULTS} + boards/GENERIC/sdkconfig.unicore + ) + + list(APPEND MICROPY_DEF_BOARD + MICROPY_HW_MCU_NAME="ESP32-UNICORE" + ) +endif() diff --git a/ports/esp32/boards/GENERIC/mpconfigboard.h b/ports/esp32/boards/GENERIC/mpconfigboard.h index 644807f78e..7171a84bb3 100644 --- a/ports/esp32/boards/GENERIC/mpconfigboard.h +++ b/ports/esp32/boards/GENERIC/mpconfigboard.h @@ -1,2 +1,10 @@ -#define MICROPY_HW_BOARD_NAME "ESP32 module" +// Both of these can be set by mpconfigboard.cmake if a BOARD_VARIANT is +// specified. + +#ifndef MICROPY_HW_BOARD_NAME +#define MICROPY_HW_BOARD_NAME "Generic ESP32 module" +#endif + +#ifndef MICROPY_HW_MCU_NAME #define MICROPY_HW_MCU_NAME "ESP32" +#endif diff --git a/ports/esp32/boards/GENERIC_D2WD/sdkconfig.board b/ports/esp32/boards/GENERIC/sdkconfig.d2wd similarity index 100% rename from ports/esp32/boards/GENERIC_D2WD/sdkconfig.board rename to ports/esp32/boards/GENERIC/sdkconfig.d2wd diff --git a/ports/esp32/boards/GENERIC_OTA/sdkconfig.board b/ports/esp32/boards/GENERIC/sdkconfig.ota similarity index 100% rename from ports/esp32/boards/GENERIC_OTA/sdkconfig.board rename to ports/esp32/boards/GENERIC/sdkconfig.ota diff --git a/ports/esp32/boards/GENERIC_UNICORE/sdkconfig.board b/ports/esp32/boards/GENERIC/sdkconfig.unicore similarity index 100% rename from ports/esp32/boards/GENERIC_UNICORE/sdkconfig.board rename to ports/esp32/boards/GENERIC/sdkconfig.unicore diff --git a/ports/esp32/boards/GENERIC_D2WD/board.json b/ports/esp32/boards/GENERIC_D2WD/board.json deleted file mode 100644 index 0582820445..0000000000 --- a/ports/esp32/boards/GENERIC_D2WD/board.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "deploy": [ - "../deploy.md" - ], - "docs": "", - "features": [ - "BLE", - "External Flash", - "WiFi" - ], - "id": "esp32-d2wd", - "images": [ - "generic_d2wd.jpg" - ], - "mcu": "esp32", - "product": "ESP32 D2WD", - "thumbnail": "", - "url": "https://www.espressif.com/en/products/modules", - "vendor": "Espressif" -} diff --git a/ports/esp32/boards/GENERIC_D2WD/mpconfigboard.cmake b/ports/esp32/boards/GENERIC_D2WD/mpconfigboard.cmake deleted file mode 100644 index 88cc7a730e..0000000000 --- a/ports/esp32/boards/GENERIC_D2WD/mpconfigboard.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(SDKCONFIG_DEFAULTS - boards/sdkconfig.base - boards/sdkconfig.ble - boards/GENERIC_D2WD/sdkconfig.board -) diff --git a/ports/esp32/boards/GENERIC_D2WD/mpconfigboard.h b/ports/esp32/boards/GENERIC_D2WD/mpconfigboard.h deleted file mode 100644 index 8923d46fd1..0000000000 --- a/ports/esp32/boards/GENERIC_D2WD/mpconfigboard.h +++ /dev/null @@ -1,2 +0,0 @@ -#define MICROPY_HW_BOARD_NAME "Generic ESP32-D2WD module" -#define MICROPY_HW_MCU_NAME "ESP32-D2WD" diff --git a/ports/esp32/boards/GENERIC_OTA/board.json b/ports/esp32/boards/GENERIC_OTA/board.json deleted file mode 100644 index 3b882e04f8..0000000000 --- a/ports/esp32/boards/GENERIC_OTA/board.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "deploy": [ - "../deploy.md" - ], - "docs": "", - "features": [ - "BLE", - "External Flash", - "WiFi" - ], - "id": "esp32-ota", - "images": [ - "esp32_devkitc.jpg" - ], - "mcu": "esp32", - "product": "ESP32 with OTA support", - "thumbnail": "", - "url": "https://www.espressif.com/en/products/modules", - "vendor": "Espressif" -} diff --git a/ports/esp32/boards/GENERIC_OTA/mpconfigboard.cmake b/ports/esp32/boards/GENERIC_OTA/mpconfigboard.cmake deleted file mode 100644 index 8bc9d507af..0000000000 --- a/ports/esp32/boards/GENERIC_OTA/mpconfigboard.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(SDKCONFIG_DEFAULTS - boards/sdkconfig.base - boards/sdkconfig.ble - boards/GENERIC_OTA/sdkconfig.board -) diff --git a/ports/esp32/boards/GENERIC_OTA/mpconfigboard.h b/ports/esp32/boards/GENERIC_OTA/mpconfigboard.h deleted file mode 100644 index ff39c4b2b7..0000000000 --- a/ports/esp32/boards/GENERIC_OTA/mpconfigboard.h +++ /dev/null @@ -1,2 +0,0 @@ -#define MICROPY_HW_BOARD_NAME "4MB/OTA module" -#define MICROPY_HW_MCU_NAME "ESP32" diff --git a/ports/esp32/boards/GENERIC_SPIRAM/board.json b/ports/esp32/boards/GENERIC_SPIRAM/board.json deleted file mode 100644 index 02242028fb..0000000000 --- a/ports/esp32/boards/GENERIC_SPIRAM/board.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "deploy": [ - "../deploy.md" - ], - "docs": "", - "features": [ - "BLE", - "External Flash", - "External RAM", - "WiFi" - ], - "id": "esp32spiram", - "images": [ - "esp32_psram.jpg" - ], - "mcu": "esp32", - "product": "ESP32 with SPIRAM", - "thumbnail": "", - "url": "https://www.espressif.com/en/products/modules", - "variants": { - "idf3": "Compiled with IDF 3.x" - }, - "vendor": "Espressif" -} diff --git a/ports/esp32/boards/GENERIC_SPIRAM/board.md b/ports/esp32/boards/GENERIC_SPIRAM/board.md deleted file mode 100644 index c638f63dd3..0000000000 --- a/ports/esp32/boards/GENERIC_SPIRAM/board.md +++ /dev/null @@ -1 +0,0 @@ -The following files are firmware for ESP32-based boards with external SPIRAM (also known as PSRAM). diff --git a/ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.cmake b/ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.cmake deleted file mode 100644 index 2e1d799b93..0000000000 --- a/ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(SDKCONFIG_DEFAULTS - boards/sdkconfig.base - boards/sdkconfig.ble - boards/sdkconfig.spiram -) diff --git a/ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.h b/ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.h deleted file mode 100644 index a5982e47e5..0000000000 --- a/ports/esp32/boards/GENERIC_SPIRAM/mpconfigboard.h +++ /dev/null @@ -1,2 +0,0 @@ -#define MICROPY_HW_BOARD_NAME "ESP32 module (spiram)" -#define MICROPY_HW_MCU_NAME "ESP32" diff --git a/ports/esp32/boards/GENERIC_UNICORE/board.json b/ports/esp32/boards/GENERIC_UNICORE/board.json deleted file mode 100644 index 1f3beaf6e0..0000000000 --- a/ports/esp32/boards/GENERIC_UNICORE/board.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "deploy": [ - "../deploy.md" - ], - "docs": "", - "features": [ - "BLE", - "External Flash", - "WiFi" - ], - "id": "esp32-unicore", - "images": [ - "generic_unicore.jpg" - ], - "mcu": "esp32", - "product": "ESP32 Unicore", - "thumbnail": "", - "url": "https://www.espressif.com/en/products/modules", - "vendor": "Espressif" -} diff --git a/ports/esp32/boards/GENERIC_UNICORE/board.md b/ports/esp32/boards/GENERIC_UNICORE/board.md deleted file mode 100644 index b41c167498..0000000000 --- a/ports/esp32/boards/GENERIC_UNICORE/board.md +++ /dev/null @@ -1 +0,0 @@ -The following files are daily firmware for single-core ESP32-based boards without external SPIRAM. diff --git a/ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.cmake b/ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.cmake deleted file mode 100644 index 2f34688c8c..0000000000 --- a/ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(SDKCONFIG_DEFAULTS - boards/sdkconfig.base - boards/sdkconfig.ble - boards/GENERIC_UNICORE/sdkconfig.board -) diff --git a/ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.h b/ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.h deleted file mode 100644 index 5d0624b9c3..0000000000 --- a/ports/esp32/boards/GENERIC_UNICORE/mpconfigboard.h +++ /dev/null @@ -1,2 +0,0 @@ -#define MICROPY_HW_BOARD_NAME "ESP32 Unicore module" -#define MICROPY_HW_MCU_NAME "ESP32-UNICORE" diff --git a/ports/esp32/esp32_common.cmake b/ports/esp32/esp32_common.cmake index 098df1f1ae..f5219048f3 100644 --- a/ports/esp32/esp32_common.cmake +++ b/ports/esp32/esp32_common.cmake @@ -170,6 +170,7 @@ set(MICROPY_CROSS_FLAGS -march=xtensawin) # Set compile options for this port. target_compile_definitions(${MICROPY_TARGET} PUBLIC ${MICROPY_DEF_CORE} + ${MICROPY_DEF_BOARD} MICROPY_ESP_IDF_4=1 MICROPY_VFS_FAT=1 MICROPY_VFS_LFS2=1