Message ID | 20170905225038.GA89171@gmail.com |
---|---|
State | Not Applicable |
Delegated to: | Philipp Tomsich |
Headers | show |
Series | [U-Boot] rk3188/rock_defconfig sdmmc failures | expand |
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
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" }, { } };