Arria 10 QSPI controller hangs after U-Boot shell while SPL boots successfully
- 12 days ago
Hi,
Thank you for your suggestion.
I added several debug prints throughout the U-Boot initialization process in order to determine exactly where the issue occurs.
Here is what I found:
The QSPI controller is initialized successfully.
setup_flash_device() completes successfully.
The SPI NOR device is detected correctly.
The environment is read successfully from flash (spi_flash_read() returns 0).
The only result is a Bad CRC, so U-Boot falls back to the default environment, but the flash controller continues to operate normally.
I also added register reads after the environment loading and confirmed that the QSPI module is still accessible and responding correctly.
The crash actually happened later during the network initialization (initr_net()), not during the QSPI or environment handling.
After further investigation, I found that the Device Tree still had the Ethernet PHY node enabled (status = "okay"), while this specific board (Combiner Master) does not have a PHY populated.
As a result, U-Boot attempted to initialize a non-existent PHY and eventually crashed. After changing the PHY node to:
status = "disabled";
the issue was completely resolved and U-Boot now boots normally.
Regarding the handoff files, we are already using different handoff (hps.xml) files for each board, generated separately for their respective hardware configurations.
Thank you for your help.