[U-Boot] [bug report] sunxi: booting from eMMC

Alexandr Bochkarev aneox.inbox at gmail.com
Thu Oct 13 10:18:31 CEST 2016


So, this debug output.

U-Boot SPL 2016.11-rc1-g4dc34be-dirty (Oct 13 2016 - 14:04:10)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC2
init mmc 0 resource
init mmc 0 clock and io
mmc 0 set mod-clk req 24000000 parent 24000000 n 1 m 1 rate 24000000
init mmc 2 resource
init mmc 2 clock and io
mmc 2 set mod-clk req 24000000 parent 24000000 n 1 m 1 rate 24000000
set ios: bus_width: 1, clock: 0
set ios: bus_width: 1, clock: 400000
mmc 2 set mod-clk req 400000 parent 24000000 n 4 m 15 rate 400000
mmc 2, cmd 0(0x80008000), arg 0x00000000
mmc resp 0x00000000
mmc 2, cmd 8(0x80000148), arg 0x000001aa
cmd timeout 100
mmc 2, cmd 55(0x80000177), arg 0x00000000
cmd timeout 100
mmc 2, cmd 0(0x80008000), arg 0x00000000
mmc resp 0x00000000
mmc 2, cmd 1(0x80000041), arg 0x00000000
mmc resp 0x40ff8080
mmc 2, cmd 1(0x80000041), arg 0x40300000
mmc resp 0x40ff8080
mmc 2, cmd 0(0x80008000), arg 0x00000000
mmc resp 0x40ff8080
mmc 2, cmd 1(0x80000041), arg 0x40300000
mmc resp 0x40ff8080
mmc 2, cmd 1(0x80000041), arg 0x40300000
mmc resp 0xc0ff8080
mmc 2, cmd 2(0x800001c2), arg 0x00000000
mmc resp 0x7585c009 0x42030b01 0x34473146 0x1501004d
mmc 2, cmd 3(0x80000143), arg 0x00010000
mmc resp 0x00000500
mmc 2, cmd 9(0x800001c9), arg 0x00010000
mmc resp 0x8a404057 0xf6dbffe7 0x0f5903ff 0xd0270132
mmc 2, cmd 13(0x8000014d), arg 0x00010000
mmc resp 0x00000700
mmc 2, cmd 7(0x80000147), arg 0x00010000
mmc resp 0x00000700
mmc 2, cmd 8(0x80002348), arg 0x00000000
trans data 512 bytes
cacl timeout 78 msec
mmc resp 0x00000900
mmc 2, cmd 8(0x80002348), arg 0x00000000
trans data 512 bytes
cacl timeout 78 msec
mmc resp 0x00000900
mmc cmd 6 check rsp busy
mmc 2, cmd 6(0x80000146), arg 0x03b90100
mmc resp 0x00000900
mmc 2, cmd 13(0x8000014d), arg 0x00010000
mmc resp 0x00000900
mmc 2, cmd 8(0x80002348), arg 0x00000000
trans data 512 bytes
cacl timeout 78 msec
mmc resp 0x00000900
mmc cmd 6 check rsp busy
mmc 2, cmd 6(0x80000146), arg 0x03b70200
cmd timeout 42
mmc cmd 6 check rsp busy
mmc 2, cmd 6(0x80000146), arg 0x03b70100
cmd timeout 42
set ios: bus_width: 1, clock: 52000000
mmc 2 set mod-clk req 52000000 parent 600000000 n 1 m 12 rate 50000000
mmc 2, cmd 16(0x80000150), arg 0x00000200
mmc resp 0x00000900
mmc 2, cmd 17(0x80002351), arg 0x00000050
trans data 512 bytes
cmd timeout 80
mmc_bread: Failed to read blocks
mmc_load_image_raw_sector: mmc block read error
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

 Seems u-boot tries bus_width: 1, clock: 52000000, like linux kernel, but fails.

> When i bring up the eMMC/SD/SDIO..I did to check the below sequence.
> 
> 1. Power is supplied correctly.
> 2. Clock is enabled correctly
> 3. GPIO pin is set to correct value. (Function, GPIO value..)
> 4. Which buswidth/busmode is supported..and it's correctly changed.

1. power supply is 3.3v on vcc and vccio
2 & 4. datasheet on eemc says

 Data bus width : 1bit (Default) , 4bit and 8bit
 MMC I/F Clock Frequency : 0 ~ 52MHz 
 MMC I/F Boot Frequency : 0 ~ 52MHz

 3. GPIO seems are correct, because then i solder sd card via wires on emmc pads, its boots correct



More information about the U-Boot mailing list