[U-Boot] DWC2 driver issues

Marek Vasut
2015-03-02T11:38:53Z

On Friday, February 20, 2015 at 04:22:58 AM, Stephen Warren wrote:

Hi!

[...]

> >> Existing code that invokes USB transfers will call (a) once. (a) will
> >> call (b) as many times as needed to break up the packet into small
> >> chunks. (b) will either send the transaction to the HW (HS devices or
> >> directly attached LS/FS devices), or perform the split transaction
> >> handling (remotely attached LS/FS devices).
> >>
> >> Does that sound like a reasonable approach?
> >>
> >> I can start looking into getting split transactions going; I just
> >> couldn't motivate myself last Friday night.
> >
> > Do you plan to do this on the USB stack level or USB controller driver
> > level please ?
>
> I expect I'd put at least the split transaction stuff into the USB
> controller driver. While I'm not that familiar with anything other than
> standard EHCI, I'd guess the need to manually manage split transaction
> was unique to DWC2?

Looks that way. +CC Kishon , what about DWC3 ?

> The split of transfers into max-packet-sized transfers could plausibly
> be useful in the core, but again my guess is that the need to do this is
> DWC2-specific?

Kishon ?

> >> 3)
> >>
> >> On the RPI 2, even directly attached HS devices (i.e. the on-board USB
> >> hub, Ethernet) don't work correctly. I haven't tracked down the cause
> >> yet, since I got side-tracked on the two issues above, initially
> >> thinking they might have the same/similar root-cause. However, I don't
> >> think this issue is related, since the RPi2 on-board devices don't fall
> >> into either of the categories above.
> >
> > Do you get some kind of an error message ?
>
> Yes. It's similar to the message about "can't read descriptor" that I
> used to get with a LS device on the original RPis, which is why I
> started looking at keyboards. Your patch to split up large transactions
> didn't affect this, so I believe they're separate issues now.

OK …