coreboot-kgpe-d16/payloads/libpayload/drivers/usb
Patrick Georgi 482af6d15c libpayload: Redirect USB slave init through controller driver
xHCI requires special treatment of set_address since it determines
the device number itself (instead of the driver, as with the other
controllers). The controller also wants to validate a chosen device
configuration and we need to setup additional structures for the
device and the endpoints.

Therefore, we add three functions to the hci_t structure, namely:
  set_address()
  finish_device_config()
  destroy_device()
Current implementation for the Set Address request moved into
generic_set_address() which is set_address() for the UHCI, OCHI and
EHCI drivers. The latter two are only provided as hooks for the xHCI
driver.

The Set Configuration request is moved after endpoint enumeration.
For all other controller drivers nothing changes, as there is no other
device communication between the lines where the set_configuration()
call moved.

Change-Id: I6127627b9367ef573aa1a1525782bc1304ea350d
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/3447
Tested-by: build bot (Jenkins)
Reviewed-by: Anton Kochkov <anton.kochkov@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2013-06-13 22:16:27 +02:00
..
ehci.c libpayload: Redirect USB slave init through controller driver 2013-06-13 22:16:27 +02:00
ehci.h Add an EHCI driver to libpayload's USB stack. 2010-09-25 17:01:13 +00:00
ehci_private.h [PATCH] libpayload: Implement EHCI reset function 2012-11-09 20:10:05 +01:00
ehci_rh.c libpayload: Use usb_debug() to show USB messages 2012-12-18 19:59:22 +01:00
ohci.c libpayload: Redirect USB slave init through controller driver 2013-06-13 22:16:27 +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: Rework connection state detection for OHCI 2012-11-24 08:46:34 +01:00
quirks.c libpayload: Turn the "debug" #define into the usb_debug static inline function. 2012-11-07 18:38:37 +01: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: Redirect USB slave init through controller driver 2013-06-13 22:16:27 +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: Turn the "debug" #define into the usb_debug static inline function. 2012-11-07 18:38:37 +01:00
usb.c libpayload: Redirect USB slave init through controller driver 2013-06-13 22:16:27 +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: Make keycode constants available outside of curses.h. 2013-03-18 20:45:48 +01:00
usbhub.c libpayload: Detach devices behind removed USB hubs 2012-11-23 18:18:31 +01:00
usbinit.c libpayload: Handle multifunction bridge devices better. 2013-04-08 20:27:46 +02:00
usbmsc.c libpayload: In the USBMSC read_capacity function, make buf an array of u32. 2013-03-12 23:56:16 +01:00
xhci.c libpayload: Use usb_debug() to show USB messages 2012-12-18 19:59:22 +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: Turn the "debug" #define into the usb_debug static inline function. 2012-11-07 18:38:37 +01:00