How to boot i.MX53 QSB from MMC Plus

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

How to boot i.MX53 QSB from MMC Plus

3,885 Views
HenryChiang
Contributor I

Hi

I have i.MX53 QSB. We want to boot from Trensend MMC Plus card.

I tried to follow i.MX53 start linux user's guide. It doesn't work.

It will show information as below.

Would someone please help that?
Thanks

 u-boot.bin and uImage file comes from /ltib/rootfs/boot/

U-Boot 2009.08 (Dec 14 2011 - 11:35:51)

CPU:   Freescale i.MX53 family 2.0V at 1000 MHz
mx53 pll1: 1000MHz
mx53 pll2: 400MHz
mx53 pll3: 216MHz
mx53 pll4: 455MHz
ipg clock     : 66666666Hz
ipg per clock : 33333333Hz
uart clock    : 21600000Hz
cspi clock    : 54000000Hz
ahb clock     : 133333333Hz
axi_a clock   : 400000000Hz
axi_b clock   : 200000000Hz
emi_slow clock: 133333333Hz
ddr clock     : 400000000Hz
esdhc1 clock  : 80000000Hz
esdhc2 clock  : 80000000Hz
esdhc3 clock  : 80000000Hz
esdhc4 clock  : 80000000Hz
nfc clock     : 26666666Hz
Board: MX53-LOCO 1.0
Boot Reason: [POR]
Boot Device: MMC
I2C:   ready
DRAM:   1 GB
MMC:   FSL_ESDHC: 0, FSL_ESDHC: 1
*** Warning - bad CRC or MMC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:04:9f:01:b4:f9
FEC0 [PRIME]
Hit any key to stop autoboot:  0
MX53-LOCO U-Boot > mmcinfo
Card did not respond to voltage select!
MMC card init failed!
MX53-LOCO U-Boot >

Tags (1)
0 Kudos
Reply
14 Replies

2,753 Views
KrishnaPavan
Contributor II

As far as I know, We place an MMC/SD Card in the slot at the down-side, that is mmcblk0pX. Change it, I would say to you to check this again.

Try this and see.

If the above does not work, Check your env variables again.

0 Kudos
Reply

2,753 Views
HenryChiang
Contributor I

Hi Krishna

Much appreciate your help.

I tried to use variable "mmcblk1p2". It doesn't work.

The result is

"Wrong Image Format for bootm command
ERROR: can't get kernel image!"

By the way, I use Transcend 4GB MMCplus card.

Would you please recommend 4GB MMC card?

Thanks

Krishna Pavan said:

Hi Henry,

setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p2 rootwait ${vga}'

Check the above variable, mmcblk1p2, it should be mmcblk0px.

0 Kudos
Reply

2,752 Views
KrishnaPavan
Contributor II

Hi Henry,

setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p2 rootwait ${vga}'

Check the above variable, mmcblk1p2, it should be mmcblk0px.

0 Kudos
Reply

2,753 Views
HenryChiang
Contributor I

HI Krishna

Thanks.

I also do it.

But the result is

"Wrong Image Format for bootm command
ERROR: can't get kernel image!"

What I flash the MMC is

1.Flash U-boot and UIamge from demo image such as

sudo dd if=u-boot-mx53-loco.bin of=/dev/sdc bs=512 && sync && sync

sudo dd if=uImage of=/dev/sdc bs=512 seek=2048 && sync && sync



Krishna Pavan said:

Hi Henry,

sudo dd if=u-boot-mx53-loco.bin of=/dev/mmcblk0 bs=512 && sync && sync

sudo dd if=uImage of=/dev/mmcblk0 bs=512 seek=2048 && sync && sync

Instead of /dev/mmcblk0, you should use the device that appears in fdisk -l command.

Regards Krishna Pavan

0 Kudos
Reply

2,754 Views
KrishnaPavan
Contributor II

Hi Henry,

sudo dd if=u-boot-mx53-loco.bin of=/dev/mmcblk0 bs=512 && sync && sync

sudo dd if=uImage of=/dev/mmcblk0 bs=512 seek=2048 && sync && sync

Instead of /dev/mmcblk0, you should use the device that appears in fdisk -l command.

Regards Krishna Pavan

0 Kudos
Reply

2,754 Views
HenryChiang
Contributor I

Hi Alan

Much appreciate your help

Sorry to late reply.

I have tested the environment variable such as "i.MX53 START Linux User's Guide " Sec.8.2 Run the Image from MMC/SD

and your seggestion.

The result will come out

"MMC read: dev # 1, block # 2048, count 6144 partition # 0 ...
6144 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!"

Here is my environment variable and console message.

Would you please kindly help it?

Thanks

1.Flash U-boot and UIamge from demo image such as

sudo dd if=u-boot-mx53-loco.bin of=/dev/mmcblk0 bs=512 && sync && sync

sudo dd if=uImage of=/dev/mmcblk0 bs=512 seek=2048 && sync && sync

2.Environment variable setting

setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p2 rootwait ${vga}'
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 1 ${loadaddr} 0x800 0x1800;bootm'
setenv bootcmd 'run bootcmd_mmc'
saveenv
run bootcmd

The console message comes out:

MX53-LOCO U-Boot > setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'

