From 5dff78f38edc0354e854e6c73af61c5064afe9d3 Mon Sep 17 00:00:00 2001 From: Damien George Date: Mon, 24 Jun 2024 12:37:13 +1000 Subject: [PATCH] rp2: Rework board variant support to require mpconfigvariant file. Following how the board variants now work in the esp32 port. Signed-off-by: Damien George --- ports/rp2/CMakeLists.txt | 12 ++++++++++++ ports/rp2/boards/WEACTSTUDIO/mpconfigboard.cmake | 16 ---------------- .../rp2/boards/WEACTSTUDIO/mpconfigvariant.cmake | 1 + .../WEACTSTUDIO/mpconfigvariant_FLASH_2M.cmake | 1 + .../WEACTSTUDIO/mpconfigvariant_FLASH_4M.cmake | 1 + .../WEACTSTUDIO/mpconfigvariant_FLASH_8M.cmake | 1 + 6 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 ports/rp2/boards/WEACTSTUDIO/mpconfigvariant.cmake create mode 100644 ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_2M.cmake create mode 100644 ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_4M.cmake create mode 100644 ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_8M.cmake diff --git a/ports/rp2/CMakeLists.txt b/ports/rp2/CMakeLists.txt index 8f5680092c..8fff425148 100644 --- a/ports/rp2/CMakeLists.txt +++ b/ports/rp2/CMakeLists.txt @@ -38,10 +38,22 @@ if(NOT EXISTS ${MICROPY_BOARD_DIR}/mpconfigboard.cmake) message(FATAL_ERROR "Invalid MICROPY_BOARD specified: ${MICROPY_BOARD}") endif() +# If a board variant is specified, check that it exists. +if(MICROPY_BOARD_VARIANT) + if(NOT EXISTS ${MICROPY_BOARD_DIR}/mpconfigvariant_${MICROPY_BOARD_VARIANT}.cmake) + message(FATAL_ERROR "Invalid MICROPY_BOARD_VARIANT specified: ${MICROPY_BOARD_VARIANT}") + endif() +endif() + set(MICROPY_USER_FROZEN_MANIFEST ${MICROPY_FROZEN_MANIFEST}) # Include board config, it may override MICROPY_FROZEN_MANIFEST include(${MICROPY_BOARD_DIR}/mpconfigboard.cmake) +if(NOT MICROPY_BOARD_VARIANT) + include(${MICROPY_BOARD_DIR}/mpconfigvariant.cmake OPTIONAL) +else() + include(${MICROPY_BOARD_DIR}/mpconfigvariant_${MICROPY_BOARD_VARIANT}.cmake) +endif() # Set the PICO_BOARD if it's not already set (allow a board to override it). if(NOT PICO_BOARD) diff --git a/ports/rp2/boards/WEACTSTUDIO/mpconfigboard.cmake b/ports/rp2/boards/WEACTSTUDIO/mpconfigboard.cmake index 848b50f604..d922644bf6 100644 --- a/ports/rp2/boards/WEACTSTUDIO/mpconfigboard.cmake +++ b/ports/rp2/boards/WEACTSTUDIO/mpconfigboard.cmake @@ -6,19 +6,3 @@ list(APPEND PICO_BOARD_HEADER_DIRS ${MICROPY_BOARD_DIR}) # Freeze board.py set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) - -# Select the 16MB variant as the default -set(PICO_BOARD "weactstudio_16MiB") - -# Provide different variants for the downloads page -if(MICROPY_BOARD_VARIANT STREQUAL "FLASH_2M") - set(PICO_BOARD "weactstudio_2MiB") -endif() - -if(MICROPY_BOARD_VARIANT STREQUAL "FLASH_4M") - set(PICO_BOARD "weactstudio_4MiB") -endif() - -if(MICROPY_BOARD_VARIANT STREQUAL "FLASH_8M") - set(PICO_BOARD "weactstudio_8MiB") -endif() diff --git a/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant.cmake b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant.cmake new file mode 100644 index 0000000000..4e68b2112f --- /dev/null +++ b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant.cmake @@ -0,0 +1 @@ +set(PICO_BOARD "weactstudio_16MiB") diff --git a/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_2M.cmake b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_2M.cmake new file mode 100644 index 0000000000..b8d7202dad --- /dev/null +++ b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_2M.cmake @@ -0,0 +1 @@ +set(PICO_BOARD "weactstudio_2MiB") diff --git a/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_4M.cmake b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_4M.cmake new file mode 100644 index 0000000000..75afb1ba40 --- /dev/null +++ b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_4M.cmake @@ -0,0 +1 @@ +set(PICO_BOARD "weactstudio_4MiB") diff --git a/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_8M.cmake b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_8M.cmake new file mode 100644 index 0000000000..359e47c011 --- /dev/null +++ b/ports/rp2/boards/WEACTSTUDIO/mpconfigvariant_FLASH_8M.cmake @@ -0,0 +1 @@ +set(PICO_BOARD "weactstudio_8MiB")