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

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 ###

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@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 ###
participants (1)
-
Alexandr Bochkarev