Uboot-MMC no SDcard

I am trying to get a linux kernel with linux rootfs running on a Freescale imx51 board.

I compiled the linux kernel, root file system and u-boot and copied the image to the SD card: partition 0: boot partition 1: rootfs and linux kernel

However, I have the following error:

U-Boot 2011.12 (Mar 13 2012 - 14:15:41) CPU: Freescale i.MX51 family rev3.0 at 800 MHz Reset cause: POR Board: MX51EVK DRAM: 512 MiB WARNING: Caches not enabled MMC: FSL_SDHC: 0, FSL_SDHC: 1 MMC: no card present MMC init failed Using default environment In: serial Out: serial Err: serial Net: FEC Warning: failed to set MAC address Hit any key to stop autoboot: 0 MX51EVK U-Boot > mmcinfo MMC: no card present Device: FSL_SDHC Manufacturer ID: 0 OEM: 0 Name: Tran Speed: 0 Rd Block Len: 0 MMC version 0.0 High Capacity: No Capacity: 0 Bytes Bus Width: 0-bit MX51EVK U-Boot > mmc init mmc - MMC sub system Usage: mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices MX51EVK U-Boot > mmc list FSL_SDHC: 0 FSL_SDHC: 1 MX51EVK U-Boot > mmc dev MMC: no card present mmc0(part 0) is current device MX51EVK U-Boot > 

What could be wrong?

+4
source share
2 answers

Checking the DIP switches, I realized that the switch was configured to load the SD card from the lower slot when I was loading from the upper slot all the time. So he solved my problem

+2
source

in file. / board / freescale / mx 51evk / mx51evk.c

 int board_mmc_init(bd_t *bis) { u32 index; s32 status = 0; esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK); esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); } 

As in the previous code snippets, I would suggest checking the source of synchronization. Try checking the clock on source MMC0. There may be a problem with the sync source.

+1
source

Source: https://habr.com/ru/post/1401394/


All Articles