Not sure if this helps but I have successfully booted from SPI-NOR using the SABRE-SDB board but I had
to connect a separate device to the board so that it boots from ECSPI5. For the device I used (AT25DF321)
I had to set BOOT_CFG4[3] to 1 and BOOT_CFG4[2:0] to 100.
See this thread for more detail: https://community.freescale.com/thread/312731
There's no need to change uboot at all for the sake of just booting; the problem is getting that first-time boot device
programmed. I had previously done a port of micromonitor (http://www.umonfw.com) to the iMX6, and I found it easier
to write the SPI interface in that environment. With that in mind, here's what I did:
1. Boot from serial downloader (USB) and load some image (I used uMon) that can burn the SPI flash.
2. Using that image onboard, now I transferred u-boot.bin to RAM on board and burned that image to SPI-flash.
3. Change the boot configuration dip switch to boot from SPI and reset.
I did not modify u-boot to do this. It boots from SPI flash the same way it would boot from SD card. It really
doesn't care where it is booted from. The internal rom-based bootloader just pulls it out of the specified boot device
and runs it as is.
NOTE: I'm re-reading this now, and I may have gotten board type confused, these names start overlapping real
quick in my head... Anyway, in my case I am referring to the MXIMX6Q-SDB "Smart Devices" board.
HTH