i.MX6DL boot strange result: boot mode connect Serial downloader mode (USB OTG), SD connect and could boot from SD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6DL boot strange result: boot mode connect Serial downloader mode (USB OTG), SD connect and could boot from SD

Jump to solution
3,141 Views
andychien
Contributor III

Our customer use i.MX6DL to design a platform.

We tested boot source eMMC/ SD boot is workable.

We change boot mode to Serial downloader mode (USB OTG), then found if SD don't connect, we can connect PC into Serial downloader mode (USB OTG).

If SD connect (boot mode setting Serial downloader mode (USB OTG), we can't connect PC into Serial downloader mode (USB OTG) and system could run from SD boot.

We verified and can't found the strange result on i.MX6 SDP platform.

Could you help check it.

Thanks a lot,

below is use ReviewICE test and result read boot mode and boot configuration

==========================================

Serial downloader mode, SD unconnect 

dump /32 0x020d801c

01000001 boot from Serial downloader mode (USB OTG)

0000 0001      boot mode = 0:1

dump /32 0x020d8004..0x020d8007

BOOT_CFG4[7:0], BOOT_CFG3[7:0], BOOT_CFG2[7:0], BOOT_CFG1[7:0]

4000 0840

0100 0000, 0000 0000, 0000 1000, 0100 0000

--------------------------------------------------

Internal config mode(SD boot), SD connect

dump /32 0x020d801c

22000001

0010 0010   boot mode = 1:0, boot from internal configuration(board setting)

--------------------------------------------------

Serial downloader mode, SD connect

dump /32 0x020d801c

01000001

0000 0001   boot mode = 0:1, boot from Serial downloader mode (USB OTG)


And we stop system at uboot to read boot mode is 01000001 boot from Serial downloader mode (USB OTG) as attachments

======================================================

Labels (1)
0 Kudos
1 Solution
1,700 Views
PeterChan
NXP Employee
NXP Employee

This is the right behavior and the i.MX6DL is booting from the SD/MMC manufacture mode. In this mode, SD or MMC card will be scanned on uSDHC1 and uSDHC2. If card is detected and boot image is found in the card, then this boot image will be loaded and executed, using 1 bit bus width. Please refer to the flow diagram in reference manual for the detail.


In SDMMC manufacture mode, pads GPIO_1 and GPIO_4 will be used as SD1_CD and SD2_CD respectively.


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.

View solution in original post

0 Kudos
4 Replies
1,699 Views
andychien
Contributor III

Dear Peter Chan and Yixing Kong,

Thanks very much and we verify to pull high EIM_A16, then and it work correctly.

We are not sure what design need this function.

Could you tell it fits application?

Thanks a lot,

0 Kudos
1,699 Views
PeterChan
NXP Employee
NXP Employee

Hello Andy,

Th SDMMC manufacture mode allow firmware to run on a device without actually program the code. It can be helpful to run hardware test in production and to test software in the development stage.

0 Kudos
1,699 Views
YixingKong
Senior Contributor IV

Andy, please closely work with Peter and respond promptly. If your question has been answered please click Correct Answer/Helpful Answer. Otherwise the DI will close in 3 days.

Thanks,

Yixing

0 Kudos
1,701 Views
PeterChan
NXP Employee
NXP Employee

This is the right behavior and the i.MX6DL is booting from the SD/MMC manufacture mode. In this mode, SD or MMC card will be scanned on uSDHC1 and uSDHC2. If card is detected and boot image is found in the card, then this boot image will be loaded and executed, using 1 bit bus width. Please refer to the flow diagram in reference manual for the detail.


In SDMMC manufacture mode, pads GPIO_1 and GPIO_4 will be used as SD1_CD and SD2_CD respectively.


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.

0 Kudos