Subject: Re: [RFC][USB] powerpc: Workaround for the PPC440EPX USBH_23 errata

From: Matthias Fuchs <[email-masked]>
Date: Fri, 29 Aug 2008 19:56:02 +0200

Hi,

please see my comment below. It might be helpful for some of you.

On Thursday 28 August 2008 23:11:51 Steven A. Falco wrote:
> Alan Stern wrote:
> > Your original post mentioned that the 440EPx has only one USB 2.0 host
> > port.  Then how can you use a keyboard and memory stick at the same
> > time?  You'd have to plug them into a hub -- in which case only one
> > controller would be needed, the one driving the hub.  The patch would
> > be unnecessary.
>
> I have one of these processors on a Sequoia board.  What happens is that
> if you build the kernel with both EHCI and OHCI support, then plug in
> a modern USB memory stick, it initially tries EHCI, the driver fails, and
> the whole thing falls back to OHCI.  So you wind up running at 12 Mbps.
> The only way to make high speed work is to turn off the OHCI driver, and
> then you cannot support slow devices with that kernel.
There is a simple trick to get all types (full, low ang high speed) of  
devices work: use a USB hub with transaction translators. We are doing so on 
a custom design based on the 440EPx. So we only build the kernel with EHCI 
support and there was no need for this ugly hack.
>
> So, hile you cannot plug two devices in at one time, you can plug in
> different speed devices at different times, and my understanding is that
> this patch will let that work seamlessly.
That's true.

Matthias