Hey, I tried getting ClearFog to load u-boot from a M.2 SSD (via SATA)
So I built u-boot-spl.kwb
make clearfog_defconfig make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-
dd'ed it on the SSD:
dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1
changed SW1 dip to 11100, and got this:
BootROM - 1.73 Booting from AHCI Probing HBA- 0 port 0 SATA device found BootROM: Bad header at offset 00000001 BootROM: Bad header at offset 00000022 BootROM: Bad header at offset 00001000 BootROM: Bad header at offset 00002000 BootROM: Bad header at offset 00003000 BootROM: Bad header at offset 00004000 BootROM: Bad header at offset 00005000 BootROM: Bad header at offset 00006000 BootROM: Bad header at offset 00007000 Trying Uart
According to the clearfog wiki and uboot-armada38x src tree, there are separate images for sd and sata, with the makefile there calling
$(obj)tools/marvell/doimage -T mmc -D 0x0 -E 0x0 -G $(obj)tools/marvell/bin_hdr/bin_hdr.bin u-boot.bin u-boot.mmc
vs
$(obj)tools/marvell/doimage -T sata -D 0x0 -E 0x0 -G $(obj)tools/marvell/bin_hdr/bin_hdr.bin u-boot.bin u-boot.sata
According to uboot-armada38x's tools/marvell/doimage_mv/doimage.c, this seems to result in different hdr->blockID = IBR_HDR_SATA_ID; //0x78 hdr->blockID = IBR_HDR_MMC_ID; //0xAE and maybe another hdr->sourceAddr baked into the image header [1] Mainline u-boot also knows about IBR_HDR_SATA_ID (tools/kwbimage.h), and has a mapping in tools/kwbimage.c (boot_modes[]), which seems to decide depending on the 'BOOT_FROM' setting in board/solidrun/clearfog/kwbimage.cfg This is currently hardcoded to 'sdio' (which will be translated to 0xAE == IBR_HDR_MMC_ID). Am I missing something completely obvious, or does this mean there need to be different image headers depending on boot medium type BootROM tries to load u-boot from (so it might be desirable to make this configurable)? Are there already any efforts being taken on that? Most likely we'd also need to enable SATA drivers, so u-boot is able to read the kernel, which might be on that disk. Regards, Florian [1]: https://github.com/coreboot/coreboot/blob/master/util/marvell/doimage_mv/doimage.c#L575 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot