we're building our own hardware based on an i.MX6DL using an eMMC as primary boot device. The BOOT_MODE[1:0] pins are pulled low, i.e. 00b “Boot From Fuses”.
When such a board is in a 'virgin' state (i.e. no firmware installed and no fuses blown), the board behaves as expected as it will always enter "Serial Downloader" mode.
However, things change when a valid bootloader image is installed in eMMC. From that point onwards, "Serial Downloader" mode is entered only when the USB_OTG_ID signal is LOW. Otherwise the installed bootloader image is executed.
That happens even though we haven't programmed any fuses (meaning that also BT_FUSE_SEL = 0), but the iMX6DL reference manual clearly states that this shouldn't happen.
From chapter 8.2.3:
If set to Boot From Fuses, the boot flow is controlled by the BT_FUSE_SEL eFUSE
value. If BT_FUSE_SEL = 0, indicating that the boot device (for example, Flash, SD/
MMC) has not yet been programmed, the boot flow jumps directly to the Serial
What I'm looking for here is a confirmation from NXP that what we're seeing on our boards is actually the intended behavior of the i.MX6DL and the documentation is wrong or incomplete. Ideally, I'm looking for a reference to a different section in the reference manual (or some other document) that documents this behavior and - ideally - explains it.
We don't want to risk breaking our board production process at some point in the future should this behavior change w/o notice.