Skip to content

arm: mach-sc5xx: fix reset hang by sending EX4B before returning to bootrom - #96

Open
jiez wants to merge 1 commit into
adi-u-boot-2025.10.yfrom
11-reset-from-u-boot-proper-gets-stuck-in-spl-3
Open

arm: mach-sc5xx: fix reset hang by sending EX4B before returning to bootrom#96
jiez wants to merge 1 commit into
adi-u-boot-2025.10.yfrom
11-reset-from-u-boot-proper-gets-stuck-in-spl-3

Conversation

@jiez

@jiez jiez commented Jun 4, 2026

Copy link
Copy Markdown

SPI NOR flash retains 4-byte address mode across an RCU reset. The bootrom uses 3-byte addressing, so it fails to load U-Boot proper after a software reset, leaving the system stuck in SPL. Send EX4B before calling adi_rom_boot() to fix this issue.

Compared to #91 , this one fixes the issue only for SC598 SOM EZKIT board. But it should be able to work in the WDT timeout case.

@jiez
jiez requested review from a team, gastmaier, katiaTsaruk, pamolloy and vasbimpikasadi June 4, 2026 02:33
@jiez
jiez force-pushed the 11-reset-from-u-boot-proper-gets-stuck-in-spl-3 branch from a8b7ae7 to e8033e6 Compare June 5, 2026 15:40
After an RCU reset, ISSI IS25LP/WP01G retains 4-byte address mode.
Detect SPI NOR addressing mode and pass the correct command to
adi_rom_Boot() according to the addressing mode.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
@jiez
jiez force-pushed the 11-reset-from-u-boot-proper-gets-stuck-in-spl-3 branch from e8033e6 to f095d7f Compare June 9, 2026 03:04
@pamolloy pamolloy linked an issue Jun 9, 2026 that may be closed by this pull request
1 task
@ozan956
ozan956 self-requested a review June 10, 2026 14:24
@jiez jiez self-assigned this Jun 25, 2026
@jiez jiez added this to ADSP Jun 25, 2026
@pamolloy pamolloy moved this to In Development in ADSP Jun 26, 2026
Comment thread arch/arm/mach-sc5xx/spl.c
bar = spi_nor_read_bar_issi();

printf("ISSI SPI NOR: %s addressing mode (BAR=0x%02x)\n",
(bar & ISSI_BAR_EXTADD_BIT) ? "4-byte" : "3-byte", bar);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this necessarily belongs in the driver code.

Looking at the schematics, this is just broken hardware design on the SoM module. It doesn't apply to the ADSP architecture in any general way.

Or is there not a way to reset the SPI flash out-of-band?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Development

Development

Successfully merging this pull request may close these issues.

Reset from U-Boot proper gets stuck in SPL

3 participants