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

Move GSPI/SPI 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 spi.c for these SoCs; keep DID
matching only for SoCs without chipset.cb files.

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

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

View file

@ -177,9 +177,9 @@ chip soc/intel/alderlake
device pci 10.6 alias thc0 off end
device pci 10.7 alias thc1 off end
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off end
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 end
device pci 13.0 alias gspi3 off ops spi_dev_ops end
device pci 14.0 alias xhci off
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
@ -262,8 +262,8 @@ chip soc/intel/alderlake
device pci 1d.3 alias pcie_rp12 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias pch_espi on end
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end

View file

@ -279,8 +279,8 @@ chip soc/intel/alderlake
device pci 0e.0 alias vmd off end
device pci 11.0 alias uart3 off ops uart_ops end
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off end
device pci 13.0 alias gspi3 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
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
@ -407,8 +407,8 @@ chip soc/intel/alderlake
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias pch_espi on end
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end

View file

@ -36,9 +36,9 @@ chip soc/intel/apollolake
device pci 18.1 alias uart1 off ops uart_ops end # UART1
device pci 18.2 alias uart2 off ops uart_ops end # UART2
device pci 18.3 alias uart3 off ops uart_ops end # UART3
device pci 19.0 alias spi0 off end # SPI0
device pci 19.1 alias spi1 off end # SPI1
device pci 19.2 alias spi2 off end # SPI3
device pci 19.0 alias spi0 off ops spi_dev_ops end # SPI0
device pci 19.1 alias spi1 off ops spi_dev_ops end # SPI1
device pci 19.2 alias spi2 off ops spi_dev_ops end # SPI3
device pci 1a.0 alias pwm off end # PWM
device pci 1b.0 alias sdcard off end # SD Card
device pci 1c.0 alias emmc off end # eMMC

View file

@ -37,9 +37,9 @@ chip soc/intel/apollolake
device pci 18.1 alias uart1 off ops uart_ops end # UART1
device pci 18.2 alias uart2 off ops uart_ops end # UART2
device pci 18.3 alias uart3 off ops uart_ops end # UART3
device pci 19.0 alias spi0 off end # SPI0
device pci 19.1 alias spi1 off end # SPI1
device pci 19.2 alias spi2 off end # SPI3
device pci 19.0 alias spi0 off ops spi_dev_ops end # SPI0
device pci 19.1 alias spi1 off ops spi_dev_ops end # SPI1
device pci 19.2 alias spi2 off ops spi_dev_ops end # SPI3
device pci 1a.0 alias pwm off end # PWM
device pci 1c.0 alias emmc off end # eMMC
device pci 1d.0 alias ufs off end # UFS

View file

@ -15,7 +15,7 @@ chip soc/intel/cannonlake
device pci 08.0 alias gna off end # Gaussian mixture model, Neural network accelerator
device pci 12.0 alias thermal off end # Thermal Subsystem
device pci 12.5 alias ufs off end # UFS SCS
device pci 12.6 alias gspi2 off end # GSPI #2
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
chip drivers/usb/acpi
@ -115,8 +115,8 @@ chip soc/intel/cannonlake
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end # PCI Express Port 16
device pci 1e.0 alias uart0 off ops uart_ops end # UART #0
device pci 1e.1 alias uart1 off ops uart_ops end # UART #1
device pci 1e.2 alias gspi0 off end # GSPI #0
device pci 1e.3 alias gspi1 off end # GSPI #1
device pci 1e.2 alias gspi0 off ops spi_dev_ops end # GSPI #0
device pci 1e.3 alias gspi1 off ops spi_dev_ops end # GSPI #1
device pci 1f.0 alias lpc_espi on end # LPC Interface
device pci 1f.1 alias p2sb hidden end # P2SB
device pci 1f.2 alias pmc hidden end # Power Management Controller

View file

@ -15,7 +15,7 @@ chip soc/intel/cannonlake
device pci 08.0 alias gna off end # Gaussian mixture model, Neural network accelerator
device pci 12.0 alias thermal off end # Thermal Subsystem
device pci 12.5 alias ufs off end # UFS SCS
device pci 12.6 alias gspi2 off end # GSPI #2
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
chip drivers/usb/acpi
@ -149,8 +149,8 @@ chip soc/intel/cannonlake
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end # PCI Express Port 16
device pci 1e.0 alias uart0 off ops uart_ops end # UART #0
device pci 1e.1 alias uart1 off ops uart_ops end # UART #1
device pci 1e.2 alias gspi0 off end # GSPI #0
device pci 1e.3 alias gspi1 off end # GSPI #1
device pci 1e.2 alias gspi0 off ops spi_dev_ops end # GSPI #0
device pci 1e.3 alias gspi1 off ops spi_dev_ops end # GSPI #1
device pci 1f.0 alias lpc_espi on end # LPC Interface
device pci 1f.1 alias p2sb hidden end # P2SB
device pci 1f.2 alias pmc hidden end # Power Management Controller

