On 23/10/2019 17:20, Sam Protsenko wrote:
+ fixed U-Boot mailing list addressOn Wed, Oct 23, 2019 at 3:13 PM Sam Protsenko <[email protected]> wrote:Hi Tero, This patch was merged in U-Boot/master recently: e8e683d33b0c ("board: ti: am57xx-idk: Configure the CDCE913 clock synthesizer") Unfortunately it leads to a regression in fastboot code on BeagleBoard X15. Basically fastboot stops to work, with a message like this: => fastboot 1 No USB device found USB init failed: -19 I haven't investigated that as I'm busy with Android boot flow patch series at the moment (trying to merge it before merge window closes). Can you please investigate what is the cause and how to fix it? Thanks!
This seems to be caused by usb dwc3 init failing to get clks, if CONFIG_CLK is enabled. We appear to have the attached patch which fixes it in TI internal u-boot tree; it fixes the issue with latest u-boot also.
Should this be picked for upstream also? (CC: Vignesh) -Tero -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
>From ebf3de3b38b4081feff26963cae82c793ea5758d Mon Sep 17 00:00:00 2001 From: Vignesh R <[email protected]> Date: Tue, 19 Feb 2019 19:19:10 +0530 Subject: [PATCH 1/1] dwc3-generic: Don't fail probe if clk/reset entries are absent Some boards don't populate clk/reset entries or clk/reset may not be present for the glue layer, don't fail usb driver probe in such cases. Signed-off-by: Vignesh R <[email protected]> --- drivers/usb/dwc3/dwc3-generic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index 3e6c494dc6..48c72f9784 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -258,7 +258,7 @@ static int dwc3_glue_reset_init(struct udevice *dev, int ret; ret = reset_get_bulk(dev, &glue->resets); - if (ret == -ENOTSUPP) + if (ret == -ENOTSUPP || ret == -ENOENT) return 0; else if (ret) return ret; @@ -278,7 +278,7 @@ static int dwc3_glue_clk_init(struct udevice *dev, int ret; ret = clk_get_bulk(dev, &glue->clks); - if (ret == -ENOSYS) + if (ret == -ENOSYS || ret == -ENOENT) return 0; if (ret) return ret; -- 2.17.1
_______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

