nuttx/arch/arm/src
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
..
a1x
am67 drivers/vhost: Optimize vhost-net performance and robustness 2026-09-27 18:41:30 +08:00
am335x boards/arm: Add support for the original BeagleBone 2026-08-19 10:11:38 +08:00
arm
armv6-m arch: bound syscall numbers and nesting in every build 2026-10-01 22:53:55 +08:00
armv7-a arch: bound syscall numbers and nesting in every build 2026-10-01 22:53:55 +08:00
armv7-m arch: bound syscall numbers and nesting in every build 2026-10-01 22:53:55 +08:00
armv7-r arch: bound syscall numbers and nesting in every build 2026-10-01 22:53:55 +08:00
armv8-m arch: bound syscall numbers and nesting in every build 2026-10-01 22:53:55 +08:00
armv8-r arch: bound syscall numbers and nesting in every build 2026-10-01 22:53:55 +08:00
at32 {arm,xtensa}/otg: indent switch bodies per the coding standard. 2026-08-25 16:07:35 +08:00
c5471
cmake arch/arm: Keep GCC from making tail calls in an FDPIC module. 2026-10-07 11:45:09 -03:00
common arch/arm: Keep GCC from making tail calls in an FDPIC module. 2026-10-07 11:45:09 -03:00
csk6
cxd32xx
cxd56xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
dm320
efm32 {arm,xtensa}/otg: indent switch bodies per the coding standard. 2026-08-25 16:07:35 +08:00
eoss3
fvp-v8r-aarch32
gd32f4
goldfish
ht32f491x3
imx1
imx6
imx9 arch/arm/src/imx9: add GPIO5 base address for i.MX95 2026-10-07 08:50:46 -03:00
imxrt arch/arm/imxrt: Fix nxstyle issues on imxrt_usdhc.c 2026-10-07 08:43:10 -03:00
kinetis net, arch: Fix nxstyle errors in files the CAN ioctl merge touches. 2026-09-01 17:40:47 +08:00
kl
lc823450 arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
lpc17xx_40xx
lpc31xx
lpc43xx
lpc54xx
lpc214x
lpc2378
max326xx
mcx-nxxx
moxart
mps arch/arm/mps: Let user code run modules from the text and data heaps. 2026-09-28 16:46:05 -03:00
mx8mp
n32h7 arch/arm/n32h7: Add N32H762IIL7 BSP 2026-09-17 09:39:41 -03:00
nrf52 arch/nrf52: add SAADC external TIMER trigger over PPI 2026-09-28 11:20:31 +02:00
nrf53 arch/nrf52,nrf53,nrf91: fix nxstyle issues 2026-09-25 18:24:36 +08:00
nrf54l arm/nrf54l: add TWIM support 2026-10-08 01:45:35 +08:00
nrf91 arch/nrf52,nrf53,nrf91: fix nxstyle issues 2026-09-25 18:24:36 +08:00
nuc1xx
phy62xx
qemu
ra4
ra8m1 arch/arm/ra8m1: Add DTC and per-instance SCI FIFO/DTC/termios support 2026-10-06 16:56:58 -03:00
rp23xx arch/arm/rp23xx: Restore XIP with the bootrom XIP setup function. 2026-10-07 18:45:43 -03:00
rp2040 arch/arm/rp2040: fix IN endpoint DPSRAM index for bare-eplog callers 2026-09-08 08:22:37 -03:00
rtl8720c sched/semaphore: Fix pre-existing nxstyle issues in the touched files 2026-09-25 10:37:43 +02:00
rtl8720f arch/arm/rtl8720f: add timer driver support 2026-09-01 17:41:14 +08:00
rtl8721dx arch/arm/rtl8721dx: add shared Ameba timer driver 2026-09-01 17:41:14 +08:00
rtl8721f arch/arm/rtl8721f: add timer driver support 2026-09-01 17:41:14 +08:00
rtl8730e arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
s32k1xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
s32k3xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
sam34
sama5
samd2l2
samd5e5
samv7 arch/arm/src/samv7/sam_mcan.c: fix coding style issues 2026-09-23 11:28:27 +08:00
stm32c0 arch/arm/stm32c0: Add USB device support 2026-09-14 18:32:23 -03:00
stm32c5 arch/arm/stm32c5: Add STM32C562 architecture support 2026-08-27 01:07:10 +08:00
stm32f0 boards/nucleo-f072rb: Add USB device support and a CDC/ACM configuration. 2026-08-20 15:16:33 -03:00
stm32f1
stm32f2
stm32f3
stm32f4 arch/arm/stm32f4: add STM32F412CG chip selection 2026-09-01 17:40:30 +08:00
stm32f7 arch/arm/stm32: fix compare-match race and zero-period hang in tickless 2026-09-18 09:30:22 +08:00
stm32g0 arm/stm32g0: Expose SPI2 capability on STM32G0B1. 2026-10-01 23:14:44 +08:00
stm32g4
stm32h5 arch/arm/stm32h5: disable the ICACHE while program memory is modified. 2026-10-06 16:57:31 -03:00
stm32h7 arm/stm32h7: add OctoSPI register definitions 2026-10-07 04:06:37 +02:00
stm32l0 boards/nucleo-l073rz: Add USB device support and a CDC/ACM configuration. 2026-08-22 01:23:12 +08:00
stm32l1
stm32l4 {arm,xtensa}/otg: indent switch bodies per the coding standard. 2026-08-25 16:07:35 +08:00
stm32l5 stm32l5: Fix nxstyle errors in drivers and board LEDs 2026-09-22 09:21:35 -03:00
stm32n6 arm/stm32n6: allow debugger access after flash boot 2026-10-06 15:34:14 -03:00
stm32u0 arch/arm: add stm32u0 support 2026-08-18 15:00:15 +02:00
stm32u3 arch/arm/stm32: Unify Cortex-M33 RCC include names 2026-08-27 01:07:10 +08:00
stm32u5 arch/arm/stm32: Unify Cortex-M33 RCC include names 2026-08-27 01:07:10 +08:00
stm32wb arch/arm/stm32: fix compare-match race and zero-period hang in tickless 2026-09-18 09:30:22 +08:00
stm32wl5 arch/arm/stm32: use common SYSTICK_HCLKd8 symbol 2026-08-18 09:34:58 +08:00
str71x
tiva
tlsr82
tms570
xmc4
.gitignore
CMakeLists.txt
Makefile