I am working on a custom IMX6 Solo board. I built a custom u-boot based on the mainline u-boot version 2019.10. My u-boot image runs fine when I put the board in serial downloader mode (BOOT_MODE[1:0] = 01b) and load the image using boundary devices USB loader. From u-boot, I am then copying the same u-boot image (.imx extension) from an SD card to SPI flash at address 0x400. I read the image back from the SPI flash and stored it on the SD card under a different name. Beyond Compare confirms that both files are identical suggesting the SPI flash write was successful.
I've set the fusemap as follows:
BOOT_CFG1 = 0x30
BOOT_CFG2 = 0x00
BOOT_CFG3 = 0x00
BOOT_CFG4 = 0x08
fuse prog -y 0 5 0x08000030
I also set BT_FUSE_SEL by typing fuse prog 0 6 0x00000010.
I then tried to boot off the SPI flash by putting the chip in 'Boot From Fuses' mode (BOOT_MODE[1:0] = 00b). Sadly, I don't see any serial traces to indicate that u-boot is running. I attached a logic analyser and I can see that the entire image is being read from the flash. My understanding is that if either the IVT or the DCD verification fails, it will switch to serial download mode. The fact that the chip is reading the whole .imx file suggests that the IVT and DCD are fine. I also noticed, after attempting to boot from SPI flash, I wasn't able to use the USB loader to load the u-boot image again. I have to reset the board and put it in serial download mode. This suggests that the chip is stuck somewhere but I can't figure out where.
Attached is a screenshot of my logic analyser trace. I've also attached the full capture but Saleae's software (Logic analyzer software from Saleae ) is needed to open it
Any help would be appreciated.