drivers: flash: stm32_qspi: Correct special behaviour for Microchip QSPI flash memories #97211
+7
−9
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.
Commit 539928d introduced a special behaviour for Microchip QSPI flash memories into the STM32 QSPI flash driver, to handle the fact that these memories use the PP_1_1_4 opcode (32H) for the PP_1_4_4 operation (usually 38H).
The special behaviour is a bit backwards, as it results in a QSPI flash memory configured in 1-1-4 write mode using 4 address lines (1-4-4 operation). It should be the other way round, so that a QSPI flash memory configured in 1-4-4 mode uses 4 address lines (1-4-4 operation).
After these changes, the mode used matches the mode configured.
See commit message for more detailed explanation.
Before/After Comparison
Before:
Devicetree configuration requires
writeoc = "PP_1_1_4";
for successful quad write, which then uses 1-4-4 mode.writeoc
propertyAfter:
Devicetree configuration requires
writeoc = "PP_1_4_4";
(or property omitted, defaults to 1-4-4 mode for quad mode) for successful quad write, which then uses 1-4-4 mode.writeoc
propertyThis PR also updates the Kconfig option description for
CONFIG_USE_MICROCHIP_QSPI_FLASH_WITH_STM32
to remove references to the Global Block Protection Unlock instruction - this was added at the same time as the Microchip-specific special behaviour for the 1-1-4 / 1-4-4 opcode but is distinct from this and is not affected byCONFIG_USE_MICROCHIP_QSPI_FLASH_WITH_STM32
.