Hi
My custom board (mx53) is booting from SD card (u-boot), loading kernel image from sdcard ,then starting kernel
then it should read rootfs from sdcard ,but freezes after printing:
Waiting for root device /dev/mmcblk0p1...
-Are CardDetect and WriteProtect HW pins necessary ,I dont have WP signal ?
-My kernel config lines ( # MMC/SD/SDIO Card Drivers and # MMC/SD/SDIO Host Controller Drivers )
are like in imx5_defconfig file so I dont have wrong configuration?
-May I use rootfs.jffs2 from L2.6.35_11.09.01_ER_images_MX5X folder ?
Currently I dont have hw dependent custom modules .
Original Attachment has been moved to: minicom3.txt.zip
Hello~I have the same question with you .Have you find the answer about this one?
If yes,Could you please share your achievement with me!
Best regards!
hi Wang,
I have the same problem when I porting a customer board.
I want to discuss detail with you,may I?
william
Of course.But I haven't solve the problem!
I have tried every mmcblk ,but it's no use!Somebody told me that it is becouse of WRITING PROTECT! But I don't konw how to deal with it !
Maybe its data clk relation ?
Check SD card DATA ,CLK relationship with osciloscope .
As far as I remember, in full speed mode clk edge was not in the center of data ,but in half speed mode it was .
in which file can I modify the data clk? Only need to modify this one ?
According to my observation data-clk relation changes with one of the switch settings ,related to SDcard speed.
İn imx quickstart board schematics SW1.6=sSD/mmc speed SW1.6=0 => high SW1.6=1 =>normal
But if you can get u-boot prompt ,I think you don't have SDcard access problem .
Update : set card_inserted_state , lower max_clk as below:
static struct mxc_mmc_platform_data mmc1_data = {
.max_clk = 20000000,
.card_inserted_state = 1,
.status = sdhc_get_card_det_status,
}
minicom output changed as:
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.63 GiB
mmcblk0: p1
Waiting for root device /dev/mmcblock0p1...
??
Could you post the kernel log and the u-boot environment variables?
On u-boot console, try to set the kernel cmd line parameter 'root' as the following 'root=/dev/mmcblk0p1', then save the change ('saveenv'). I believe that should solve the issue.
It started to work after I write my own roorfs folder into sdcard, before I was using the rootfs.ext2 in BSP .
Also the kernel commandline is changed to
Kernel command line: console=ttymxc0,115200 ip=192.168.10.1 root=/dev/mmcblk0p1 rootwait
previous kernel commandline was
Kernel command line: console=ttymxc0,115200 ip=192.168.10.1 root=/dev/mmcblock0p1 rootwait
I have copied the rootfs to sdcard as below:
sudo mkfs.ext3 /dev/sdb1
sudo mount /dev/sdb1 /mnt/sdcard
sudo cp -r /home/yekta/ltib/rootfs/* /mnt/sdcard
sudo umount /mnt/sdcard
uboot env settings:
MX53-DENETIM U-Boot > printenv
bootdelay=3
baudrate=115200
loadaddr=0x70800000
netdev=eth0
ethprime=smc911x
uboot=u-boot.bin
kernel=uImage
nfsroot=/opt/eldk/arm
bootargs_base=setenv bootargs console=ttymxc0,115200
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nroot},v3,tcp
bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm
bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 0;mmc read ${loadaddr} 0x800 0x180 bootm
bootcmd=run bootcmd_mmc
bootargs_mmc=setenv bootargs ${bootargs} ip=192.168.10.2 root=/dev/mmcblk0p1 rootwait bootargs=root=/dev/mmcblk0p1
stdin=serial
stdout=serial
stderr=serial
Environment size: 644/8188 bytes
MX53-DENETIM U-Boot >