zephyr/drivers/flash
Lukasz Majewski 5599f1b3ab qspi: stm32: Add support for 4 IO read and program (4READ/4PP)
This change provides support for 4 IO read (via 4READ command) and
program (via 4PP). Flash memory pins SIO[0123], CLK and CS are used.

All of them are controlled by stm32 QSPI IP block.

The instruction code for fast reading as well as number of latency
cycles required are read from SFDP structure provided by flash memory.
The number of required read latency cycles when performing reading
is the sum of SPI-NOR memory mode bits and wait states (also named
as 'dummy cycles').

It also has been assumed that memory, which supports fast read (4READ),
also will support fast programming (4PP command) as this information is
not available in SFDP.

One also need to enable the QUAD IO support in board's device tree by
defining 'spi-bus-width = <4>' property. It is required as it may
happen that not all QSPI dedicated pins are used (for example only two
of them are available).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-01-04 20:47:29 -05:00
..
CMakeLists.txt drivers: flash: the chosen_flash variable was not read properly 2021-11-02 13:23:56 +01:00
flash_esp32.c soc: riscv: esp32c3: drivers: flash: add support 2021-10-28 06:47:21 -04:00
flash_gecko.c
flash_handlers.c drivers/flash: Add missing flash_get_parameters user space handler 2021-07-29 18:26:28 -04:00
flash_ite_it8xxx2.c ITE: drivers/flash: add the API of page_layout 2022-01-04 09:05:45 -05:00
flash_mcux_flexspi_hyperflash.c drivers: mcux_flexspi: Default logging to disabled when XIP is used 2021-11-22 22:27:13 -05:00
flash_mcux_flexspi_mx25um51345g.c drivers: mcux_flexspi: Default logging to disabled when XIP is used 2021-11-22 22:27:13 -05:00
flash_mcux_flexspi_nor.c drivers: mcux_flexspi: Default logging to disabled when XIP is used 2021-11-22 22:27:13 -05:00
flash_page_layout.c flash_page_layout: refactor flash_page_get_info 2021-07-10 14:48:22 -04:00
flash_priv.h
flash_sam0.c drivers/flash: sam0: only use a semaphore if multitasking is enabled 2021-12-07 19:29:07 -05:00
flash_sam.c drivers: flash_sam: fix flash_sam_write_page 2021-08-11 11:29:04 -04:00
flash_shell.c
flash_simulator.c drivers/flash/flash_simulator: allow to disable statistic 2021-09-01 12:10:19 +02:00
flash_stm32_qspi.c qspi: stm32: Add support for 4 IO read and program (4READ/4PP) 2022-01-04 20:47:29 -05:00
flash_stm32_v1.c
flash_stm32.c drivers: flash: stm32: wait for CFGBSY & BSY2 in wait_flash_idle 2021-11-17 11:06:59 -05:00
flash_stm32.h drivers: flash: stm32: wait for CFGBSY & BSY2 in wait_flash_idle 2021-11-17 11:06:59 -05:00
flash_stm32f2x.c
flash_stm32f4x.c drivers: flash: stm32f4: implement data cache errata 2021-06-28 14:17:40 -04:00
flash_stm32f7x.c drivers: flash: stm32f7: Flush ART cache before Flash erase 2021-06-28 14:17:40 -04:00
flash_stm32g0x.c drivers: flash: stm32g0: dual bank handling 2021-11-17 11:06:59 -05:00
flash_stm32g4x.c drivers: flash: stm32g4: implement data cache errata 2021-06-28 14:17:40 -04:00
flash_stm32h7x.c
flash_stm32l4x.c drivers: flash: stm32f4: Flush caches after erase 2021-06-28 12:35:41 -04:00
flash_stm32l5x.c drivers/flash: stm32l5: Adding flash driver for stm32l5x series 2021-08-04 10:26:06 -05:00
flash_stm32wbx.c
jesd216.c
jesd216.h
Kconfig drivers: flash: introduce new Telink B91 Flash driver 2021-07-30 19:53:04 -04:00
Kconfig.at45
Kconfig.b91 drivers: flash: introduce new Telink B91 Flash driver 2021-07-30 19:53:04 -04:00
Kconfig.esp32 soc: riscv: esp32c3: drivers: flash: add support 2021-10-28 06:47:21 -04:00
Kconfig.gecko
Kconfig.it8xxx2
Kconfig.lpc
Kconfig.mcux drivers: flash: added flexspi hyperflash. 2021-10-19 16:42:12 -05:00
Kconfig.nios2_qspi
Kconfig.nor
Kconfig.nordic_qspi_nor drivers/flash/nrf_qspi_nor: Default write_from_nvmc buffer size to 4 2021-12-20 17:52:00 +01:00
Kconfig.nrf
Kconfig.rv32m1
Kconfig.sam drivers: flash: Kconfig.sam: -depends on and +dfu sample exclude 2021-09-02 13:23:47 -04:00
Kconfig.sam0
Kconfig.simulator drivers/flash/flash_simulator: allow to disable statistic 2021-09-01 12:10:19 +02:00
Kconfig.stm32 drivers/flash: stm32l5: Adding flash driver for stm32l5x series 2021-08-04 10:26:06 -05:00
Kconfig.stm32_qspi kconfig: stm32: Select CONFIG_USE_STM32_HAL_MDMA when QSPI is used 2022-01-04 20:47:29 -05:00
nrf_qspi_nor.c drivers/flash/nrf_qspi_nor: Default write_from_nvmc buffer size to 4 2021-12-20 17:52:00 +01:00
soc_flash_b91.c drivers: flash: introduce new Telink B91 Flash driver 2021-07-30 19:53:04 -04:00
soc_flash_lpc.c
soc_flash_mcux.c
soc_flash_nios2_qspi.c
soc_flash_nrf_ticker.c Bluetooth: Controller: Propagate ticks_drift in the ticker callback 2021-09-17 14:30:07 +02:00
soc_flash_nrf.c
soc_flash_nrf.h
soc_flash_rv32m1.c
spi_flash_at45.c drivers: flash: at45: use instance based macros 2021-12-17 17:30:06 +01:00
spi_nor.c drivers: flash: spi_nor: use instance based macros 2021-12-17 17:30:06 +01:00
spi_nor.h qspi: stm32: Add support for 4 IO read and program (4READ/4PP) 2022-01-04 20:47:29 -05:00