View file

@ -127,88 +127,12 @@ static const unsigned short pci_device_ids[] = {
PCI_DID_INTEL_NVL_SPI0,
PCI_DID_INTEL_NVL_SPI1,
PCI_DID_INTEL_NVL_SPI2,
PCI_DID_INTEL_WCL_HWSEQ_SPI,
PCI_DID_INTEL_WCL_SPI0,
PCI_DID_INTEL_WCL_SPI1,
PCI_DID_INTEL_WCL_SPI2,
PCI_DID_INTEL_PTL_H_HWSEQ_SPI,
PCI_DID_INTEL_PTL_H_SPI0,
PCI_DID_INTEL_PTL_H_SPI1,
PCI_DID_INTEL_PTL_H_SPI2,
PCI_DID_INTEL_PTL_U_H_HWSEQ_SPI,
PCI_DID_INTEL_PTL_U_H_SPI0,
PCI_DID_INTEL_PTL_U_H_SPI1,
PCI_DID_INTEL_PTL_U_H_SPI2,
PCI_DID_INTEL_LNL_GSPI0,
PCI_DID_INTEL_LNL_GSPI1,
PCI_DID_INTEL_LNL_GSPI2,
PCI_DID_INTEL_MTL_GSPI0,
PCI_DID_INTEL_MTL_GSPI1,
PCI_DID_INTEL_MTL_GSPI2,
PCI_DID_INTEL_ARL_GSPI0,
PCI_DID_INTEL_ARL_GSPI1,
PCI_DID_INTEL_ARL_GSPI2,
PCI_DID_INTEL_ARP_S_GSPI0,
PCI_DID_INTEL_ARP_S_GSPI1,
PCI_DID_INTEL_ARP_S_GSPI2,
PCI_DID_INTEL_ARP_S_GSPI3,
PCI_DID_INTEL_APL_SPI0,
PCI_DID_INTEL_APL_SPI1,
PCI_DID_INTEL_APL_SPI2,
PCI_DID_INTEL_GLK_SPI0,
PCI_DID_INTEL_GLK_SPI1,
PCI_DID_INTEL_GLK_SPI2,
PCI_DID_INTEL_CNL_SPI0,
PCI_DID_INTEL_CNL_SPI1,
PCI_DID_INTEL_CNL_SPI2,
PCI_DID_INTEL_CNP_H_SPI0,
PCI_DID_INTEL_CNP_H_SPI1,
PCI_DID_INTEL_CNP_H_SPI2,
PCI_DID_INTEL_CMP_SPI0,
PCI_DID_INTEL_CMP_SPI1,
PCI_DID_INTEL_CMP_SPI2,
PCI_DID_INTEL_CMP_H_SPI0,
PCI_DID_INTEL_CMP_H_SPI1,
PCI_DID_INTEL_CMP_H_SPI2,
PCI_DID_INTEL_TGP_GSPI0,
PCI_DID_INTEL_TGP_GSPI1,
PCI_DID_INTEL_TGP_GSPI2,
PCI_DID_INTEL_TGP_GSPI3,
PCI_DID_INTEL_TGP_GSPI4,
PCI_DID_INTEL_TGP_GSPI5,
PCI_DID_INTEL_TGP_GSPI6,
PCI_DID_INTEL_TGP_H_SPI0,
PCI_DID_INTEL_TGP_H_GSPI0,
PCI_DID_INTEL_TGP_H_GSPI1,
PCI_DID_INTEL_TGP_H_GSPI2,
PCI_DID_INTEL_TGP_H_GSPI3,
PCI_DID_INTEL_MCC_GSPI0,
PCI_DID_INTEL_MCC_GSPI1,
PCI_DID_INTEL_MCC_GSPI2,
PCI_DID_INTEL_JSP_SPI0,
PCI_DID_INTEL_JSP_SPI1,
PCI_DID_INTEL_JSP_SPI2,
PCI_DID_INTEL_ADP_P_SPI0,
PCI_DID_INTEL_ADP_P_SPI1,
PCI_DID_INTEL_ADP_P_SPI2,
PCI_DID_INTEL_ADP_P_SPI3,
PCI_DID_INTEL_ADP_P_SPI4,
PCI_DID_INTEL_ADP_P_SPI5,
PCI_DID_INTEL_ADP_P_SPI6,
PCI_DID_INTEL_ADP_S_SPI0,
PCI_DID_INTEL_ADP_S_SPI1,
PCI_DID_INTEL_ADP_S_SPI2,
PCI_DID_INTEL_ADP_S_SPI3,
PCI_DID_INTEL_ADP_S_SPI4,
PCI_DID_INTEL_ADP_S_SPI5,
PCI_DID_INTEL_ADP_S_SPI6,
PCI_DID_INTEL_ADP_M_N_SPI0,
PCI_DID_INTEL_ADP_M_N_SPI1,
PCI_DID_INTEL_ADP_M_SPI2,
PCI_DID_INTEL_RPP_S_SPI0,
PCI_DID_INTEL_RPP_S_SPI1,
PCI_DID_INTEL_RPP_S_SPI2,
PCI_DID_INTEL_RPP_S_SPI3,
PCI_DID_INTEL_DNV_SPI,
0
};

