We have a custom i.MX6Q design using a eMMC to boot a Linux. We run a u-boot based on rel_imx_4.1.15_1.0.0_ga tag and a Linux based on rel_imx_4.1.15_1.1.1_patch tag.
Until now, we used an eMMC v4.5 (Kingston KE4CN2H5) : our boards booted and worked fine
As the reference is now obsolete, we replaced it by an eMMC v5.1 (Kingston EMMC04G-W627-X01U) : our boards are unable to boot.
Until now, we didn't use mmcblk0boot0 and mmcblk0boot1 partitions, only the usual mmcblk0 device programmed with dd :
dd if=u-boot.imx of=/dev/mmcblk0 seek=2 bs=512
So we tried to program boot0 and setting it bootable (after enabling CONFIG_SUPPORT_EMMC_BOOT in u-boot) :
mmc bootbus 0 2 0 1
mmc partconf 0 1 1 0
But, without success.
As in Linux 4.1, the sysfs files named 'boot_bus_config' and 'boot_config' don't exist, we used mmc-utils to change the eMMC configuration at boot :
# mmc bootbus set single_hs x1 x4 /dev/mmcblk0
Changing ext_csd[BOOT_BUS_CONDITIONS] from 0x00 to 0x09
But, without success.
Concerning the hardware, our eMMC is connected to SD1. Our design differs from a SabreSD i.MX6Q as we have serial 33R on the eMMC bus.
So :
- Is there someone using eMMC v5.1 successfully on their design ?
- If someone has encountered problems with eMMC v5/5.1, how have you solved your problems ?