nuttx/Documentation
Marco Casaroli ecc0036470 arch/arm/rp23xx: Save and restore the QSPI state around flash writes.
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>
2026-10-07 18:45:43 -03:00
..
_extensions Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
_static Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
_templates Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
about Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
applications Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
components Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
contributing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
debugging Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
developing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
faq !boards: Remove NSH_ARCHINIT and board_app_initialize 2026-05-02 18:36:46 +08:00
guides Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
implementation Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
introduction Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
logos
os Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
platforms arch/arm/rp23xx: Save and restore the QSPI state around flash writes. 2026-10-07 18:45:43 -03:00
quickstart Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
reference Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
ReleaseNotes Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
standards docs/pthread: Document pthread_sigqueue 2026-09-21 14:53:26 +08:00
testing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
.gitignore
conf.py Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
glossary.rst
index.rst Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
known-warnings.txt
legacy_README.md Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
make.bat
Makefile
Pipfile Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
Pipfile.lock Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
redirects.py Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
security.rst
substitutions.rst