From 1a31b103c7a86a0cee958116083a896f0ac5e45e Mon Sep 17 00:00:00 2001 From: Raul E Rangel Date: Fri, 29 May 2020 17:18:12 -0600 Subject: drivers/usb/pci_xhci: Add a driver to generate xHCI ACPI nodes We can use xhci_for_each_ext_cap to inspect the xHC so we generate the correct number of device nodes. Scope (\_SB.PCI0.PBRA) { Device (XHC1) { Name (_ADR, 0x0000000000000004) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x1F, 0x03 }) Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (HS01) { Name (_ADR, 0x01) // _ADR: Address } Device (HS02) { Name (_ADR, 0x02) // _ADR: Address } Device (SS01) { Name (_ADR, 0x03) // _ADR: Address } } Name (_S0W, Zero) // _S0W: S0 Device Wake State Name (_S3W, 0x04) // _S3W: S3 Device Wake State Name (_S4W, 0x04) // _S4W: S4 Device Wake State } } BUG=b:154756391 TEST=Boot trembyle and look at ACPI table. See all xHCI nodes. Signed-off-by: Raul E Rangel Change-Id: I44ebaef342e45923bc181ceebef882358d33f0d1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/41900 Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) --- src/drivers/usb/pci_xhci/pci_xhci.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/drivers/usb/pci_xhci/pci_xhci.h (limited to 'src/drivers/usb/pci_xhci/pci_xhci.h') diff --git a/src/drivers/usb/pci_xhci/pci_xhci.h b/src/drivers/usb/pci_xhci/pci_xhci.h new file mode 100644 index 0000000000..a923351ac2 --- /dev/null +++ b/src/drivers/usb/pci_xhci/pci_xhci.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef __DRIVERS_USB_PCI_XHCI__ +#define __DRIVERS_USB_PCI_XHCI__ + +#include +#include + +/* + * Returns the wake GPE for the Extensible Host Controller. + * Set gpe to -1 if there is no GPE is available. + */ +enum cb_err pci_xhci_get_wake_gpe(const struct device *dev, int *gpe); + +#endif /* __DRIVERS_USB_PCI_XHCI__ */ -- cgit v1.2.3