drivers: flash: flash_stm32_qspi: Make CS high time configurable #92742
+31
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The STM32 QUADSPI peripheral allows to configure, in clock cycles, the duration the chip select signal must stay high between each command sent to the flash memory controller (
QUADSPI_DCR_CSHT
).This value should be configured according to:
Currently, this value is set by the flash driver to 1 clock cycle in single flash mode and 3 clock cycles in dual flash mode. This may be too low for some configurations. In particular, in single flash mode, the current value is out-of-spec for all board configurations provided by Zephyr.
This MR adds a new devicetree property allowing to set the chip-select high time value according to the flash memory specifications and the QSPI configuration.
Secondarily, this MR also enables the 1/2 sample shift feature of the QUADSPI peripheral in both single and dual flash mode.
From RM0433:

From MT25QL512 datasheet (used on the STM32H747I-DISCO board):

