[U-Boot] rk3188/rock_defconfig sdmmc failures

Artturi Alm artturi.alm at gmail.com
Tue Sep 5 22:50:38 UTC 2017


Hi,

i'd like to get U-Boot working on rockchip/rk3188(rock_defconfig).
current as-is:

U-Boot SPL 2017.09-rc4-00009-ga0e80c9 (Sep 05 2017 - 23:47:57)
Returning to boot ROM...


U-Boot 2017.09-rc4-00009-ga0e80c9 (Sep 05 2017 - 23:47:57 +0300)

Model: Radxa Rock
DRAM:  2 GiB
MMC:   
MMC Device 0 not found
*** Warning - No MMC card found, using default environment

In:    serial at 20064000
Out:   serial at 20064000
Err:   serial at 20064000
Model: Radxa Rock
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0 
No MMC device available
No MMC device available
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rockchip
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
=> mmc rescan
No MMC device available
=> usb
Unknown command 'usb' - try 'help'
=> 

So, being optimistic, i added compatible found from arch/arm/dts/rk3xxx.dtsi,
included by rk3188:

diff --git a/drivers/mmc/rockchip_dw_mmc.c b/drivers/mmc/rockchip_dw_mmc.c
index e7fcf89..a879fcd 100644
--- a/drivers/mmc/rockchip_dw_mmc.c
+++ b/drivers/mmc/rockchip_dw_mmc.c
@@ -160,6 +160,7 @@ static int rockchip_dwmmc_bind(struct udevice *dev)
 
 static const struct udevice_id rockchip_dwmmc_ids[] = {
        { .compatible = "rockchip,rk3288-dw-mshc" },
+       { .compatible = "rockchip,rk2928-dw-mshc" },
        { }
 };
 

And it built w/no errors, but apparently dwmmc probe does fail w/-22:

U-Boot SPL 2017.09-rc4-00010-g1d12cc7 (Sep 06 2017 - 00:47:27)
Returning to boot ROM...


U-Boot 2017.09-rc4-00010-g1d12cc7 (Sep 06 2017 - 00:47:27 +0300)

Model: Radxa Rock
DRAM:  2 GiB
MMC:   dwmmc at 10214000 - probe failed: -22

*** Warning - No MMC card found, using default environment

In:    serial at 20064000
Out:   serial at 20064000
Err:   serial at 20064000
Model: Radxa Rock
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0 
no mmc device at slot 0
MMC Device 1 not found
no mmc device at slot 1
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rockchip
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
=> mmc rescan
no mmc device at slot 0
=> mmc list

=> 


now i've "successfully" enabled usb, but it took like +30tries
w/"usb reset" until the host ports succesfully found my usb mass storage,
and sometimes it leaves the dwc2 otg controller in a state where
"usb tree" will fault while printing out, and reset the board, so i'd
rather have sdmmc working for now instead, as it is enabled already in
the default config for the board.

Anyone w/clues about what's broken/missing? or patches for me to try?

-Artturi


More information about the U-Boot mailing list