SPI mostly works on nRF54L15-DK, but MOSI always stuck at 0V

I've been unable to get a SPI MOSI pin to output data on nRF54L15DK using Nordic Connect SDK v3.0.2. SPI transactions report success, and the SCL and CS lines are clocking, but the MOSI pin remains at 0V with no data transmission visible on oscilloscope.

Hardware Configuration

- Development Kit: nRF54L15DK v0.9.1
- Modification: Port 2 configured to serve as GPIO instead of default configuration
- SPI Peripheral: SPI00 (chosen for 32MHz capability)
- Target Application: Display controller communication

Pin Assignments

- P201: SPI SCK (working - shows clock signal)
- P202: SPI CS (working - shows chip select)
- P204: SPI MOSI (NOT WORKING - stuck at 0V)
- P207: SPI MISO (configured but unused in test)

Device Tree Configuration

&spi00 {
compatible = "nordic,nrf-spim";
status = "okay";
cs-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; /* P202 - DISP_CS */
pinctrl-0 = <&spi00_default>;
pinctrl-1 = <&spi00_sleep>;
pinctrl-names = "default", "sleep";
};

&pinctrl {
spi00_default: spi00_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 2, 1)>; /* P201 - SCK */
nordic,drive-mode = <NRF_DRIVE_H0H1>;
bias-disable;
};
group2 {
psels = <NRF_PSEL(SPIM_MOSI, 2, 4)>; /* P204 - MOSI */
nordic,drive-mode = <NRF_DRIVE_H0H1>;
bias-disable;
};
group3 {
psels = <NRF_PSEL(SPIM_MISO, 2, 7)>; /* P207 - MISO */
bias-disable;
};
};
}

Kconfig Settings

CONFIG_SPI=y
CONFIG_SPI_NRFX=y
CONFIG_NRFX_SPIM00=y

Test Results

1. SPI Transactions: spi_transceive() returns success, sends 256 bytes
2. Pin Behavior:
 - P201 (SCK): White check mark Shows proper clock signal (0V-3V)
 - P202 (CS): White check mark Shows proper chip select (0V-3V)
 - P204 (MOSI): X Stuck at 0V - no data transmission
3. GPIO Test: P204 works perfectly when controlled directly via GPIO (0V-3V oscillation)

Debugging Attempted

- Verified pinctrl active/sleep state consistency
- Confirmed SPIM00 instance configuration
- Tested manual GPIO control (P204 responds correctly)
- Reduced SPI frequency to 8MHz for testing
- Verified device tree compilation shows correct pin assignments

Question

Why would SPI transactions succeed but the MOSI pin (P204) remain undriven, while SCK and CS pins work correctly? Is there a specific nRF54L15 requirement or limitation for SPI00 MOSI functionality that we're missing?

The disconnect between successful SPI transactions and non-functional MOSI output suggests a deeper hardware configuration issue specific to the nRF54L15 SPIM peripheral.

Thanks for your help,

Steve 

Related