BL54l15µ DVK: SPIM20/SPIM21 not working on P2 dedicated pins

Hello everyone,

I'm encountering a pin routing issue on the BL54L15µ DVK and hope someone can clarify the documentation. The core problem is that SPIM20 and SPIM21 do not seem to work on the dedicated P2 SPI pins, even though the documentation suggests this is possible.

  • Hardware: BL54L15µ DVK (Rev 1)

  • SDK: nRF Connect SDK Toolchain v3.1.1

Documentation Reference

According to the nRF54L15 documentation, the peripherals have the following capabilities:

Configuration Overview:

SPIM00 : ... Use dedicated pins on GPIO port P2 ...
SPIM20 : ... Use GPIO port P1, or dedicated pins on P2
SPIM21 : ... Use GPIO port P1, or dedicated pins on P2

Found on : docs.nordicsemi.com/.../pin.html

-> SPIM00: Has dedicated pins on P2... ... SPIM20/21: Can use any pins on P1... Can connect across power domains to dedicated pins on P2

This "connect across power domains" phrase is key, it implies we should be able to use SPIM20 or SPIM21 on the same P2 pins that SPIM00 uses.

In reality, the only thing that works is the SPI00 on P2.

To establish a baseline, I configured &spi00 to use the P2 pins (connected to the mikroBUS connector) to communicate with a BHI260AP sensor. This works perfectly.

Here is my working overlay file for &spi00:

&mx25r64 {
    status = "disabled";
};
/delete-node/ &mx25r64;

&spi00 {
    compatible = "nordic,nrf-spim";
    status = "okay";
    pinctrl-0 = <&spi00_default>;
    pinctrl-1 = <&spi00_sleep>;
    pinctrl-names = "default", "sleep";
    cs-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>;   /* P2.09 mikroBUS CS */

    bhi260ap: bhi260ap@0 {
        compatible = "bosch,bhi2xy";
        status = "okay";
        reg = <0>;
        spi-max-frequency = <DT_FREQ_M(2)>;
        variant = "BHI260AP";
        reset-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;   /* P0.04 mikroBUS RST */
    };
};

&pinctrl {
    spi00_default: spi00_default {
        group1 {
            psels = <NRF_PSEL(SPIM_SCK, 2, 1)>,    /* P2.01 mikroBUS SCK */
                    <NRF_PSEL(SPIM_MOSI, 2, 2)>;   /* P2.02 mikroBUS MOSI */
        };
        group2 {
            psels = <NRF_PSEL(SPIM_MISO, 2, 4)>;   /* P2.04 mikroBUS MISO */
            bias-pull-up;
        };
    };
    /* ... sleep config ... */
};


What Does NOT Work: SPIM20 / SPIM21 on P2.

Based on the documentation, I expected to be able to simply change the instance from &spi00 to &spi21 (or &spi20) and have it work over the same P2 pins.

When I try this, the SPI communication fails completely.

Here is my non-working overlay file (example using &spi21):

&mx25r64 {
    status = "disabled";
};
/delete-node/ &mx25r64;

&spi21 {
    compatible = "nordic,nrf-spim";
    status = "okay";
    pinctrl-0 = <&spi21_default>;
    pinctrl-1 = <&spi21_sleep>;
    pinctrl-names = "default", "sleep";
    cs-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>;   /* P2.09 mikroBUS CS */

    bhi260ap: bhi260ap@0 {
        compatible = "bosch,bhi2xy";
        status = "okay";
        reg = <0>;
        spi-max-frequency = <DT_FREQ_M(2)>;
        variant = "BHI260AP";
        reset-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;   /* P0.04 mikroBUS RST */
    };
};

&pinctrl {
    spi21_default: spi21_default {
        group1 {
            psels = <NRF_PSEL(SPIM_SCK, 2, 1)>,    /* P2.01 mikroBUS SCK */
                    <NRF_PSEL(SPIM_MOSI, 2, 2)>;   /* P2.02 mikroBUS MOSI */
        };
        group2 {
            psels = <NRF_PSEL(SPIM_MISO, 2, 4)>;   /* P2.04 mikroBUS MISO */
            bias-pull-up;
        };
    };
    /* ... sleep config ... */
};

(Note: The same test fails when using &spi20)

My Question:

The hardware (pins, sensor, DVK) is proven to work with &spi00. The documentation explicitly states that SPIM20/21 "Can connect across power domains to dedicated pins on P2."

Why does this fail in practice? Am I misinterpreting the documentation? Or am I missing a specific configuration step (e.g., in Kconfig, or an extra devicetree property) that is required to correctly enable and route this "cross-domain" connection for SPIM20/21 to the P2 pins?

Any clarification on this discrepancy would be greatly appreciated.

Thank you.

Parents Reply Children
No Data
Related