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

Alexandr Bochkarev aneox.inbox at gmail.com
Thu Nov 3 20:57:25 CET 2016


I have put external pullups on marsboard, boot from sd. Linux kernel init emmc fine, 4-bit width bus, so board works well

Hit any key to stop autoboot:  2 ... 0 
=> mmc list
SUNXI SD/MMC: 0 (SD)
SUNXI SD/MMC: 1
=> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
=> mmc part

Partition Map for MMC device 0  --   Partition Type: DOS

Part.Start Sector.Num Sectors.UUID..Type
  1.2048      .12288     .da1dcf13-01.83
  2.14336     .204800    .da1dcf13-02.83
  3.219136    .204800    .da1dcf13-03.83
  4.423936    .409600    .da1dcf13-04.05 Extd
  5.425984    .204800    .da1dcf13-05.83
  6.632832    .200704    .da1dcf13-06.83

=> mmc dev 1
switch to partitions #0, OK
mmc1(part 0) is current device
=> mmc part
## Unknown partition table type 0


When i try to boot from emmc still has error

U-Boot SPL 2016.11-rc1-g4dc34be (Nov 03 2016 - 17:22:10)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC2
mmc_load_image_raw_sector: mmc block read error
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

emmc burned with same image as sd card, with mbr. rootfs, etc..
linux booted from sd card, well works with emmc partitions