View file

@ -11,7 +11,7 @@ chip soc/intel/jasperlake
device pci 09.0 alias north_tracehub off end
device pci 12.0 alias ish off end
device pci 12.5 alias ufs_scs off end
device pci 12.6 alias gspi2 off end
device pci 12.6 alias gspi2 off ops spi_dev_ops end
device pci 14.0 alias south_xhci off
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
@ -87,8 +87,8 @@ chip soc/intel/jasperlake
device pci 1c.7 alias pcie_rp8 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias pch_espi on end
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end

View file

@ -94,7 +94,7 @@ chip soc/intel/meteorlake
device pci 10.0 alias thc0 off end
device pci 10.1 alias thc1 off end
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off end
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 ioe_p2sb hidden end
device pci 13.1 alias ieh2 off end
@ -179,8 +179,8 @@ chip soc/intel/meteorlake
device pci 1c.7 alias pcie_rp8 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1e.4 alias tsn_gbe1 off end
device pci 1e.5 alias tsn_gbe2 off end
device pci 1f.0 alias soc_espi on end

View file

@ -170,7 +170,7 @@ chip soc/intel/pantherlake
device pci 10.1 alias thc1 off end
device pci 12.0 alias ish off end
device pci 12.1 alias p2sb2 hidden end
device pci 12.6 alias gspi0a off end
device pci 12.6 alias gspi0a off ops spi_dev_ops end
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
@ -239,8 +239,8 @@ chip soc/intel/pantherlake
device pci 1c.7 alias pcie_rp8 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias soc_espi on end
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end

View file

@ -56,7 +56,7 @@ chip soc/intel/pantherlake
device pci 10.1 alias thc1 off end
device pci 12.0 alias ish off end
device pci 12.1 alias p2sb2 hidden end
device pci 12.6 alias gspi0a off end
device pci 12.6 alias gspi0a off ops spi_dev_ops end
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
@ -122,8 +122,8 @@ chip soc/intel/pantherlake
device pci 1c.3 alias pcie_rp4 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias soc_espi on end
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end

View file

@ -61,8 +61,8 @@ chip soc/intel/tigerlake
device pci 10.6 alias thc0 off end
device pci 10.7 alias thc1 off end
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off end
device pci 13.0 alias gspi3 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
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
@ -143,8 +143,8 @@ chip soc/intel/tigerlake
device pci 1d.3 alias pcie_rp12 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias pch_espi on end
device pci 1f.1 alias p2sb off end
device pci 1f.2 alias pmc hidden end

View file

@ -65,8 +65,8 @@ chip soc/intel/tigerlake
device pci 11.0 alias uart3 off ops uart_ops end
device pci 11.3 alias i2c6 off ops i2c_dev_ops end
device pci 12.0 alias ish off end
device pci 12.6 alias gspi2 off end
device pci 13.0 alias gspi3 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
chip drivers/usb/acpi
register "type" = "UPC_TYPE_HUB"
@ -177,8 +177,8 @@ chip soc/intel/tigerlake
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off ops uart_ops end
device pci 1e.1 alias uart1 off ops uart_ops end
device pci 1e.2 alias gspi0 off end
device pci 1e.3 alias gspi1 off end
device pci 1e.2 alias gspi0 off ops spi_dev_ops end
device pci 1e.3 alias gspi1 off ops spi_dev_ops end
device pci 1f.0 alias pch_espi on end
device pci 1f.1 alias p2sb off end
device pci 1f.2 alias pmc hidden end