On 23/10/2019 17:20, Sam Protsenko wrote:
+ fixed U-Boot mailing list address

On Wed, Oct 23, 2019 at 3:13 PM Sam Protsenko
<semen.protse...@linaro.org> 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 <vigne...@ti.com>
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 <vigne...@ti.com>
---
 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
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to