I.MX6ULZ eFuse boot from SD with custom pinmux for SD slot

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

I.MX6ULZ eFuse boot from SD with custom pinmux for SD slot

Jump to solution
819 Views
Angshu
Contributor III

Hi,


We have a custom board that runs an i.mx6ulz SoC. We have successfully managed to boot Linux onto it by using the serial downloader mode and uuu tool to flash u-boot-dtb.imx file and then running the boot or bootz command to boot kernel from SD card.


Now we tried to blow the eFuse for booting directly from SD and run Into an issue. We have blown the fuse correctly In u-boot for BT_FUSE_SEL bit as well as BOOT_OFG1 and CFG2 as per our SD slot (shown below). However, our SD2 pins are not the same as the mx6ullevk, and the custom pins are muxed correctly In our device tree files on both u-boot and kernel.


Fuse values set:

fuse prog 0 5 0x2844 (SD card slot 2 in high speed mode and 4 Bit width)
fuse prog 0 6 Ox10 (BT FUSE SEL = 1)


Our custom Pinmux for SD2:
 pinctrl_usdhc2: usdhc2grp {
    fsl,pins = <
       MX6UL_PAD_CSI_VSYNC__USDHC2_CLK 0x17059
       MX6UL_PAD_CSI_HSYNC__USDHC2_CMD 0x17059
       MX6UL_PAD_CSI_DATA00__USDHC2_DATA0 0x17059
       MX6UL_PAD_CSI_DATA01__USDHC2_DATA1 0x17059
       MX6UL_PAD_CSI_DATA02__USDHC2_DATA2 0x17059
       MX6UL_PAD_CSI_DATA03__USDHC2_DATA3 0x17059
   >;
};


1) First our question is, because the u-boot or kernel hasn't loaded with the correct mux for the SD pins,  are we not able to boot from eFuses if our SD slot is not default?

Or

2) Secondly, is there a way to set the pin mux ALT modes (maybe on another set of fuses) prior to u-boot loading such that the ROM finds the right SD card pins? How does the CPU know to boot from a custom set of SD pins if dtbs are not yet loaded?

 

Currently it keeps going back to Serial downloader mode and our guess is that the ROM is looking for the default SD pins to boot from. We have verified that our SD card has the u-boot image properly copied over by trying it on the EVK and successfully getting u-boot to load.


Any help in figuring this out would be greatly appreciated.


Angshu

0 Kudos
1 Solution
775 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

The reason why you're not able to boot is because of the pads as you have suspected in your first questions.

Answering your second question, unfortunately there is not, the i.MX loads the pad configuration from the ROM code for the boot device selected, you'll find the pad configuration for this in the Reference Manual chapter 8.5.3.4 IOMUX configuration for SD/MMC

Best regards,
Aldo.

View solution in original post

2 Replies
776 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

The reason why you're not able to boot is because of the pads as you have suspected in your first questions.

Answering your second question, unfortunately there is not, the i.MX loads the pad configuration from the ROM code for the boot device selected, you'll find the pad configuration for this in the Reference Manual chapter 8.5.3.4 IOMUX configuration for SD/MMC

Best regards,
Aldo.

772 Views
Angshu
Contributor III

Thank you for your clarification. We will change the pins to default ones for our next iteration.

0 Kudos