nuttx/Documentation
Marco Casaroli 1d8898d7d6 arch/arm/rp23xx: Restore XIP with the bootrom XIP setup function.
After a flash operation the driver called flash_select_xip_read_mode()
with a fixed EBh quad mode and clock divisor 4, and called
flash_enter_cmd_xip() if it "failed".  But that ROM function returns
void, so the check read a random r0.  The fixed mode and divisor can
also be different from the ones the bootrom found at boot.

The datasheet (5.2.7, 5.4.8.10) and the Pico SDK use a different
method: after a flash boot the bootrom leaves an XIP setup function in
the first 256 bytes of boot RAM.  It restores the read mode and clock
divisor found at boot.  Boot RAM is not executable, so copy the
function to SRAM once at initialization, and call the copy.

If boot RAM is empty (no flash boot), use flash_enter_cmd_xip(), as
RP23XX_FLASH_MTD_SAFE_XIP does.

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
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: Restore XIP with the bootrom XIP setup function. 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