From 9f21387297410a918a207cec3f36fa6b5b4222dc Mon Sep 17 00:00:00 2001 From: mikeysklar Date: Wed, 22 Apr 2026 16:46:10 -0700 Subject: [PATCH] raspberrypi/boards: add DEFAULT_SD_* for Metro RP2040 and Feather RP2040 Adalogger Both boards have onboard microSD slots but were missing the DEFAULT_SD_* pin defines that enable CircuitPython's native SD automount. Without these, SD-over-USB-MSC only worked via user boot.py code and hit the heap-mount race in get_vfs(). Pin wiring verified on hardware against the board schematics; CD pin polarity (DEFAULT_SD_CARD_INSERTED=true) confirmed by runtime test. Companion to #10963 (automount at filesystem init) and #NNNN (per-LUN PREVENT_ALLOW response). Fixes the last mile for #10965. --- .../adafruit_feather_rp2040_adalogger/mpconfigboard.h | 8 ++++++++ .../boards/adafruit_metro_rp2040/mpconfigboard.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2040_adalogger/mpconfigboard.h b/ports/raspberrypi/boards/adafruit_feather_rp2040_adalogger/mpconfigboard.h index 343601694230c..4c500366dfca9 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2040_adalogger/mpconfigboard.h +++ b/ports/raspberrypi/boards/adafruit_feather_rp2040_adalogger/mpconfigboard.h @@ -23,3 +23,11 @@ // #define CIRCUITPY_CONSOLE_UART_RX DEFAULT_UART_BUS_RX // #define CIRCUITPY_CONSOLE_UART_TX DEFAULT_UART_BUS_TX + +// Onboard microSD slot on SPI1. +#define DEFAULT_SD_SCK (&pin_GPIO18) +#define DEFAULT_SD_MOSI (&pin_GPIO19) +#define DEFAULT_SD_MISO (&pin_GPIO20) +#define DEFAULT_SD_CS (&pin_GPIO23) +#define DEFAULT_SD_CARD_DETECT (&pin_GPIO16) +#define DEFAULT_SD_CARD_INSERTED true diff --git a/ports/raspberrypi/boards/adafruit_metro_rp2040/mpconfigboard.h b/ports/raspberrypi/boards/adafruit_metro_rp2040/mpconfigboard.h index 4242599354c38..fdbd18c0e66cd 100644 --- a/ports/raspberrypi/boards/adafruit_metro_rp2040/mpconfigboard.h +++ b/ports/raspberrypi/boards/adafruit_metro_rp2040/mpconfigboard.h @@ -20,3 +20,11 @@ #define DEFAULT_UART_BUS_RX (&pin_GPIO1) #define DEFAULT_UART_BUS_TX (&pin_GPIO0) + +// Onboard microSD slot. +#define DEFAULT_SD_SCK (&pin_GPIO18) +#define DEFAULT_SD_MOSI (&pin_GPIO19) +#define DEFAULT_SD_MISO (&pin_GPIO20) +#define DEFAULT_SD_CS (&pin_GPIO23) +#define DEFAULT_SD_CARD_DETECT (&pin_GPIO15) +#define DEFAULT_SD_CARD_INSERTED true