Lets say I get a new iMX6SL based board with BOOT_MODE = 00 so that it boots from FUSEs. The first time I power on the system it will see that the FUSEs have not been set, so it will start the Serial Downloader. I connect to the serial downloader using the Freescale MFG TOOL and load my script than sets the FUSEs to boot from SPI NOR FLASH. Then I write the image I want to boot into the SPI FLASH. When I power cycle the device it will boot from the SPI FLASH as expected. So far so good.
Now what if there is a problem with the image I flashed to the SPI and I want to enter the MFG TOOL again to fix? How do I tell the MX6 that I want to start the Serial Downloader even though the FUSEs say boot from SPI FLASH? The BOOT_MODE pins are hard tied to GND so I cannot change the BOOT_MODE using the pins.
I can think of one option:
Use a JTAG controller to load u-boot in to RAM and then use u-boot to write to the SPI FLASH. However, I already have MFG TOOL scripts ready to go and so it would be nice to use the Serial Downloader.
Is there anyway to use the JTAG interface to reset the MX6 in to Serial Downloader mode in this situation?