Hi folks, I’m looking for help enabling an additional SPI bus on the Feather header pins on the nRF9151 Feather.
On this board I’m already using:
uart0 (console)
i2c2 (PMIC / sensors)
spi3 (external flash)
spi3 is dedicated to the onboard external flash, so I’m trying to enable a second SPI controller (spi1) and route it to the Feather header pins (SCK/MOSI/MISO on P0.20/P0.21/P0.22). I’m doing this via my application overlay (without modifying upstream board files). I also disable uart1 (not used).
Overlay snippet:
&uart1 {
status = "disabled";
};
&spi1 {
status = "okay";
cs-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>,
<&gpio0 18 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&pinctrl {
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 21)>,
<NRF_PSEL(SPIM_MISO, 0, 22)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 21)>,
<NRF_PSEL(SPIM_MISO, 0, 22)>;
low-power-enable;
};
};
};
This builds fine and spi1 shows up as enabled in the generated zephyr.dts, but at runtime the device hits a bus fault immediately after MCUboot chainloads the application.
Console output:
*** Booting MCUboot v2.1.0-dev-9b4ae4cbc9e2 ***
*** Using nRF Connect SDK v3.1.1-e2a97fe2578a ***
*** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
I: Starting bootloader
I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Boot source: none
I: Image index: 0, Swap type: none
I: Bootloader chainload address offset: 0x10000
I: Image version: v0.0.0
[00:00:00.252,105] <err> os: ***** BUS FAULT *****
[00:00:00.252,136] <err> os: Precise data bus error
[00:00:00.252,136] <err> os: BFAR Address: 0x0
[00:00:00.252,166] <err> os: r0/a1: 0x000259f8 r1/a2: 0x00025a04 r2/a3: 0x40009000
[00:00:00.252,166] <err> os: r3/a4: 0x00000014 r12/ip: 0x40842500 r14/lr: 0xfffcf8f0
[00:00:00.252,166] <err> os: xpsr: 0x01000000
[00:00:00.252,197] <err> os: Faulting instruction address (r15/pc): 0x0001c9f4
[00:00:00.252,227] <err> os: >>> ZEPHYR FATAL ERROR 25: Unknown error on CPU 0
[00:00:00.252,258] <err> os: Current thread: 0x2000cc98 (unknown)
[00:00:00.315,063] <err> os: Halting system
Has anyone seen similar behavior when enabling a second SPI instance on the nRF9151 feather? Enabling spi1 in the application overlay consistently causes a bus fault during early boot, and I’m trying to understand what I might be missing in terms of configuration or platform setup.
Any guidance or pointers would be greatly appreciated.