Expand Espressif non-usb firmware partitions #10424
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR expands the space available for the circuitpython firmware on non-USB Espressif boards: ESP32, ESP32-C2, C3, C6, and H2.
Non-USB boards that used to have
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
no longer have that set. Their ota_0and
ota_1partitions are now combined into a single
ota_0partition at the same location. Their
user_fs` partition does not move.Conversely, non-USB boards that did not have
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT
set now haveCIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1
set. Note the difference in the two names. This preserves the largeruser_fs
(almost 2MB in size) on those boards at the same location.So in both cases for these non-USB boards, the location of the
user_fs
is not moved, and its size is not changed. So the user filesystem will not be damaged when loading new firmware.Because these boards are loaded only using a
.bin
that rewrites the partition table, there is no UF2 bootloader with an updated partition table to worry about.This PR does not adjust the features available to these boards as set in
mpconfigport.mk
. I started to do this, but it caused some rather tortured logic due to the overlap with ESP32-S2 and ESP32-S3 USB-capable boards, which await #10265. When #10265 is merged, the features available will be adjusted for all boards as appropriate.CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT
is still mentioned inmpconfigport.mk
, but it is obsolete.A few small adjustments were made in
mpconfigboard.mk
to allow new features on boards where those features will now fit.