Changing eMMC boot images via Linux on Sabre SDB

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Changing eMMC boot images via Linux on Sabre SDB

Jump to solution
5,698 Views
AlexHarford
Contributor II

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).

Labels (2)
1 Solution
1,196 Views
EricNelson
Senior Contributor II

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.

View solution in original post

4 Replies
1,197 Views
EricNelson
Senior Contributor II

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.

1,196 Views
AlexHarford
Contributor II

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.

1,196 Views
EricNelson
Senior Contributor II

:smileyhappy: "Fast boot" has so many meanings:

I'm not sure which of these involves SW6 (or none).

0 Kudos
1,196 Views
AlexHarford
Contributor II

Ah, this appears to be a 'fast boot' mode particular to eMMC 4.4+ devices. Ie none of the above :smileyhappy:

0 Kudos