One thing that I’ve seen cause that is if you’re not using the external NOR flash you should initialize it. Also I’ve had good results initializing the wp and hold GPIOs separately:
/ {
zephyr,user {
latch-en-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
wp-gpios = < &gpio0 8 GPIO_ACTIVE_LOW >;
hold-gpios = < &gpio0 10 GPIO_ACTIVE_LOW >;
};
&spi3 {
w25q32jv: w25q32jv@0 {
/delete-property/ wp-gpios;
/delete-property/ hold-gpios;
t-enter-dpd = < 3500 >;
t-exit-dpd = < 3500 >;
};
};
static int setup_gpio(void)
{
gpio_pin_configure_dt(&wp, GPIO_INPUT | GPIO_PULL_UP);
gpio_pin_configure_dt(&hold, GPIO_INPUT | GPIO_PULL_UP);
return 0;
}