Hi everyone,
I'm using AM437x GP EVM 1.5B and SDK 2.00.02.11to test eMMC boot.
When I use USB host boot, I can access the eMMC in U-Boot, kernel and file system now.
Please see the log
U-Boot:
U-Boot# mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device
U-Boot# mmc list OMAP SD/MMC: 0 OMAP SD/MMC: 1 (eMMC)
U-Boot# mmc info Device: OMAP SD/MMC Manufacturer ID: fe OEM: 14e Name: MMC04 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.4.1 High Capacity: Yes Capacity: 3.6 GiB Bus Width: 4-bit Erase Group Size: 512 KiB HC WP Group Size: 4 MiB User Capacity: 3.6 GiB Boot Capacity: 16 MiB ENH RPMB Capacity: 128 KiB ENH
Kernel:
[ 2.525444] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0 [ 2.532117] GPIO line 151 (SelEMMCorNAND) hogged as output/high [ 2.538155] GPIO line 159 (EMMC_RESET) hogged as output/high [ 2.544663] GPIO line 168 (SelLCDorHDMI) hogged as output/high [ 2.581535] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz [ 2.588729] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz [ 2.595251] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22 [ 2.605994] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22 [ 2.606030] usb 1-1: New USB device found, idVendor=0781, idProduct=5567 [ 2.623225] hctosys: unable to open rtc device (rtc0) [ 2.631918] vmmcwl_fixed: disabling [ 2.635587] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.642757] usb 1-1: Product: Cruzer Blade [ 2.647067] ALSA device list: [ 2.650091] No soundcards found. [ 2.654018] Waiting for root device /dev/sda2... [ 2.658765] usb 1-1: Manufacturer: SanDisk [ 2.662880] usb 1-1: SerialNumber: 4C530202031124109104 [ 2.669455] usb-storage 1-1:1.0: USB Mass Storage device detected [ 2.676243] scsi host0: usb-storage 1-1:1.0 [ 2.759272] mmc0: MAN_BKOPS_EN bit is not set [ 2.767457] mmc0: new high speed MMC card at address 0001 [ 2.773346] mmcblk0: mmc0:0001 MMC04G 3.60 GiB [ 2.778144] mmcblk0boot0: mmc0:0001 MMC04G partition 1 16.0 MiB [ 2.784236] mmcblk0boot1: mmc0:0001 MMC04G partition 2 16.0 MiB [ 2.792495] mmcblk0: p1 p2
But when I tried to load zImage from eMMC, I found that eMMC driver didn't come up and kernel hanged.
Please see the log,
U-Boot# load mmc 1:2 0x82000000 boot/zImage 3545144 bytes read in 250 ms (13.5 MiB/s) U-Boot# load mmc 1:2 0x88000000 boot/am437x-gp-evm.dtb 48530 bytes read in 16 ms (2.9 MiB/s) U-Boot# setenv bootargs console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootwait U-Boot# bootz 0x82000000 - 0x88000000 Kernel image @ 0x82000000 [ 0x000000 - 0x361838 ] ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8fff1000, end 8ffffd91 ... OK Starting kernel ... ..... [ 2.531957] GPIO line 151 (SelEMMCorNAND) hogged as output/high [ 2.538008] GPIO line 159 (EMMC_RESET) hogged as output/high [ 2.544541] GPIO line 168 (SelLCDorHDMI) hogged as output/high [ 2.581448] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz [ 2.588528] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz [ 2.595063] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22 [ 2.605242] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22 [ 2.615769] usb 1-1: New USB device found, idVendor=0781, idProduct=5567 [ 2.622506] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.630139] hctosys: unable to open rtc device (rtc0) [ 2.638782] vmmcwl_fixed: disabling [ 2.642434] ALSA device list: [ 2.645531] usb 1-1: Product: Cruzer Blade [ 2.649648] usb 1-1: Manufacturer: SanDisk [ 2.653758] usb 1-1: SerialNumber: 4C530202031124109104 [ 2.659024] No soundcards found. [ 2.662960] Waiting for root device /dev/mmcblk0p2... [ 2.669368] usb-storage 1-1:1.0: USB Mass Storage device detected [ 2.676094] scsi host0: usb-storage 1-1:1.0 [ 3.676833] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.27 PQ: 0 ANSI: 6 [ 3.688377] sd 0:0:0:0: [sda] 31266816 512-byte logical blocks: (16.0 GB/14.9 GiB) [ 3.697561] sd 0:0:0:0: [sda] Write Protect is off [ 3.702948] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 3.723834] sda: sda1 sda2 [ 3.730254] sd 0:0:0:0: [sda] Attached SCSI removable disk
I use the same zImage and am437x-gp-evm.dtb when USB host boot and eMMC boot.
In USB host boot, I can see the eMMC driver works and access the eMMC.
But when I load the zImage which stores in eMMC, the eMMC driver doesn't work.
I totally have no idea about this problem.
Could you help me to solve this?
Thank you.
Ivan