zephyr/drivers/flash
Andrzej Głąbek 41c33d7f32 drivers: flash: nrf_qspi_nor: Fix writing from unaligned RAM buffers
Flash API states that drivers should support write requests without
any restrictions on location or alignment of the source buffer.
Due to hardware limitations of the QSPI peripheral, the nrf_qspi_nor
driver currently fails to perform a write from a RAM buffer that is
not word-aligned. Fix this by using in such case the same mechanism
that is used when the source buffer is located in the internal flash
(copy data to a buffer located on stack).
Also correct the length parameter for writes from this stack-based
buffer to be the actual data chunk length, not always the size of
the buffer (as for CONFIG_NORDIC_QSPI_NOR_STACK_WRITE_BUFFER_SIZE > 4
this may lead to overwriting of some data located next in the flash).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-07-13 12:09:02 +02:00
..
CMakeLists.txt drivers: flash: stm32: add stm32wba support 2023-07-11 15:05:05 +02:00
flash_cadence_qspi_nor_ll.c
flash_cadence_qspi_nor_ll.h
flash_cadence_qspi_nor.c
flash_esp32.c drivers: flash: esp32xx: use K_NO_WAIT when in ISR 2023-06-21 16:06:06 -04:00
flash_gd32_v1.c
flash_gd32_v2.c
flash_gd32_v3.c
flash_gd32.c
flash_gd32.h
flash_gecko.c
flash_handlers.c drivers: flash: Introduce API function for flash extended operations 2023-03-14 11:17:13 +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
flash_mcux_flexspi_hyperflash.c drivers: flash: flash_mcux_flexspi_*: copy LUT to ram when updating 2023-05-25 21:37:18 -05:00
flash_mcux_flexspi_mx25um51345g.c drivers: flash: flash_mcux_flexspi_*: copy LUT to ram when updating 2023-05-25 21:37:18 -05:00
flash_mcux_flexspi_nor.c drivers: flash: flash_mcux_flexspi_*: copy LUT to ram when updating 2023-05-25 21:37:18 -05:00
flash_page_layout.c
flash_priv.h
flash_rpi_pico.c device: remove redundant init functions 2023-04-19 10:00:25 +02:00
flash_sam0.c
flash_sam.c barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
flash_shell.c shell: fix MISRA 5.7 violations on struct shell 2023-04-14 12:21:08 +02: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_simulator.c 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_ex_op.c drivers: flash: Introduce readout protection support for STM32F4 2023-03-28 15:43:16 +00:00
flash_stm32_ospi.c drivers: flash: stm32 ospi: configure ospim io ports 2023-06-21 16:06:00 +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 with read SFDP ID from quadflash 2023-06-23 10:51:06 +00:00
flash_stm32.c drivers: flash: stm32: add stm32wba support 2023-07-11 15:05:05 +02:00
flash_stm32.h drivers: flash: stm32: add stm32wba support 2023-07-11 15:05:05 +02:00
flash_stm32f1x.c barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
flash_stm32f2x.c
flash_stm32f4x.c barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
flash_stm32f7x.c barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
flash_stm32g0x.c
flash_stm32g4x.c
flash_stm32h7x.c barriers: Move __ISB() to the new API 2023-05-24 13:13:57 -04:00
flash_stm32l4x.c
flash_stm32l5x.c drivers: flash: stm32 flash drivers supports the new stm32h5 serie 2023-03-28 15:07:51 +02:00
flash_stm32wbax.c drivers: flash: stm32: add stm32wba support 2023-07-11 15:05:05 +02:00
flash_stm32wbx.c
jesd216.c
jesd216.h
Kconfig drivers: flash: Add Infineon CAT1 Flash driver 2023-05-08 11:16:09 +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
Kconfig.cadence_qspi_nor
Kconfig.cc13xx_cc26xx
Kconfig.esp32
Kconfig.gd32
Kconfig.gecko
Kconfig.ifx_cat1 drivers: flash: Fix kconfig dependency 2023-05-10 16:49:59 +09:00
Kconfig.it8xxx2
Kconfig.lpc
Kconfig.mcux
Kconfig.nios2_qspi
Kconfig.nor drivers: flash: spi: Move to using select in Kconfig for SPI bus 2023-02-27 14:35:15 +01:00
Kconfig.nordic_qspi_nor drivers: flash: nrf_qspi_nor: Fix writing from unaligned RAM buffers 2023-07-13 12:09:02 +02:00
Kconfig.nrf
Kconfig.rpi_pico
Kconfig.rv32m1
Kconfig.sam
Kconfig.sam0
Kconfig.simulator
Kconfig.smartbond
Kconfig.stm32 drivers: flash: Add ex ops for STM32 option/control register block 2023-03-28 15:43:16 +00:00
Kconfig.stm32_ospi drivers: flash: stm32 ospi driver for the stm32h5x 2023-04-07 08:33:51 +00:00
Kconfig.stm32_qspi
Kconfig.xmc4xxx
nrf_qspi_nor.c drivers: flash: nrf_qspi_nor: Fix writing from unaligned RAM buffers 2023-07-13 12:09:02 +02:00
soc_flash_b91.c
soc_flash_cc13xx_cc26xx.c
soc_flash_lpc.c
soc_flash_mcux.c barriers: Move __ISB() to the new API 2023-05-24 13:13:57 -04:00
soc_flash_nios2_qspi.c
soc_flash_nrf.c drivers: nrf5 flash: Fix for simulation 2023-05-08 10:08:35 +02:00
soc_flash_nrf.h
soc_flash_rv32m1.c
soc_flash_xmc4xxx.c
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: exit DPD in all cases 2023-07-05 14:13:43 +02:00
spi_nor.h drivers: flash: stm32 ospi flash driver waits for full chip erase 2023-05-10 16:50:22 +09:00