soc/intel: Use chipset.cb for XHCI device ops linking

Move XHCI device operations linking from PCI Device ID matching
to chipset.cb files for all Intel SoCs that have them, matching the
approach used by Skylake.

Remove corresponding DIDs from xhci.c for these SoCs; keep DID
matching only for SoCs without chipset.cb files.

This standardizes the approach across Intel SoCs and makes the
XHCI controller configuration explicit in devicetree, and prevents
the endless proliferation of DIDs in the common driver code.

Change-Id: I4a0551a0fc5a233153c62d5bb7b0b2f3596a81ac
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90920
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jakub "Kuba" Czapiga <czapiga@google.com>
This commit is contained in:
Matt DeVillier 2026-01-25 20:55:07 -06:00
commit b6e80702a1
13 changed files with 12 additions and 31 deletions

View file

@ -180,7 +180,7 @@ chip soc/intel/alderlake
device pci 12.6 alias gspi2 off ops spi_dev_ops end
device pci 12.7 alias ufs off end
device pci 13.0 alias gspi3 off ops spi_dev_ops end
device pci 14.0 alias xhci off
device pci 14.0 alias xhci off ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -281,7 +281,7 @@ chip soc/intel/alderlake
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off ops spi_dev_ops end
device pci 13.0 alias gspi3 off ops spi_dev_ops end
device pci 14.0 alias xhci off
device pci 14.0 alias xhci off ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -22,7 +22,7 @@ chip soc/intel/apollolake
device pci 13.3 alias pcie_rp04 off ops pcie_rp_ops end # PCIE Express Root Port 4
device pci 14.0 alias pcie_rp05 off ops pcie_rp_ops end # PCIE Express Root Port 5
device pci 14.1 alias pcie_rp06 off ops pcie_rp_ops end # PCIE Express Root Port 6
device pci 15.0 alias xhci off end # XHCI
device pci 15.0 alias xhci off ops usb_xhci_ops end # XHCI
device pci 15.1 alias xdci off end # XDCI
device pci 16.0 alias i2c0 off ops i2c_dev_ops end # I2C0
device pci 16.1 alias i2c1 off ops i2c_dev_ops end # I2C1

View file

@ -23,7 +23,7 @@ chip soc/intel/apollolake
device pci 13.3 alias pcie_rp04 off ops pcie_rp_ops end # PCIE Express Root Port 4
device pci 14.0 alias pcie_rp05 off ops pcie_rp_ops end # PCIE Express Root Port 5
device pci 14.1 alias pcie_rp06 off ops pcie_rp_ops end # PCIE Express Root Port 6
device pci 15.0 alias xhci off end # XHCI
device pci 15.0 alias xhci off ops usb_xhci_ops end # XHCI
device pci 15.1 alias xdci off end # XDCI
device pci 16.0 alias i2c0 off ops i2c_dev_ops end # I2C0
device pci 16.1 alias i2c1 off ops i2c_dev_ops end # I2C1

View file

@ -17,7 +17,7 @@ chip soc/intel/cannonlake
device pci 12.5 alias ufs off end # UFS SCS
device pci 12.6 alias gspi2 off ops spi_dev_ops end # GSPI #2
device pci 13.0 alias ish off end # ISH
device pci 14.0 alias xhci off # USB xHCI
device pci 14.0 alias xhci off ops usb_xhci_ops # USB xHCI
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -17,7 +17,7 @@ chip soc/intel/cannonlake
device pci 12.5 alias ufs off end # UFS SCS
device pci 12.6 alias gspi2 off ops spi_dev_ops end # GSPI #2
device pci 13.0 alias ish off end # ISH
device pci 14.0 alias xhci off # USB xHCI
device pci 14.0 alias xhci off ops usb_xhci_ops # USB xHCI
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -132,29 +132,10 @@ struct device_operations usb_xhci_ops = {
static const unsigned short pci_device_ids[] = {
PCI_DID_INTEL_NVL_XHCI,
PCI_DID_INTEL_WCL_XHCI,
PCI_DID_INTEL_PTL_H_XHCI,
PCI_DID_INTEL_PTL_U_H_XHCI,
PCI_DID_INTEL_LNL_XHCI,
PCI_DID_INTEL_MTL_XHCI,
PCI_DID_INTEL_ARL_XHCI,
PCI_DID_INTEL_ARP_S_XHCI,
PCI_DID_INTEL_APL_XHCI,
PCI_DID_INTEL_CNL_LP_XHCI,
PCI_DID_INTEL_GLK_XHCI,
PCI_DID_INTEL_LWB_XHCI,
PCI_DID_INTEL_LWB_XHCI_SUPER,
PCI_DID_INTEL_CNP_H_XHCI,
PCI_DID_INTEL_CMP_LP_XHCI,
PCI_DID_INTEL_CMP_H_XHCI,
PCI_DID_INTEL_TGP_LP_XHCI,
PCI_DID_INTEL_TGP_H_XHCI,
PCI_DID_INTEL_MCC_XHCI,
PCI_DID_INTEL_JSP_XHCI,
PCI_DID_INTEL_ADP_P_XHCI,
PCI_DID_INTEL_ADP_S_XHCI,
PCI_DID_INTEL_ADP_M_XHCI,
PCI_DID_INTEL_RPP_S_XHCI,
PCI_DID_INTEL_SNR_XHCI,
0
};

View file

@ -12,7 +12,7 @@ chip soc/intel/jasperlake
device pci 12.0 alias ish off end
device pci 12.5 alias ufs_scs off end
device pci 12.6 alias gspi2 off ops spi_dev_ops end
device pci 14.0 alias south_xhci off
device pci 14.0 alias south_xhci off ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -100,7 +100,7 @@ chip soc/intel/meteorlake
device pci 13.1 alias ieh2 off end
device pci 13.2 alias pmc2 hidden end
device pci 13.3 alias ioe_shared_sram off end
device pci 14.0 alias xhci off
device pci 14.0 alias xhci off ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -174,7 +174,7 @@ chip soc/intel/pantherlake
device pci 13.0 alias heci_1 off end
device pci 13.1 alias heci_2 off end
device pci 13.2 alias heci_3 off end
device pci 14.0 alias xhci on
device pci 14.0 alias xhci on ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -60,7 +60,7 @@ chip soc/intel/pantherlake
device pci 13.0 alias heci_1 off end
device pci 13.1 alias heci_2 off end
device pci 13.2 alias heci_3 off end
device pci 14.0 alias xhci on
device pci 14.0 alias xhci on ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -63,7 +63,7 @@ chip soc/intel/tigerlake
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off ops spi_dev_ops end
device pci 13.0 alias gspi3 off ops spi_dev_ops end
device pci 14.0 alias south_xhci off
device pci 14.0 alias south_xhci off ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off

View file

@ -67,7 +67,7 @@ chip soc/intel/tigerlake
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off ops spi_dev_ops end
device pci 13.0 alias gspi3 off ops spi_dev_ops end
device pci 14.0 alias south_xhci off
device pci 14.0 alias south_xhci off ops usb_xhci_ops
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
device usb 0.0 alias xhci_root_hub off