coreboot-kgpe-d16/payloads/libpayload/drivers/usb
Rajmohan Mani 1528ffa57c libpayload: xhci: Add delay to get reset working more reliably
Existing Intel xHCI controllers require a delay of 1 ms,
after setting the CMD_RESET bit in command register, before
accessing any HC registers. This allows the HC to complete
the reset operation and be ready for HC register access.
Without this delay, the subsequent HC register access,
may result in a system hang, very rarely.

Verified CherryView / Braswell platforms go through over
1000 warm reboot cycles (which was not possible without
this patch), without any xHCI reset hang in depthcharge.

BRANCH=None
BUG=None
TEST=Verified CherryView / Braswell platforms go through
over 1000 warm reboot cycles, without any xHCI reset hang
in depthcharge.

Change-Id: I8eff5115ca52738bdcf8bc65fbfb2a5f60a0abe1
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 3e7ea70df36e3bf35a6ee1297640900ee76bfdac
Original-Change-Id: Id681a19d0eedb0e2c29e259c5467bcde577e3460
Original-Signed-off-by: Rajmohan Mani <rajmohan.mani@intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/310022
Original-Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/12325
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>
2015-11-05 17:40:30 +01:00
..
TODO Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
dwc2.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
dwc2.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
dwc2_private.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
dwc2_rh.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
ehci.c libpayload: usb: dwc2: support split transaction 2015-07-16 22:39:59 +02:00
ehci.h libpayload: Use unsigned long for BARs in *hci_init() 2014-07-10 20:55:41 +02:00
ehci_private.h libpayload: EHCI: Support root-hub TT feature 2015-03-23 17:57:40 +01:00
ehci_rh.c libpayload: EHCI: Support root-hub TT feature 2015-03-23 17:57:40 +01:00
generic_hub.c libpayload: usb: Remove generic roothub reset port function 2014-10-02 17:28:47 +02:00
generic_hub.h libpayload: usb: Remove generic roothub reset port function 2014-10-02 17:28:47 +02:00
ohci.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
ohci.h libpayload: Use unsigned long for BARs in *hci_init() 2014-07-10 20:55:41 +02:00
ohci_private.h libpayload: usb: Make OHCI work with ARM systems 2014-10-22 23:53:54 +02:00
ohci_rh.c libpayload: usb: Fix up usb_shutdown() code paths 2014-11-13 06:22:45 +01:00
quirks.c Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
uhci.c libpayload: usb: Remove automatic clear_stall() calls from transfers 2014-11-13 06:22:58 +01:00
uhci.h libpayload: Add USB support for non-PCI controllers 2013-11-25 23:31:52 +01:00
uhci_private.h libpayload: Remove bitfield use from UHCI data structures 2012-01-10 00:02:54 +01:00
uhci_rh.c libpayload: Improve sanity checking in UHCI driver 2015-02-23 21:59:25 +01:00
usb.c libpayload: usb: Retry get_descriptor() on failure 2015-10-27 15:00:16 +01:00
usb_dev.c
usbhid.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
usbhub.c libpayload: usb: Add support for SuperSpeed hubs 2015-07-18 09:40:48 +02:00
usbinit.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
usbmsc.c libpayload: usbmsc: Add small delay during initialization to fix CZ60 2015-10-29 21:06:45 +01:00
xhci.c libpayload: xhci: Add delay to get reset working more reliably 2015-11-05 17:40:30 +01:00
xhci.h libpayload: Use unsigned long for BARs in *hci_init() 2014-07-10 20:55:41 +02:00
xhci_commands.c libpayload: usb: Support MTK xHCI host controller 2015-06-03 11:11:59 +02:00
xhci_debug.c libpayload: usb: Add support for SuperSpeed hubs 2015-07-18 09:40:48 +02:00
xhci_devconf.c libpayload: usb: Add support for SuperSpeed hubs 2015-07-18 09:40:48 +02:00
xhci_events.c libpayload: xhci: Carry over fixes from Chromium tree 2015-08-14 15:14:09 +02:00
xhci_private.h libpayload: usb: xhci: Count new Max Scratchpad Bufs bits from XHCI 1.1 2015-08-14 15:17:30 +02:00
xhci_rh.c libpayload: usb: xhci: Fix list of cleared port change bits 2015-08-14 15:18:16 +02:00