CN9130 boot position

Hello forum,

The first 4 lines of a boot spam:

BootROM - 2.03
Starting AP IOROM 1.02
Booting from eMMC 0
Found valid image at boot postion 0x000

I’m looking for documentation with an explanation of “boot positions”. {Note: spelling above is as printed from the Marvell boot ROM}

I’m currently investigating a recent batch of CN9130 SOMs which do not get through our initial programming of eMMC as expected. The problem I have is that our custom build of U-Boot does not execute.

Troubleshooting, with 2 SOMs in hand, 1 old, 1 new, I place each SOM on a setup to boot select uSD card. I boot each to Linux from the uSD card. From there I think I have wiped all from eMMC. I then place them in turn onto a base with boot select set to eMMC. For each, at this point I expect that no bootloader will be found. Actual results …

earlier SOM:

BootROM - 2.03
Starting AP IOROM 1.02
Booting from eMMC 0
Error: no valid header till end of media
Error: Failed boot attempt 01. error = 0x041

so here, no bootloader code found, as expected for troubleshooting. In normal operation with a written eMMC, we will see “Found valid image at boot postion 0x000” and our bootloader version in the messages that follow.

newer SOM:

BootROM - 2.03
Starting AP IOROM 1.02
Booting from eMMC 0
Found valid image at boot postion 0x000

and down a ways : “U-Boot 2023.01-12.24.10-00805-gb5f11cef9c1 (Feb 05 2025 - 12:52:37 +0000)

where we currently expect to find nothing, but still find something that was on the board when shipped.

Questions -

  • What are the various bootloader positions, or specifically positions 0x000 and 0x004?
  • How does the boot ROM code select a boot position?
  • Where is the Feb 05 2025 bootloader code residing on the SOM I have?
  • Is it possible to boot from the NOR flash when eMMC was hardware selected and claimed on line 3 of the boot spam?
  • Even if we subsequently get the correct bootloader to run, is it also possible to wipe the original bootloader? For our use case, we don’t want any unexpected code to be present in the system after we have assembled.

Regards,

Mike

correction to what I wrote, our normal use spam would say “Found valid image at boot postion 0x004