MX53-LOCO U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mm
cblk1p2 rootwait ${vga}'
MX53-LOCO U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 1
 ${loadaddr} 0x800 0x1800;bootm'
MX53-LOCO U-Boot > setenv bootcmd 'run bootcmd_mmc'
MX53-LOCO U-Boot > saveenv
Saving Environment to MMC...
Writing to MMC(1)... done
MX53-LOCO U-Boot > run bootcmd

MMC read: dev # 1, block # 2048, count 6144 partition # 0 ...
6144 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX53-LOCO U-Boot >


Alan Levy said:

I can't see why you would want the mmc write command. Having done it once however you'll have to re-install the operating system onto the SD card before proceeding. As for the environment, I would have expected something like:

 

setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait ${vga}

0 Kudos
Reply

2,754 Views
HenryChiang
Contributor I

Hi Alan

Thanks for help.

I will try the environment configuration.

Thanks

Henry

Alan Levy said:

I can't see why you would want the mmc write command. Having done it once however you'll have to re-install the operating system onto the SD card before proceeding. As for the environment, I would have expected something like:

 

setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait ${vga}

0 Kudos
Reply

2,754 Views
AlanLevy
Contributor I

I can't see why you would want the mmc write command. Having done it once however you'll have to re-install the operating system onto the SD card before proceeding. As for the environment, I would have expected something like:

 

setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait ${vga}

0 Kudos
Reply

2,754 Views
HenryChiang
Contributor I

Hi Alan

Yes.

mmc write command is that I'm trying to make it.

If I didn't have "mmc write" command, would that be OK?

I will tried it.

By the way, does the environment setting be correct?

Much appreciate your great help.

Henry

Alan Levy said:

It appears that you've overwitten the Linux image on the SD card with whatever happened to be in RAM when U-Boot started up. Was that really what you were trying to do with the 'mmc write' command?

0 Kudos
Reply

2,754 Views
AlanLevy
Contributor I

It appears that you've overwitten the Linux image on the SD card with whatever happened to be in RAM when U-Boot started up. Was that really what you were trying to do with the 'mmc write' command?

0 Kudos
Reply

2,754 Views
HenryChiang
Contributor I

Hi Alan

Thanks for great help.

I follow your suggestion to type mmcinfo 1.

It can read out information as below:

MMC:   FSL_ESDHC: 0, FSL_ESDHC: 1
*** Warning - bad CRC or MMC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:04:9f:01:b4:f9
FEC0 [PRIME]
Hit any key to stop autoboot:  0
FEC: enable RMII gasket
PHY indentify @ 0x0 = 0x0007c0f1
*** ERROR: `serverip' not set
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX53-LOCO U-Boot > mmcinfo
Card did not respond to voltage select!
MMC card init failed!
MX53-LOCO U-Boot > mmcinfo 1
Device: FSL_ESDHC
Manufacturer ID: 1e
OEM: ffff
Name: MMC
Tran Speed: 20000000
Rd Block Len: 512
MMC version 4.0
High Capacity: Yes
Capacity: 4033871872
Bus Width: 8-bit
Boot Partition Size: No boot partition available

I set some environment setting as below

MX53-LOCO U-Boot > setenv bootfile uImage
MX53-LOCO U-Boot > mmc write 1 0x70800000 0x800 0x1800

MMC write: dev # 1, block # 2048, count 6144, partition # 0 ...
6144 blocks written: OK
MX53-LOCO U-Boot > setenv bootargs console=tty,115200 root=/dev/mmcblk1p1 @{vga}

MX53-LOCO U-Boot > setenv boot_mmc 'mmc read 1 ox70800000 0x800 0x1800;bootm 0x7
0800000'
MX53-LOCO U-Boot > setenv bootcmd run boot_mmc
MX53-LOCO U-Boot > saveenv
Saving Environment to MMC...
Writing to MMC(1)... done


MX53-LOCO U-Boot > reset
resetting ...
M

After reset. It will hang.

Would you please help it?

Much appreciate.

Henry



Alan Levy said:

Ah, yes, of course you've got U-boot working already. There are two things I can think of:

1. The full-size card slot is slot 1, not 0. Try:

    mmcinfo 1

2. If that doesn't work try turning on switch SW1.8 (if you don't have SW1 fitted, solder a wire between pins 2 and 19).

0 Kudos
Reply

2,754 Views
AlanLevy
Contributor I

Ah, yes, of course you've got U-boot working already. There are two things I can think of:

1. The full-size card slot is slot 1, not 0. Try:

    mmcinfo 1

2. If that doesn't work try turning on switch SW1.8 (if you don't have SW1 fitted, solder a wire between pins 2 and 19).

0 Kudos
Reply

2,754 Views
HenryChiang
Contributor I

Hi Alan

Thanks.

I have modify hardware.

But it doesn't work for MMC plus card.

It works for full size SDHC card.

Would you please help that?

Thanks



Alan Levy said:

The QSB is designed to boot from the micro SD card slot and you have to modify the hardware and software if you want to boot it from the full-size SD card slot. There's a separate thread here which explains how to do this.

0 Kudos
Reply

2,754 Views
AlanLevy
Contributor I

The QSB is designed to boot from the micro SD card slot and you have to modify the hardware and software if you want to boot it from the full-size SD card slot. There's a separate thread here which explains how to do this.

0 Kudos
Reply