Hello,
I'm working on a new design based on iMX53 Quick Start Board.
I'm using u-boot-fslc and linux-fslc from Yocto recipes.
The Linux distribuition is Debian Jessie.
Boths u-boot and kernel were compiled manually, using arm-poky toolchain
I can boot the system from the SD card without any problem.
From the SD card, I was able to access the eMMC partitions and save information in those partitions. I setup the system in the same way as the SD card:
* The 1st partition for u-boot
* The 2nd partition (VFAT) for kernel and device tree
* The 3rd partition for filesystem
When I change the boot in order to boot from the eMMC, u-boot starts, but it doesn't detect the other partitions located in eMMC.
If I maintain the SD card on the board, the u-boot from the eMMC can detect the contents from the SD Card.
I added the CONFIG_SUPPORT_EMMC_BOOT on mx53loco.h, recompiled u-boot. It didn't work.
I checked the schematics, and it is using SD3 bus, with 8 bits data. I checked u-boot source code, and it seems to set ESDHC3 and all 8 bits of data bus. I believe this is correct. Is there any other thing that I should check?
The eMMC is from Sandisk (I don't have the specific part number now). From the specification, it is 4.51, but I saw that there is backward compatibility with the support 4.4 version presented on u-boot. Is that correct?
What should I do in u-boot in order to correctly access Linux Kernel and Device Tree in order to boot Linux from eMMC?
Thanks in advance.
Best regards,
Flavio
Hi Flavio
one can check if correct mmc number is used, for example it is
/dev/mmcblk0p2 in u-boot-fslc-2016.07 include/configs/mx53loco.h
https://github.com/Freescale/u-boot-fslc/tree/2016.07+fslc
https://github.com/Freescale/linux-fslc/blob/4.1-1.0.x-imx/arch/arm/boot/dts/imx53-qsb.dts
eMMC version 4.51 should work with changes in /drivers/mmc/core/mmc.c :
card->ext_csd.rev > 7
provided on 0001-With-the-new-eMMC5.1-spec-there-is-a-new-EXT_CSD-reg.patch.zip
https://community.nxp.com/message/435796#435796
Also one can post this to meta-fsl-arm mailing list :
https://lists.yoctoproject.org/listinfo/meta-freescale
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello,
I checked u-boot source code and I could not find similar validation located on this kernel patch. And, reading the source code, it seams that u-boot has support for newer versions of mmc/emmc standards.
I reset u-boot source code, and made the following changes:
=> added #define DEBUG in include/common.h file
=> added #define CONFIG_SUPPORT_EMMC_BOOT in include/configs/mx53loco.h file
=> added #define CONFIG_SYS_FSL_USDHC_NUM 3 in include/configs/mx53loco.h file
When I recompile e reinstall u-boot.imx file on e-mmc, I am able to see the debug messages. But, it hangs at the moment where ESDHC is being initialized.
U-Boot 2015.10-00058-g03ab68e-dirty (Aug 15 2016 - 10:53:52 -0300)
initcall: 77804d10
U-Boot code: 77800000 -> 77850E80 BSS: -> 7789C6B0
initcall: 77804b1c
initcall: 77805220
Board: MX53 LOCO
initcall: 77804d58
I2C: ready
initcall: 77804d40
DRAM: initcall: 77802268
initcall: 77804fc4
Monitor len: 0009C6B0
Ram size: 40000000
Ram top: 90000000
initcall: 77804b44
initcall: 77804cb8
TLB table from 8fff0000 to 8fff4000
initcall: 77804ed8
initcall: 77804c6c
Reserving 625k for U-Boot at: 8ff53000
initcall: 77804c3c
Reserving 10248k for malloc() at: 8f551000
initcall: 77804e74
Reserving 88 Bytes for Board Info at: 8f550fa8
initcall: 77804b5c
initcall: 77804c08
Reserving 224 Bytes for Global Data at: 8f550ec8
initcall: 77804b9c
initcall: 77804ec8
initcall: 77805030
initcall: 77804fa0
initcall: 77804eec
RAM Configuration:
Bank #0: 70000000 512 MiB
Bank #1: b0000000 512 MiB
DRAM: 1 GiB
initcall: 77804b80
New Stack Pointer is: 8f550ea0
initcall: 77804e30
initcall: 77804dc0
Relocation Offset is: 18753000
Relocating to 8ff53000, new gd at 8f550ec8, sp at 8f550ea0
Do you have any idea of what am I doing wrong?
Best regards,
Flavio