> 3 нояб. 2016 г., в 16:10, Alexandr Bochkarev <aneox.inbox at gmail.com> написал(а):
> 
> 
> Some summary
> 
> Marsboard by default has nand flash chip on sdc2 lines, but under nand chip, there is emmc bga pads also. 
> So i have desoldered nand, and put emmc chip on it. Maybe there is no required pull ups on data lines to work on 4-bit widh, 
> and when i boot kernel from sdc0 sd card, kernel init sdc2 emmc only in 1-bit mode. but it works well, i can read can and write, get mbr, etc..
> I build u-boot with mmc extra slot config and burn it on emmc, and when i try to boot without sd, directly from emmc, got same errors as on by board.
> When i boot to u-boot, it shows mmc1 mmc2, and mmc info works on both. But it cant read data and even mmc part not working.
> 
> 
> My board has only sdc0 lines routed from soc. If solder emmc on it, not works, if sd card via wires, all ok, 4-bit width.
> 
> 
> 
> U-boot output on marsboard
> 
> => mmc list
> SUNXI SD/MMC: 0 (SD)
> SUNXI SD/MMC: 1
> 
> => mmc info
> Device: SUNXI SD/MMC
> Manufacturer ID: 2
> OEM: 544d
> Name: SA04G 
> Tran Speed: 50000000
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 3.6 GiB
> Bus Width: 4-bit
> Erase Group Size: 512 Bytes
> 
> => mmc part
> 
> Partition Map for MMC device 0  --   Partition Type: DOS
> 
> Part.Start Sector.Num Sectors.UUID..Type
> 1.2048      .12288     .da1dcf13-01.83
> 2.14336     .204800    .da1dcf13-02.83
> 3.219136    .204800    .da1dcf13-03.83
> 4.423936    .409600    .da1dcf13-04.05 Extd
> 5.425984    .204800    .da1dcf13-05.83
> 6.632832    .200704    .da1dcf13-06.83
> 
> => mmc dev 1
> CMD_SEND:0
> ..ARG... 0x00000000
> ..MMC_RSP_NONE
> CMD_SEND:8
> ..ARG... 0x000001AA
> ..RET... -110
> CMD_SEND:55
> ..ARG... 0x00000000
> ..RET... -110
> CMD_SEND:0
> ..ARG... 0x00000000
> ..MMC_RSP_NONE
> CMD_SEND:1
> ..ARG... 0x00000000
> ..MMC_RSP_R3,4.. 0x00FF8080 
> CMD_SEND:1
> ..ARG... 0x40300000
> ..MMC_RSP_R3,4.. 0x00FF8080 
> CMD_SEND:0
> ..ARG... 0x00000000
> ..MMC_RSP_NONE
> CMD_SEND:1
> ..ARG... 0x40300000
> ..MMC_RSP_R3,4.. 0x00FF8080 
> CMD_SEND:1
> ..ARG... 0x40300000
> ..MMC_RSP_R3,4.. 0xC0FF8080 
> CMD_SEND:2
> ..ARG... 0x00000000
> ..MMC_RSP_R2.. 0x1501004D 
> ..          .. 0x34473146 
> ..          .. 0x42030B01 
> ..          .. 0x7585C009 
> 
> .....DUMPING DATA
> .....000 - 15 01 00 4D 
> .....004 - 34 47 31 46 
> .....008 - 42 03 0B 01 
> .....012 - 75 85 C0 09 
> CMD_SEND:3
> ..ARG... 0x00010000
> ..MMC_RSP_R1,5,6,7 . 0x00000500 
> CMD_SEND:9
> ..ARG... 0x00010000
> ..MMC_RSP_R2.. 0xD0270132 
> ..          .. 0x0F5903FF 
> ..          .. 0xF6DBFFE7 
> ..          .. 0x8A404057 
> 
> .....DUMPING DATA
> .....000 - D0 27 01 32 
> .....004 - 0F 59 03 FF 
> .....008 - F6 DB FF E7 
> .....012 - 8A 40 40 57 
> CMD_SEND:13
> ..ARG... 0x00010000
> ..MMC_RSP_R1,5,6,7 . 0x00000700 
> CURR STATE:3
> CMD_SEND:7
> ..ARG... 0x00010000
> ..MMC_RSP_R1,5,6,7 . 0x00000700 
> CMD_SEND:8
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CMD_SEND:8
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CMD_SEND:6
> ..ARG... 0x03B90100
> ..MMC_RSP_R1b.. 0x00000900 
> CMD_SEND:13
> ..ARG... 0x00010000
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CURR STATE:4
> CMD_SEND:8
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CMD_SEND:6
> ..ARG... 0x03B70100
> ..RET... -110
> CMD_SEND:16
> ..ARG... 0x00000200
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CMD_SEND:17
> ..ARG... 0x00000000
> ..RET... -110
> mmc_bread: Failed to read blocks
> CMD_SEND:16
> ..ARG... 0x00000200
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CMD_SEND:17
> ..ARG... 0x00000000
> ..RET... -110
> mmc_bread: Failed to read blocks
> CMD_SEND:16
> ..ARG... 0x00000200
> ..MMC_RSP_R1,5,6,7 . 0x00000900 
> CMD_SEND:18
> ..ARG... 0x00000040
> ..RET... -110
> mmc_bread: Failed to read blocks
> switch to partitions #0, OK
> mmc1(part 0) is current device
> 
> 
> => mmc info
> Device: SUNXI SD/MMC
> Manufacturer ID: 15
> OEM: 100
> Name: M4G1F 
> Tran Speed: 52000000
> Rd Block Len: 512
> MMC version 4.4.1
> High Capacity: Yes
> Capacity: 3.6 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 KiB
> HC WP Group Size: 4 MiB
> User Capacity: 3.6 GiB WRREL
> Boot Capacity: 1 MiB ENH
> RPMB Capacity: 128 KiB ENH
> 
> => mmc part
> ## Unknown partition table type 0
> 
> 
> 
> 
> U-boot boot log from my board with emmc
> 
> Trying to boot from MMC1
> CMD_SEND:0
> ..ARG... 0x00000000
> ..MMC_RSP_NONE
> CMD_SEND:8
> ..ARG... 0x00000000
> ..RET... -110
> CMD_SEND:55
> ..ARG... 0x00000000
> ..RET... -110
> CMD_SEND:0
> ..ARG... 0x00000000
> ..MMC_RSP_NONE
> CMD_SEND:1
> ..ARG... 0x00000000
> ..MMC_RSP_R3,4.. 0x00000000 
> CMD_SEND:1
> ..ARG... 0x00000000
> ..MMC_RSP_R3,4.. 0x00000000 
> CMD_SEND:0
> ..ARG... 0x00000000
> ..MMC_RSP_NONE
> CMD_SEND:1
> ..ARG... 0x00000000
> ..MMC_RSP_R3,4.. 0x00000000 
> CMD_SEND:1
> ..ARG... 0x00000000
> ..MMC_RSP_R3,4.. 0x00000000 
> CMD_SEND:2
> ..ARG... 0x00000000
> ..MMC_RSP_R2.. 0x00000000 
> ..          .. 0x00000000 
> ..          .. 0x00000000 
> ..          .. 0x00000000 
> 
> .....DUMPING DATA
> .....000 - 00 00 00 00 
> .....004 - 00 00 00 00 
> .....008 - 00 00 00 00 
> .....012 - 00 00 00 00 
> CMD_SEND:3
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CMD_SEND:9
> ..ARG... 0x00000000
> ..MMC_RSP_R2.. 0x00000000 
> ..          .. 0x00000000 
> ..          .. 0x00000000 
> ..          .. 0x00000000 
> 
> .....DUMPING DATA
> .....000 - 00 00 00 00 
> .....004 - 00 00 00 00 
> .....008 - 00 00 00 00 
> .....012 - 00 00 00 00 
> CMD_SEND:13
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CURR STATE:3
> CMD_SEND:7
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CMD_SEND:8
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CMD_SEND:8
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CMD_SEND:6
> ..ARG... 0x00000000
> ..MMC_RSP_R1b.. 0x00000000 
> CMD_SEND:13
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CURR STATE:4
> CMD_SEND:8
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CMD_SEND:6
> ..ARG... 0x00000000
> ..RET... -110
> CMD_SEND:16
> ..ARG... 0x00000000
> ..MMC_RSP_R1,5,6,7 . 0x00000000 
> CMD_SEND:17
> ..ARG... 0x00000000
> ..RET... -110
> 
> mmc_load_image_raw_sector: mmc block read error
> SPL: failed to boot from all boot devices
> ### ERROR ### Please RESET the board ###
> 



More information about the U-Boot mailing list