[U-Boot] rk3188/rock_defconfig sdmmc failures
Heiko Stübner
heiko at sntech.de
Tue Sep 5 23:13:32 UTC 2017
Hi Artturi,
Am Mittwoch, 6. September 2017, 01:50:38 CEST schrieb Artturi Alm:
> 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" },
> { }
> };
The rk3188 SPL is using OF_PLATDATA which transforms the devicetree entry
into a struct during compilation to save space in the image.
Relevant to this would be the U_BOOT_DRIVER below that compatibles, which
currently binds to the rockchip_rk3288_dw_mshc transformed compatible.
Adding a second U_BOOT_DRIVER entry there might help for the probing,
but seeing that the dw-mmc in the Linux kernel behaves differently for
rk3188 and rk3288 onwards, I'm not sure if it would work out of the box.
[...]
> 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.
For usb you might want to make sure the usb host regulator is enabled
I have the below commands in my netboot uboot for the rock and it is
working quite reliable and so far I haven't seen usb-related issues there.
regulator dev host-pwr;
regulator enable;
usb start;
Hope that helps a bit
Heiko
More information about the U-Boot
mailing list