I am trying to load u-boot from emmc on custom i.mx6 board. There are 2 used USDHC controllers on this board: USDHC2 for sd card and USDHC3 for emmc. I have 2 partitions on sd card (mmcblk0p1 (FAT, boot), mmcblk0p2 (ext4, root_fs)) and 4 partitions on emmc (mmcblk1, mmcblk2boot0, mmcblk3boot1, mmcblk4rpmb).
First of all, I used low-level copying to move data from sd card to the mmc first partition:
dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=512
I've got two partitions on mmcblk1: mmcblk1p1 and mmcblk1p2
After changing u-boot arguments I had successfully load Linux from emmc. When I tried to change bootstrap options to load from USDHC3 nothing happened.
After looking for some information about this promblem I did this steps:
root@192:/sys/devices/soc0/soc.1/2100000.aips-bus/2198000.usdhc/mmc_host/mmc1/mmc1:0001# echo 8 > boot_config
root@192:/sys/devices/soc0/soc.1/2100000.aips-bus/2198000.usdhc/mmc_host/mmc1/mmc1:0001# cat boot_info
[ 1445.436201] mmc1: BKOPS_EN bit is not set
ALT_BOOT_MODE:1 - Supports alternate boot method
DDR_BOOT_MODE:1 - Supports alternate dual data rate during boot
HS_BOOTMODE:1 - Supports high speed timing during boot
BOOT_ACK:1 - Boot acknowledge sent during boot operation
BOOT_PARTITION-ENABLE: 1 - Boot partition 1 enabled
root@192:/usr/tmp# dd if=u-boot.bin of=/dev/mmcblk2boot0 bs=512 seek=2 skip=2
I tried to dd u-boot.bin and u-boot.imx when I found out information about IVT, but nothing changed. U-boot still doesn't start from any of partitions on the emmc.
Thanks in advance!