nRF54L15 DK: SD Card initialization impossible on P2 header due to Domain Isolation and 128MHz SPIM Prescaler Floor

What I've tried:

Testing Summary: SD Card on Port 2

  • Setup: Wired an SDHC card (Transcend 8GB) to the Connector P2 (middle header) on an nRF54L15 DK v1.0.0.
  • Hardware Config:
    • Board Configurator: Set "External memory" to OFF to rout Port 2 pins from the onboard flash to the header.
    • Solder Bridges: SB11 cut to isolate the flash CS from P2.05.
  • Pin Mapping:
    • SCK: P2.01 (Label (01) / Physical Pin 2)
    • MOSI: P2.02 (Label (02) / Physical Pin 5)
    • MISO: P2.04 (Label (04) / Physical Pin 7)
    • CS: P2.05 (Label (05) / Physical Pin 6)
  • Speeds Attempted:
    1. 2 MHz: First attempt via driver clamp. Result: -134 (No OCR detected).
    2. 1.016 MHz: Hardware minimum for SPI00 (128MHz / 126 prescaler). Result: -134.
    3. 400 kHz: Attempted via SPI22 (Slow domain). Result: Driver crash (0bad0004) due to domain isolation.

Here's my device tree overlay:

&spi00 {
status = "okay";
pinctrl-0 = <&spi00_default>;
pinctrl-names = "default";
cs-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;

sdhc0: sdhc@0 {
compatible = "zephyr,sdhc-spi-slot";
reg = <0>;
status = "okay";
mmc {
compatible = "zephyr,sdmmc-disk";
status = "okay";
};
};
};

I also had to patch the Zephyr driver to bypass the NRFX_ERROR_INVALID_PARAM caused by the 128MHz base clock's prescaler limits:

Hardware configuration:

  • Board: nRF54L15 DK v1.0.0.
  • Board Configurator: "External memory" set to OFF (to route P2 pins to headers).
  • Solder Bridges: SB11 cut (to isolate flash CS from P2.05).
  • SD card: Transcent 8GB HC 10
  • Wiring (Connector P2):
    • SCK: P2.01 
    • MOSI: P2.02 
    • MISO: P2.04 
    • CS: P2.05

Question: Is there any supported way to initialize a legacy SD Card on the Port 2 header of the nRF54L15 DK, given these domain and prescaler constraints? Or is Port 2 fundamentally restricted to high-speed QSPI/SPI Flash?

Any help would be much appreciated.

Related