12 #define PCI_XHCI_CLASSCODE 0x0c0330
53 if (cache.dev != dev) {
55 cache.counts.super_speed = 0;
64 return path->
port_id < cache.counts.super_speed;
66 return path->
port_id < cache.counts.high_speed;
90 const struct device *xhci_dev;
114 die(
"%s: xHCI controller not found for %s\n", __func__,
dev_path(dev));
151 unsigned int *dev_num;
166 for (
unsigned int i = 0; i < data->
port_count; ++i) {
266 static const struct pci_driver xhci_pci_driver
__pci_driver = {
int acpi_device_status(const struct device *dev)
const char * acpi_device_name(const struct device *dev)
const char * acpi_device_scope(const struct device *dev)
void acpigen_write_PRW(u32 wake, u32 level)
void acpigen_pop_len(void)
void acpigen_write_name_byte(const char *name, uint8_t val)
void acpigen_write_scope(const char *name)
void acpigen_write_name_integer(const char *name, uint64_t val)
void acpigen_write_STA(uint8_t status)
void acpigen_write_device(const char *name)
void acpigen_write_name_string(const char *name, const char *string)
void acpigen_write_ADR_pci_device(const struct device *dev)
static const u32 pattern[8]
cb_err
coreboot error codes
@ CB_SUCCESS
Call completed successfully.
#define printk(level,...)
void __noreturn die(const char *fmt,...)
void xhci_print_supported_protocol(const struct xhci_supported_protocol *supported_protocol)
enum cb_err xhci_for_each_supported_usb_cap(const struct device *device, void *context, void(*callback)(void *context, const struct xhci_supported_protocol *data))
Helper method that iterates over only the USB supported capabilities structures in the xHCI Extended ...
const char * dev_path(const struct device *dev)
@ ACPI_DEVICE_SLEEP_D3_COLD
#define ACPI_NAME_BUFFER_SIZE
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
void * malloc(size_t size)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define BIOS_WARNING
BIOS_WARNING - Bad configuration.
#define PCI_CLASS_REVISION
void pci_dev_init(struct device *dev)
Default handler: only runs the relevant PCI BIOS.
void pci_dev_enable_resources(struct device *dev)
void pci_dev_read_resources(struct device *dev)
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
void pci_dev_set_resources(struct device *dev)
#define PCI_DID_AMD_FAM17H_MODELA0H_XHCI2
#define PCI_DID_AMD_FAM17H_MODELA0H_XHCI0
#define PCI_DID_AMD_FAM17H_MODELA0H_XHCI1
#define PCI_DID_AMD_FAM17H_MODEL20H_XHCI0
#define PCI_DID_AMD_FAM17H_MODEL60H_XHCI
#define PCI_DID_AMD_FAM17H_MODEL18H_XHCI0
#define PCI_DID_AMD_FAM17H_MODEL18H_XHCI1
static const char * xhci_acpi_name(const struct device *dev)
static bool xhci_port_exists(const struct device *dev, const struct usb_path *path)
static const struct device * get_xhci_dev(const struct device *dev)
static void xhci_fill_ssdt(const struct device *dev)
static unsigned int controller_count
static void xhci_enable(struct device *dev)
static const struct pci_driver xhci_pci_driver __pci_driver
static void xhci_add_devices(const struct device *dev)
static void xhci_generate_port_acpi(void *context, const struct xhci_supported_protocol *data)
static const struct device_operations xhci_pci_ops
static const unsigned short amd_pci_device_ids[]
static void xhci_count_ports(void *context, const struct xhci_supported_protocol *data)
__weak enum cb_err pci_xhci_get_wake_gpe(const struct device *dev, int *gpe)
#define PCI_XHCI_CLASSCODE
void scan_static_bus(struct device *bus)
const struct smm_save_state_ops *legacy_ops __weak
DEVTREE_CONST struct device * dev
void(* read_resources)(struct device *dev)
enum device_path_type type
struct device_operations * ops
DEVTREE_CONST struct bus * bus
int snprintf(char *buf, size_t size, const char *fmt,...)
Note: This file is only for POSIX compatibility, and is meant to be chain-included via string....