usb: dwc2: implement interrupt transfers
authorStephen Warren <swarren@wwwdotorg.org>
Sat, 11 Apr 2015 03:05:22 +0000 (21:05 -0600)
committerMarek Vasut <marex@denx.de>
Tue, 14 Apr 2015 03:47:59 +0000 (05:47 +0200)
commite236519b7365ef75c5da6a5623f0b03d9c00cfae
tree040d7591fcc714ca9e4b09c62ceb60d61da12eb9
parented9bcbc792bdcb8b4443c9aa5dff30ad6f8524c0
usb: dwc2: implement interrupt transfers

As best I can tell, there's no difference between bulk and interrupt
transfers in terms of how the HW should be programmed, at least given
that we're executing one transaction at a time rather than scheduling
them into frames for maximum throughput.

This patch ends up sharing the toggle bit state between bulk and
interrupt transfers on a particular EP. However I believe this is fine;
AFAIK a given EP either uses bulk or interrupt transfers and doesn't mix
them.

This patch doesn't do anything with the "interval" parameter for
interrupt transfers, but then most other USB controller drivers in U-Boot
don't either.

It turns out that one of my keyboards is happy to work using control
transfers but the other only gives non-zero "HID reports" via interrupt
transfers.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
drivers/usb/host/dwc2.c