problem with imx53 boot by emmc

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

problem with imx53 boot by emmc

跳至解决方案
1,880 次查看
rainustc
Contributor II

Hi,

     When I use the MFGTools successfully write boot and kernal into the external emmc device, but imx53 can not boot from this device, it still jump to the usb terminal. I just check out the following things, but still don't know what's wrong.

     1. Make sure the right gpio configure for emmc 4.41

     2. Write the boot and kernal to sd( different configure for sd), and it can be booted in QSB ESDHC1 or ESDHC3, so the boot and kernal is right.

     3. When boot from emmc on my board, I found after the 357.143 clock appeared, it stop the boot process, and jump to the serial boot process. In this process, only several times I saw the 20MHz high frequency appearing, but still jump to serial boot process.

     What's wrong with emmc boot can be deduced with this problem?  I really don't know. With the MFGTools, I think the boot and kernal have been written successfully into the emmc device, because of the MFGTools can find the right volume(16G) with the emmc device.

1 解答
1,082 次查看
Yuri
NXP Employee
NXP Employee

Please check U-boot environment variables - if they are as recommended in section 8.2 (Run the Image from MMC/SD)
of  "i.MX53_SABRE_TABLET_Linux_BSP_UserGuide.pdf" :

Assume the kernel image start from the address 0x100000 byte (the block start address is

0x800). The kernel image size is less than 0x300000 byte. The rootfs is located into

/dev/mmcblk0p1 partition. Enter the following commands in the U-Boot prompt:


MX53-SMD U-Boot > setenv loadaddr 0x70800000

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

MX53-SMD U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcdi1fb:RGB666,XGA di1_primary ldb=di1 ip=dhcp'

MX53-SMD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 0 ${loadaddr} 0x800 0x1800;bootm'

MX53-SMD U-Boot > setenv bootcmd 'run bootcmd_mmc'

MX53-SMD U-Boot > saveenv

MX53-SMD U-Boot > run bootcmd

To read kernel image from eMMC4.4, please update the command line as:

MX53-SMD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 1 ${loadaddr} 0x800 0x1800;bootm'

https://www.freescale.com/webapp/Download?colCode=IMX53_1105_LINUXDOCS_BUNDLE&location=null&fpsp=1&P...

SABRE Platform for Tablets based on i.MX53 Product Summary Page

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,083 次查看
Yuri
NXP Employee
NXP Employee

Please check U-boot environment variables - if they are as recommended in section 8.2 (Run the Image from MMC/SD)
of  "i.MX53_SABRE_TABLET_Linux_BSP_UserGuide.pdf" :

Assume the kernel image start from the address 0x100000 byte (the block start address is

0x800). The kernel image size is less than 0x300000 byte. The rootfs is located into

/dev/mmcblk0p1 partition. Enter the following commands in the U-Boot prompt:


MX53-SMD U-Boot > setenv loadaddr 0x70800000

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

MX53-SMD U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcdi1fb:RGB666,XGA di1_primary ldb=di1 ip=dhcp'

MX53-SMD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 0 ${loadaddr} 0x800 0x1800;bootm'

MX53-SMD U-Boot > setenv bootcmd 'run bootcmd_mmc'

MX53-SMD U-Boot > saveenv

MX53-SMD U-Boot > run bootcmd

To read kernel image from eMMC4.4, please update the command line as:

MX53-SMD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 1 ${loadaddr} 0x800 0x1800;bootm'

https://www.freescale.com/webapp/Download?colCode=IMX53_1105_LINUXDOCS_BUNDLE&location=null&fpsp=1&P...

SABRE Platform for Tablets based on i.MX53 Product Summary Page

0 项奖励
回复
1,082 次查看
rainustc
Contributor II

I just check out the bug, but still couldn't solve it.

I found that all the problem is with the lpddr2 configure.

Now, I can use the MFGtools to make a proper lppddr2 confure reg parameter, it can be run properlly with usb download. But the strange thing is that when I flash these configures into emmc or sd, then reboot, it can't work properly with the lpddr2.

I try to calibrate the ddr reg parameter again with emmc or sd boot, still now I only check out the read delay calibration, the write delay is still not work properly.

So, maybe my confuse is very simple, why the ddr reg parameters can't be same in usb boot and emm/sd boot?

0 项奖励
回复