Force-zero SPI NOR?

Seems I’ve gone a bit too far with firmware and bricked my board. After compiling and flashing a mainline U-Boot directly to the SPI NOR flash mtdblock0, the board fails to boot into any OS image from the SD card or eMMC.

To resolve this, I have attempted the following:

  • Clearing the SPI NOR Flash: Attempted to erase the SPI flash using rkdeveloptool in Maskrom mode, following the procedures outlined in the official Radxa documentation. Unfortunately, this did not resolve the issue. Relatively certain in the ROCK5 ITX this only operates on eMMC
  • Flashing eMMC: Tried flashing both the SPI image and the latest Bookworm KDE image to the eMMC. In line with the observation above, while the flashing process completes successfully, the board still fails to boot.

I have thoroughly reviewed the available documentation and community forums but have not found a solution. Looking for help with the following:

  1. Manual SPI NOR Flash Erasure: Is there a hardware method, such as specific jumper settings, to manually clear or disable the SPI NOR flash to restore boot functionality?
  2. Force Boot Order: Does some way to force the boot sequence to ignore the SPI flash and use eMMC or SD card by default exist?
  3. Alternative Recovery Methods: Are there other recommended procedures to recover the board from this state? Perhaps a way to force rkdeveloptool to flash to a specific block device?
  1. Using the GUI (Windows) version of RKDevelopTool, go to the 3rd tab where there are multiple buttons. There will be a list of possible storage devices. Click on SPI NOR and then click the button “Select Storage Device” (or similar, I’m going from memory). Then you can click erase.
  2. The SPL binary of the bootloader stack has a device tree that describes a preferred boot order. You could edit it and recompile u-boot (SPL is built from the u-boot tree) to not try SPI. Some vendors that sell SBCs with RK3588 compile separate “eMMC” vs “SPI” bootloader images with this type of change to prevent your problem. (I don’t know if any of Rock 5 does that).
  3. It is already possible to do this with Windows (see point 1 above), I don’t know about Linux.

Hi @aean, have you tried this guide?