Trying to force the cpu into serial downloader mode by setting the BOOT_MODE[1:0] pins to "01". However, I also have an eMMC device, with u-boot, on port 2 and it seems that the ROM chooses to boot from that device instead..?! How come? Or have I overlooked something obvious?
However, if I do a "reset" command within u-boot it does enter USB mode. It does not if I just toggle the external reset line though.
The reason I want to force it into serial download mode is for factory programming that procedures are the same regardless if for some reason the board might be programmed before, for various reasons.
Solved! Go to Solution.
Perhaps the issue concerns with SD Manufacture mode. Please look at section 8.11 (SD/MMC Manufacture Mode)
of the IMX6SDLRM (Rev. 1, 04/2013) for details.
The i.MX6 S/DL in SD/MMC manufacture mode SD or MMC card will be scanned on uSDHC1 and uSDHC2.
If a card is detected and boot image is found in the card, then this boot image will be loaded and executed.
In SD/MMC manufacture mode, CD signal is tested by boot ROM, and pads GPIO_1 and GPIO_4 will be used
as SD1_CD and SD2_CD respectively ; so, this pins should be pulled up /down properly. In particular one can try
to pull up them to avoid entering the SD/MMC manufacture mode.
The boot configuration bit to disable the SD/MMC manufacture mode is BOOT_CFG3[0]. It can be disabled by blowing
the OCOTP fuse OCOTP_CFG4[16] or for GPIO boot override, pull high EIM_A16.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Perhaps the issue concerns with SD Manufacture mode. Please look at section 8.11 (SD/MMC Manufacture Mode)
of the IMX6SDLRM (Rev. 1, 04/2013) for details.
The i.MX6 S/DL in SD/MMC manufacture mode SD or MMC card will be scanned on uSDHC1 and uSDHC2.
If a card is detected and boot image is found in the card, then this boot image will be loaded and executed.
In SD/MMC manufacture mode, CD signal is tested by boot ROM, and pads GPIO_1 and GPIO_4 will be used
as SD1_CD and SD2_CD respectively ; so, this pins should be pulled up /down properly. In particular one can try
to pull up them to avoid entering the SD/MMC manufacture mode.
The boot configuration bit to disable the SD/MMC manufacture mode is BOOT_CFG3[0]. It can be disabled by blowing
the OCOTP fuse OCOTP_CFG4[16] or for GPIO boot override, pull high EIM_A16.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
That was it. I had a pulldown on the GPIO_4 signal, which is the CD for the SD2 port where my eMMC is. Just one correction to your feedback. The CD is active low, so by floating (I assume internal pull-ups are enabled) or pulling up that pin is the correct to do if you don't want it to enter SD/MMC manufacturing mode.
But its still strange and a bit inconsistent in the manual, that it goes through the normal boot process, even if the boot mode is set to usb serial download...