mirror of
https://github.com/apache/nuttx.git
synced 2026-10-12 08:40:20 +00:00
The bootrom flash functions reset the QMI window 1 (chip select 1) registers and the QSPI pads. flash_flush_cache() also discards dirty XIP cache lines. The flash MTD driver did not save anything, so after the first erase or program the PSRAM on chip select 1 read garbage, and PSRAM writes still in the cache were lost. Do what the Pico SDK hardware_flash library does: - Clean the XIP cache before the operation. Clean by set/way through the top of the maintenance window, to avoid erratum RP2350-E11. - Save the QSPI pads and the five QMI M1 registers before, and write them back after XIP is restored. Also keep XIP_CTRL.WRITABLE_M1. rp23xx_psram_restore() was the earlier fix for this, but nothing called it. Remove it. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com> |
||
|---|---|---|
| .. | ||
| _extensions | ||
| _static | ||
| _templates | ||
| about | ||
| applications | ||
| components | ||
| contributing | ||
| debugging | ||
| developing | ||
| faq | ||
| guides | ||
| implementation | ||
| introduction | ||
| logos | ||
| os | ||
| platforms | ||
| quickstart | ||
| reference | ||
| ReleaseNotes | ||
| standards | ||
| testing | ||
| .gitignore | ||
| conf.py | ||
| glossary.rst | ||
| index.rst | ||
| known-warnings.txt | ||
| legacy_README.md | ||
| make.bat | ||
| Makefile | ||
| Pipfile | ||
| Pipfile.lock | ||
| redirects.py | ||
| security.rst | ||
| substitutions.rst | ||