coreboot/payloads/libpayload/drivers/usb
Nico Huber 274c63e367 libpayload: Add support for interrupt transfers in OHCI
This adds support for usb interrupt transfers to the OHCI driver.
Basically this enables support for HID keyboard devices.

For each interrupt transfer endpoint, two queues of transfer
descriptors (TDs) are maintained: the first with initialized TDs
is linked to the periodic schedule of the host controller (HC), the
second holds processed TDs which will be polled by the usb class
driver. The HC moves processed TDs from its schedule to a done queue.
We periodically fetch all TDs from the done queue, to put them on the
queue associated with the endpoint, where they can be polled from.
Fully processed TDs (i.e. which have gone throuch all of this) will be
reinitialized and put on the first queue again.

Change-Id: Iaab72c04087b36c9f0f6e539e31b47060c190015
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1128
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
2012-06-21 11:59:11 +02:00
..
ehci.c libpayload: Add dummy queue heads to EHCI interrupt frame list 2012-06-21 11:53:25 +02:00
ehci.h
ehci_private.h libpayload: Add dummy queue heads to EHCI interrupt frame list 2012-06-21 11:53:25 +02:00
ehci_rh.c libpayload: Add timeouts in the EHCI USB driver 2012-06-08 00:01:25 +02:00
ohci.c libpayload: Add support for interrupt transfers in OHCI 2012-06-21 11:59:11 +02:00
ohci.h
ohci_private.h libpayload: Add support for interrupt transfers in OHCI 2012-06-21 11:59:11 +02:00
ohci_rh.c libpayload: Add timeouts in the OHCI USB driver 2012-06-07 23:49:02 +02:00
quirks.c
TODO
uhci.c libpayload: Add timeouts in the UHCI USB driver 2012-06-09 13:13:08 +02:00
uhci.h
uhci_private.h libpayload: Remove bitfield use from UHCI data structures 2012-01-10 00:02:54 +01:00
uhci_rh.c libpayload: Add timeouts in the UHCI USB driver 2012-06-09 13:13:08 +02:00
usb.c libpayload: Detach unresponsive usb mass storage devices 2012-06-21 11:54:23 +02:00
usb_dev.c
usbhid.c libpayload: Free intr queue structure in usb_hid_destroy 2012-06-07 23:15:28 +02:00
usbhub.c libpayload: Bring USB hub driver to a working state 2012-06-07 23:12:44 +02:00
usbinit.c libpayload: Implement usb_exit 2011-11-04 22:14:29 +01:00
usbmsc.c libpayload: Detach unresponsive usb mass storage devices 2012-06-21 11:54:23 +02:00
xhci.c libpayload: Drop usb_fatal() 2011-11-04 22:11:05 +01:00
xhci.h
xhci_private.h
xhci_rh.c libpayload: Drop usb_fatal() 2011-11-04 22:11:05 +01:00