I've been trying to set up my Sabre SDB to load U-Boot from eMMC but I have not had any success. Has anyone done this successfully?
There are three questions I would like to confirm:
a) Are there any special preparations when building U-Boot? Do I use the u-boot.imx image that I have successfully loaded from an SD card?
b) Where do I write the U-Boot image with the dd command? I have several MMC devices available:
# ls -l /dev/mmcblk0*
brw-rw---- 1 root disk 179, 0 Jan 1 00:00 /dev/mmcblk0
brw-rw---- 1 root disk 179, 8 Jan 1 00:00 /dev/mmcblk0boot0
brw-rw---- 1 root disk 179, 16 Jan 1 00:00 /dev/mmcblk0boot1
brw-rw---- 1 root disk 179, 1 Jan 1 00:00 /dev/mmcblk0p1
c) What should SW6 be set to? From my reading of the datasheet, it should be set up with switches 8 - 1 => 01101011
ie: MMC boot, 8 bit interface, port SD4.
Although I have tried various other combinations without any success. I suspect the problem is in a) or b).
Solved! Go to Solution.
Hi Alex,
In general:
/dev/mmcblk0 is the normal disk and generally where U-Boot on SD card will live (at offset 0x400)
/dev/mmcblk0pN is partition N within the disk. You may have multiple if you've partitioned things that way (Android uses as many as 8)
The /dev/mmcblk0boot0 and /dev/mmcblk0boot1 are special-purpose areas of the eMMC. I'll refer you to the data sheet for characteristics, but I don't believe they're currently supported either by the boot ROM on the i.MX6 or by U-Boot.
Hi Alex,
In general:
/dev/mmcblk0 is the normal disk and generally where U-Boot on SD card will live (at offset 0x400)
/dev/mmcblk0pN is partition N within the disk. You may have multiple if you've partitioned things that way (Android uses as many as 8)
The /dev/mmcblk0boot0 and /dev/mmcblk0boot1 are special-purpose areas of the eMMC. I'll refer you to the data sheet for characteristics, but I don't believe they're currently supported either by the boot ROM on the i.MX6 or by U-Boot.
Hi Eric,
Thanks for your reply. Since you helped me remove one variable from the situation, I was able to experiment more:
I used this command:
dd if=u-boot.imx bs=1k seek=1 conv=fdatasync of=/dev/mmcblk0
and was able to get it booting with SW6 bits 8 -> 1 configured as:
01101011 (8-bit mode) or 01100111 (4-bit mode)
I am still working on how to get 'fast boot' working, ie SW6 = 01111011, but this has been a good step in the right direction.
:smileyhappy: "Fast boot" has so many meanings:
I'm not sure which of these involves SW6 (or none).
Ah, this appears to be a 'fast boot' mode particular to eMMC 4.4+ devices. Ie none of the above :smileyhappy: