Skip to content

Add support for the Metro ESP32-P4 - #11643

Merged
dhalbert merged 10 commits into
mainfrom
metro-p4-core-support
Oct 21, 2026
Merged

dhalbert merged 10 commits into
mainfrom
metro-p4-core-support

Conversation

@tannewt

@tannewt tannewt commented Oct 20, 2026

Copy link
Copy Markdown
Member

No description provided.

ladyada-eagleclaw and others added 6 commits October 2, 2026 21:40
Include the ADC mapping, stable UID, ROM USB reset, DSI output and shared SDMMC fixes verified during Metro P4 bring-up. Keep board wiring and configuration in a separate dependent commit.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
Configure USB-C device, USB-A host, SDIO storage and the C6 Hosted coprocessor with the allocated Adafruit USB ID.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
Initialize the required nested runtime after fetching ESP-Hosted, using the same filter or shallow-clone options as mbedtls.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
Retain the existing LDO handle across simulated deep-sleep wakes instead of adding another reference each time board_init runs.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
@tannewt
tannewt requested a review from dhalbert October 20, 2026 21:10
# Conflicts:
#	ports/espressif/Makefile
#	ports/espressif/common-hal/microcontroller/Processor.c
#	ports/espressif/common-hal/microcontroller/__init__.c
#	ports/espressif/common-hal/mipidsi/Display.c
#	ports/espressif/common-hal/usb_host/Port.c
#	ports/espressif/esp-idf
#	ports/espressif/mpconfigport.mk
#	supervisor/shared/usb/tusb_config.h
ESP-IDF v6.1 integrates Wi-Fi remote support into esp_wifi itself
@tannewt

tannewt commented Oct 20, 2026

Copy link
Copy Markdown
Member Author

This was fixed for this change: adafruit/esp-idf#21 I don't think it is required though

dhalbert
dhalbert previously approved these changes Oct 20, 2026

@dhalbert dhalbert left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks pretty safe, except that the sdioiochanges could affect other boards. Ideally it would be tested elsewhere.

@mikeysklar do you have a espressif board on your HIL board that has an SD card you could test this against?

@mikeysklar

Copy link
Copy Markdown
Collaborator

Yep, I'll try it on a Feather ESP32-S3 with SDIO breakout.

@dhalbert

Copy link
Copy Markdown
Collaborator

@tannewt all the builds are failling. I did approve and merge the esp-idf change

@mikeysklar

Copy link
Copy Markdown
Collaborator

I'll submit a PR to bump the pin for adafruit/esp-idf. There are several PRs that need this. Testing now to make sure it builds and runs locally.

@dhalbert

Copy link
Copy Markdown
Collaborator

@mikeysklar Instead of PR, you could push a commit to this PR to fix it, assuming it's clear the new pin will fix the broken builds.

@mikeysklar

Copy link
Copy Markdown
Collaborator

No concern about SDIO regression.

  • 3.3 MB/s write / 6.5 MB/s read

It is running fine on a Feather ESP32-S3 @40 MHz using the SD benchmark

66cb264d was never pushed, so every espressif build failed at checkout.
29d36039 is the tip of adafruit/esp-idf circuitpython-v6.1 and carries
the same SDMMC slot removal guard (adafruit/esp-idf#21).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
mikeysklar added a commit to mikeysklar/circuitpython that referenced this pull request Oct 21, 2026
Match the esp-idf pin in adafruit#11643 (29d36039) so the two PRs merge cleanly
in either order. 29d36039 already contains the jpeg full-range change
(adafruit/esp-idf#18) this PR needs, plus #19 and #21.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
esp-hosted's Kconfig uses $(ESP_IDF_VERSION). export.sh sets it, but the
"Set environment" step only carried IDF_PYTHON_ENV_PATH and PATH forward,
so ldgen failed on the Metro ESP32-P4 with "macro expanded to blank string".

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@mikeysklar

Copy link
Copy Markdown
Collaborator

The Metro ESP32-P4 CI build failed.

ESP_IDF_VERSION was set by export.sh but not passed on to the build step

I added it to the CI environment

@dhalbert dhalbert left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tannewt and thanks @mikeysklar for the fixes!

@dhalbert
dhalbert merged commit d53b227 into main Oct 21, 2026
693 checks passed
@dhalbert
dhalbert deleted the metro-p4-core-support branch October 21, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants