[RFC][USB] powerpc: Workaround for the PPC440EPX USBH_23 errrata

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Aug 19 12:03:42 EST 2008


 .../...

> There is a software workaround that uses a trick to detect if full-speed interface 
> is enabled from the hi-speed driver(and vice versa), and use suspend control for ohci
> to enable/disable it appropriately.
>  
> Initial version of the software workaround was posted to linux-usb-devel:
> 
> http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg54019.html
> 
> and later were made available from amcc.com:
> http://www.amcc.com/Embedded/Downloads/download.html?cat=1&family=15&ins=2
> 
> The patch below is generally based on the latter, but reworked to
> powerpc/of_device USB drivers, and uses a few devicetree inquiries to get
> rid of (some) hardcoded defines.

Well, it seems to still call things based on #ifdef CONFIG_* instead
of testing for whatever "errata" bit or flag you can initialize.

A proper approach is to have the OF probe code detect via some
device-tree compatible testing or such, that it's indeed hitting the
broken chip, use that to set a quirk in the controller, and then
have the core ehci-hub.c code do whatever it has to do based on
the presence of that quirk.

Ben.





More information about the Linuxppc-dev mailing list