zephyr/drivers/flash
Daniel DeGrasse 9dd8f94fd4 drivers: flash: mcux_flexspi_nor: Remove flash reads while programming
Care must be taken to avoid any flash access while programming the flash
attached to the FlexSPI either via executing XIP code or reading RO data.

Remove locations where a constant device pointer might be dereferenced
within the mcux_flexspi_nor driver, to help avoid RWW hazards.

Fixes #64702

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-07 14:11:00 +01:00
..
CMakeLists.txt drivers: flash: Add Ambiq flash controller driver. 2023-10-27 10:50:05 +02:00
flash_ambiq.c drivers: flash: Add Ambiq flash controller driver. 2023-10-27 10:50:05 +02:00
flash_andes_qspi.c drivers: flash: add Andes qspi-nor driver 2023-08-03 10:28:02 +02:00
flash_andes_qspi.h drivers: flash: add Andes qspi-nor driver 2023-08-03 10:28:02 +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 soc: xtensa,riscv: esp32xx: refactor folder structure 2023-07-25 18:12:33 +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 syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
flash_ifx_cat1.c drivers: flash: Add Infineon CAT1 Flash driver 2023-05-08 11:16:09 +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 drivers: memc: update interface of memc flexspi driver for multi device 2023-10-20 14:53:10 +02:00
flash_mcux_flexspi_mx25um51345g.c drivers: memc: update interface of memc flexspi driver for multi device 2023-10-20 14:53:10 +02:00
flash_mcux_flexspi_nor.c drivers: flash: mcux_flexspi_nor: Remove flash reads while programming 2023-11-07 14:11:00 +01:00
flash_npcx_fiu_nor.c syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
flash_npcx_fiu_qspi.c soc: npcx: replace Nuvoton NPCX series definitions in the npcx drivers 2023-10-20 15:07:21 +02:00
flash_npcx_fiu_qspi.h driver: flash: npcx: add support for npcx4 series 2023-08-24 10:42:33 +01:00
flash_nxp_s32_qspi_nor.c drivers: flash: add NXP S32 QSPI flash NOR driver 2023-07-26 09:44:14 +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_rpi_pico.c device: remove redundant init functions 2023-04-19 10:00:25 +02:00
flash_sam.c barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
flash_sam0.c drivers: flash: atmel SAM0 fix flash_write to handle smaller length. 2023-10-20 14:51:17 +02:00
flash_shell.c drivers: flash: shell: adjusted load command prompt 2023-09-29 16:28:40 +02:00
flash_simulator.c syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
flash_simulator_native.c flash simulator: Refactor native part so it works with emb libC 2023-07-10 09:50:56 +02:00
flash_simulator_native.h flash simulator: Refactor native part so it works with emb libC 2023-07-10 09:50:56 +02:00
flash_smartbond.c device: remove redundant init functions 2023-04-19 10:00:25 +02:00
flash_stm32.c drivers: flash: Add RDP (readout protection) support for STM32L4x flash 2023-10-20 14:52:46 +02:00
flash_stm32.h drivers: flash: stm32l5: use write-block-size when validating 2023-07-28 09:02:17 +00:00
flash_stm32_ex_op.c syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
flash_stm32_ospi.c drivers: flash: stm32 ospi: jedec_id read wrongly 2023-09-12 16:29:47 +02:00
flash_stm32_ospi.h drivers: flash: stm32 ospi driver for the stm32h5x 2023-04-07 08:33:51 +00:00
flash_stm32_qspi.c drivers: flash: stm32 qspi driver reads sfdp table 2023-11-03 11:46:58 +01:00
flash_stm32f1x.c drivers: flash: stm32: add a weak flash_stm32_valid_range() 2023-07-28 09:02:17 +00:00
flash_stm32f2x.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
flash_stm32f4x.c drivers: flash: Add RDP (readout protection) support for STM32L4x flash 2023-10-20 14:52:46 +02:00
flash_stm32f7x.c barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
flash_stm32g0x.c drivers: flash: stm32: change undefined variable causing build error 2023-09-14 14:35:58 +02:00
flash_stm32g4x.c drivers: flash: Add RDP (readout protection) support for STM32G4x flash 2023-10-27 12:31:41 +02:00
flash_stm32h7x.c drivers: flash: flash_stm32h7x: Fix STM32H7 unaligned read access 2023-08-18 12:13:41 +02:00
flash_stm32l4x.c drivers: flash: Add RDP (readout protection) support for STM32L4x flash 2023-10-20 14:52:46 +02:00
flash_stm32l5x.c drivers: flash: stm32l5: use write-block-size when writing 2023-07-28 09:02:17 +00:00
flash_stm32wbax.c drivers: flash: stm32: add a weak flash_stm32_valid_range() 2023-07-28 09:02:17 +00:00
flash_stm32wbx.c drivers: flash: stm32: add a weak flash_stm32_valid_range() 2023-07-28 09:02:17 +00:00
jesd216.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
jesd216.h drivers: flash: stm32 ospi driver with read ID from octoflash 2022-11-22 14:26:57 +00:00
Kconfig drivers: flash: Add Ambiq flash controller driver. 2023-10-27 10:50:05 +02:00
Kconfig.ambiq drivers: flash: Add Ambiq flash controller driver. 2023-10-27 10:50:05 +02:00
Kconfig.andes drivers: flash: add Andes qspi-nor driver 2023-08-03 10:28:02 +02:00
Kconfig.at45 drivers: flash: spi: Move to using select in Kconfig for SPI bus 2023-02-27 14:35:15 +01: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.ifx_cat1 drivers: flash: Fix kconfig dependency 2023-05-10 16:49:59 +09: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 boards: arm: rtxxx: moving the instances FLASH_MCUX_FLEXSPI_XIP 2022-12-22 11:07:08 +01: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: spi_nor: Allow page-size to be set via devicetree 2023-11-01 10:56:16 +00:00
Kconfig.nordic_qspi_nor drivers: nrf: select PINCTRL 2023-09-20 08:57:09 +02:00
Kconfig.npcx_fiu soc: npcx: replace Nuvoton NPCX series definitions in the npcx drivers 2023-10-20 15:07:21 +02:00
Kconfig.nrf drivers: flash: soc_flash_nrf: Account for ticker in timeout 2022-10-13 16:06:08 +09:00
Kconfig.numaker drivers: flash: support for Nuvoton numaker series FMC 2023-07-21 10:41:40 +00:00
Kconfig.nxp_s32 drivers: flash: add NXP S32 QSPI flash NOR driver 2023-07-26 09:44:14 +02:00
Kconfig.rpi_pico drivers: flash: Add flash driver for rpi_pico series 2022-11-15 12:12:00 +00: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: Add RDP (readout protection) support for STM32G4x flash 2023-10-27 12:31:41 +02:00
Kconfig.stm32_ospi drivers: flash: stm32 ospi driver for the stm32h5x 2023-04-07 08:33:51 +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 drivers: nrf_qspi_nor: Activate QSPI peripheral when enabling XIP 2023-11-06 10:11:02 +01: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: fix lpc55s36 flash read 2023-10-10 15:26:18 +02: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/flash/nrf: Workaround for nrf91 errata 7 2023-09-28 15:33:52 +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_numaker.c drivers: flash: support for Nuvoton numaker series FMC 2023-07-21 10:41:40 +00: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: spi_flash_at45: Fix erasing of first two sectors 2023-05-09 12:22:15 +02:00
spi_nor.c drivers: flash: spi_nor: Allow page-size to be set via devicetree 2023-11-01 10:56:16 +00:00
spi_nor.h drivers: flash: npcx: Update erase function to allow 0x1000 byte erase size 2023-08-03 10:29:14 +02:00