I am using a module named MS12SF1 which is a nrf7002+nrf5340 combine module. For wifi initialization, qspi is used. As it wasn't working I added spi4 in the nrf5340dk_nrf5340_cpuapp.overlay file.
During build I am getting
ERROR: /soc/peripheral@50000000/spi@a000/nrf7002@0 POST_KERNEL 41 142 < /soc/peripheral@50000000/spi@a000 POST_KERNEL 70 141
ninja: build stopped: subcommand failed.
the above error.
OVERLAY FILE:
/* Copyright (c) 2023 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/
/* This node by default forwards the UART1 pins to CPUNET, but as UART1 uses
* same pins as bucken and iovdd-ctrl, we need these pins to be controlled by
* the CPUAPP. Since a child node of gpio_fwd cannot be disabled, hence
* the entire node is disabled. If the application needs to forward other pins
* to the CPUNET, it should create a separate instance of nrf-gpio-forwarder
* and use it instead.
*/
&gpio_fwd {
status = "disabled";
};
/delete-node/ &mx25r64;
/delete-node/ &qspi;
arduino_spi: &spi4 {
compatible = "nordic,nrf-spim";
status = "okay";
pinctrl-0 = <&spi4_default>;
pinctrl-1 = <&spi4_sleep>;
pinctrl-names = "default", "sleep";
cs-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
nrf700x: nrf7002@0 {
status = "okay";
compatible = "nordic,nrf700x-spi";
// compatible = "nordic,nrf700x-coex";
reg = <0>;
spi-max-frequency = <24000000>;
/* Wi-Fi Pins used */
iovdd-ctrl-gpios = <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
bucken-gpios = <&gpio1 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
host-irq-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};
};
/ {
nrf_radio_coex: nrf7002-coex {
status = "okay";
compatible = "nordic,nrf700x-coex";
status0-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>; /* D2 */
req-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; /* D3 */
grant-gpios = <&gpio1 4 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>; /* D4 */
swctrl1-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; /* D6 */
};
};
For reference I am also attaching the datasheet of MS12SF1
https://en.minewsemi.com/file/MS12SF1-WiFi+BLE-Combo-Specification-MinewSemi.pdf