coreboot-kgpe-d16/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 Add an EHCI driver to libpayload's USB stack. 2010-09-25 17:01:13 +00:00
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 Add support for OHCI controllers and prelimiary support for xHCI (USB3) controllers. 2010-08-13 09:18:58 +00:00
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 Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
TODO Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
uhci.c libpayload: Add timeouts in the UHCI USB driver 2012-06-09 13:13:08 +02:00
uhci.h Avoid using the name "pid_t", which is used on unixoid systems. 2010-06-07 13:58:17 +00:00
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 Fix the USB code to find the headers after they were moved. 2008-09-11 17:29:00 +00:00
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 Add support for OHCI controllers and prelimiary support for xHCI (USB3) controllers. 2010-08-13 09:18:58 +00:00
xhci_private.h Add support for OHCI controllers and prelimiary support for xHCI (USB3) controllers. 2010-08-13 09:18:58 +00:00
xhci_rh.c libpayload: Drop usb_fatal() 2011-11-04 22:11:05 +01:00