zephyr/drivers/flash
Gregers Gram Rygg c9e07fc385 drivers: flash: spi_nor: fix flash busy during init
After a soft-reset of the host controller the flash device is not reset.
This can cause the flash device to still be busy writing or erasing when
the host controller boots and initializes the flash. The often results
in errors and the flash device not being initialized.

This fix polls the status register until the WIP flag is off before
initializing the flash device.

Fixes #51713

Signed-off-by: Gregers Gram Rygg <gregers.gram.rygg@nordicsemi.no>
2022-11-10 11:11:11 +01:00
..
CMakeLists.txt drivers: flash: Add xmc4xxx flash drivers 2022-10-03 13:56:49 +02:00
flash_cadence_qspi_nor.c drivers: flash: Add Cadence QSPI NOR Flash Driver 2022-09-01 14:30:59 -04:00
flash_cadence_qspi_nor_ll.c includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
flash_cadence_qspi_nor_ll.h drivers: flash: Add Cadence QSPI NOR Flash Driver 2022-09-01 14:30:59 -04:00
flash_esp32.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_gd32.c drivers: flash: introduce gd32 fmc driver 2022-09-08 10:13:05 +02:00
flash_gd32.h drivers: flash: introduce gd32 fmc driver 2022-09-08 10:13:05 +02:00
flash_gd32_v1.c drivers/flash/gd32_vX: add missing kernel header 2022-10-17 14:39:39 +09:00
flash_gd32_v2.c drivers/flash/gd32_vX: add missing kernel header 2022-10-17 14:39:39 +09:00
flash_gd32_v3.c drivers/flash/gd32_vX: add missing kernel header 2022-10-17 14:39:39 +09:00
flash_gecko.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_handlers.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_ite_it8xxx2.c ITE: soc: chip_chipregs: Access registers using structure method 2022-11-09 10:44:29 +01:00
flash_mcux_flexspi_hyperflash.c includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
flash_mcux_flexspi_mx25um51345g.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
flash_mcux_flexspi_nor.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
flash_page_layout.c include: add missing errno.h include 2022-10-11 18:05:17 +02:00
flash_priv.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
flash_sam.c drivers: flash: sam: Fix driver support 2022-08-11 07:41:09 -05:00
flash_sam0.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_shell.c drivers: flash: shell: Add flash shell tools 2022-10-06 22:35:57 +00:00
flash_simulator.c drivers: s/DT_CHILD(DT_DRV_INST(n), ...)/DT_INST_CHILD(n, ...) 2022-09-06 08:45:25 -07:00
flash_smartbond.c drivers: flash: Add driver for smartbond 2022-08-31 20:32:03 +02:00
flash_stm32.c devices: constify device pointers initialized at compile time 2022-08-22 17:08:26 +02:00
flash_stm32.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_stm32_ospi.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
flash_stm32_qspi.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
flash_stm32_v1.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_stm32f2x.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_stm32f4x.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_stm32f7x.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_stm32g0x.c drivers: flash: stm32: allow to overwrite zeros 2022-10-17 10:14:32 +02:00
flash_stm32g4x.c drivers: flash: stm32: allow to overwrite zeros 2022-10-17 10:14:32 +02:00
flash_stm32h7x.c devices: constify device pointers initialized at compile time 2022-08-22 17:08:26 +02:00
flash_stm32l4x.c drivers: flash: stm32: allow to overwrite zeros 2022-10-17 10:14:32 +02:00
flash_stm32l5_u5.c drivers: flash: stm32: allow to overwrite zeros 2022-10-17 10:14:32 +02:00
flash_stm32wbx.c drivers: flash: stm32: allow to overwrite zeros 2022-10-17 10:14:32 +02:00
jesd216.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
jesd216.h drivers: flash: jesd216: correct comment mistake 2022-05-13 08:44:54 -07:00
Kconfig drivers: flash: Add xmc4xxx flash drivers 2022-10-03 13:56:49 +02:00
Kconfig.at45 drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.b91 drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.cadence_qspi_nor drivers: flash: Add Cadence QSPI NOR Flash Driver 2022-09-01 14:30:59 -04:00
Kconfig.cc13xx_cc26xx drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.esp32 drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.gd32 drivers: flash: introduce gd32 fmc driver 2022-09-08 10:13:05 +02:00
Kconfig.gecko drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.it8xxx2 it8xxx2: generalize ILM support 2022-10-21 20:31:47 +02:00
Kconfig.lpc drivers: flash: soc_flash_lpc: enable support for lpc54xxx IAP 2022-08-25 08:26:53 -05:00
Kconfig.mcux arm: rename default RAM region from 'SRAM' to 'RAM' 2022-10-03 10:09:53 +02:00
Kconfig.nios2_qspi flash: nios2_qspi: Convert driver to be devicetree based 2022-08-12 08:11:42 -04:00
Kconfig.nor drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.nordic_qspi_nor drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.nrf drivers: flash: soc_flash_nrf: Account for ticker in timeout 2022-10-13 16:06:08 +09:00
Kconfig.rv32m1 drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.sam drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.sam0 soc: atmel: add base support for C2x SOC 2022-11-04 16:03:01 +01:00
Kconfig.simulator drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.smartbond drivers: flash: Add driver for smartbond 2022-08-31 20:32:03 +02:00
Kconfig.stm32 drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.stm32_ospi drivers: flash: octo spi for stm32 with DMA 2022-09-08 10:07:21 +00:00
Kconfig.stm32_qspi drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
Kconfig.xmc4xxx drivers: flash: Add xmc4xxx flash drivers 2022-10-03 13:56:49 +02:00
nrf_qspi_nor.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
soc_flash_b91.c include: add missing kernel.h include 2022-10-11 18:05:17 +02:00
soc_flash_cc13xx_cc26xx.c include: add missing zephyr/irq.h include 2022-10-20 22:52:09 +09:00
soc_flash_lpc.c drivers: flash: soc_flash_lpc: enable support for lpc54xxx IAP 2022-08-25 08:26:53 -05:00
soc_flash_mcux.c flash: nxp: enabling lpc55s36's FMC 2022-08-25 10:24:41 -05:00
soc_flash_nios2_qspi.c flash: nios2_qspi: Convert driver to be devicetree based 2022-08-12 08:11:42 -04:00
soc_flash_nrf.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
soc_flash_nrf.h drivers: flash: soc_flash_nrf: Account for ticker in timeout 2022-10-13 16:06:08 +09:00
soc_flash_nrf_ticker.c drivers: flash: nrf: Fix ticker stop user id value 2022-09-05 17:36:48 +02:00
soc_flash_rv32m1.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
soc_flash_xmc4xxx.c drivers: flash: soc_flash_xmc4xxx: Add missing kernel.h header 2022-10-20 15:41:39 +02:00
spi_flash_at45.c drivers: flash: spi_flash_at45: Add device_is_ready for GPIO outputs 2022-11-02 16:12:14 -05:00
spi_nor.c drivers: flash: spi_nor: fix flash busy during init 2022-11-10 11:11:11 +01:00
spi_nor.h drivers: flash: spi_nor: adds missing PP and Read cmd defines 2022-06-16 10:29:15 +02:00