Hi, I am using imx6ulevk. I want to boot my images from eMMC present in the kit. I followed the "i.MX_Linux_User's_Guide.pdf". So currently I have booted my board with the SD card upto the u-boot prompt. As mentioned in the guide the USDHC2 is the interface for the eMMC and I used the following command to select the eMMC:
=> mmc dev 1 0
It give me the result:
switch to partitions #0, OK
mmc1 is current device
Then I tftp the emmc u-boot image to the board. The image was prebuilt image which I downloaded from NXP website:
tftpboot ${loadaddr} u-boot-imx6ul14x14ddr3arm2_emmc.imx
Then i did mmc write to write it to mmc:
mmc write ${loadaddr} 0x0 0x60000
which gives the result:
MMC write: dev # 1, block # 0, count 393216 ... 393216 blocks written: OK
Then I changed the boot config pin to "0110" to boot the u-boot from eMMC. But I couldn't get any output.
Here is the output of my "mmc list" command:
FSL_SDHC: 0
FSL_SDHC: 1 (SD)
Have I done any thing wrong in selecting the mmc dev?
mmc dev 1 0
Hi Sourabh
u-boot-imx6ul14x14ddr3arm2 is for arm2 board, which is different from EVK board,
also when writing u-boot.imx offset 0x400 should be provided like as :
dd if=u-boot.imx of=/dev/mmcblk0 seek=2 bs=512
Recommended to use mfg tools on link below using attached ucl2.xml
i.MX 6 Series Software and Development Tool|NXP
and build uboot adding +#define CONFIG_MX6UL_EVK_EMMC_REWORK
in include/configs/mx6ul_14x14_evk.h to enable whole 8bit data pin of eMMC
Also one can look at suggestions
Cannot boot from eMMC i.mx6UL EVK
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igorpadykov,
I added #define CONFIG_MX6UL_EVK_EMMC_REWORK in my board include file(mx6ul_14x14_evk.h) and build the image and flash it into my sd card. But after booting the board till the filesystem, I found that the node "/dev/mmcblk0" was not present there. There was only "/dev/mmcblk1", " /dev/mmcblk1p1" and "/dev/mmcblk1p2" that I guess the node for the SD card.
According to my understanding the eMMC was enabled only in the u-boot but not in the DTB file.
You recommend me to use mfg tool. But I want to flash the eMMC from the kernel using dd command. If there any patch available to enable the eMMC inside the DTS file, can you please share?
I am not aware of such patch.
~igor
I mean I checked the dts file (imx6ul-14x14-evk.dts). I checked the pin-muxing of usdhc2, as both the eMMC and SD card connected to usdhc2. I got this:
pinctrl_usdhc2: usdhc2grp { | ||
fsl,pins = < | ||
MX6UL_PAD_NAND_RE_B__USDHC2_CLK | 0x10069 | |
MX6UL_PAD_NAND_WE_B__USDHC2_CMD | 0x17059 | |
MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059 | ||
MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059 | ||
MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059 | ||
MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059 | ||
>; | ||
}; |
As I was not getting the node for eMMC (/dev/mmcblk0) in kernel so my doubt here is where is the muxing of rest of the eMMC pins (DATA4, DATA5, DATA6, DATA7 and RST) in the dts file?