[U-Boot] [PATCH] mvebu: usb: Add missing controller reset after initialization

Marek Vasut marex at denx.de
Sun Jan 3 10:35:06 CET 2016


On Sunday, January 03, 2016 at 09:59:23 AM, Wolfgang Denk wrote:
> Dear Phil,
> 
> [added USB custodian to Cc:]

Thanks

> In message <20160102211834.E49A161C74 at mail.nwl.cc> you wrote:
> > In order to allow for Linux properly register the integrated EHCI host,
> > we have to reset it after initialization. Without this, enumeration
> > fails if 'usb start' wasn't issued prior to booting Linux.
> 
> I think this reset should actually be done in the Linux driver.

Correct.

> From what you write I suspect that after a "usb stop" in U-Boot the
> Linux driver maight fail, too.  Leaving USB enabled in U-Boot is
> extremely dangerous - see
> 
> commit 3d71c81a9bb03f866a1e98da96363ef3f46c76b3
> Author: Markus Klotzbücher <mk at denx.de>
> Date:   Thu Jul 10 14:47:09 2008 +0200
> 
>     USB: shutdown USB before booting
> 
>     This patch fixes a potentially serious issue related to USB which was
>     discouvered by Martin Krause <martin.krause at tqs.de> and fixed for
>     ARM920T. Martin wrote:
> 
>       Turn off USB to prevent the host controller from writing to the
>       SDRAM while Linux is booting. This could happen, because the HCCA
>       (Host Controller Communication Area) lies within the SDRAM and the
>       host controller writes continously to this area (as busmaster!), for
>       example to increase the HccaFrameNumber variable, which happens
>       every 1 ms.
> 
>     This is a slightly modified version of the patch in order to shutdown
>     USB when booting on all architectures.
> 
>     Signed-off-by: Markus Klotzbuecher <mk at denx.de>

This reasoning is correct.

Best regards,
Marek Vasut


More information about the U-Boot mailing list