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

Move SMBUS 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 smbus.c for these SoCs; keep DID
matching only for SoCs without chipset.cb files.

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

Change-Id: I1c742836d923eb8f521bdbd7fa8260c82c1156ac
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90918
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:11:20 -06:00
commit 038829feb3
13 changed files with 12 additions and 33 deletions

View file

@ -268,7 +268,7 @@ chip soc/intel/alderlake
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias south_tracehub off end

View file

@ -413,7 +413,7 @@ chip soc/intel/alderlake
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias south_tracehub off end

View file

@ -44,6 +44,6 @@ chip soc/intel/apollolake
device pci 1c.0 alias emmc off end # eMMC
device pci 1e.0 alias sdio off end # SDIO
device pci 1f.0 alias lpc_espi on end # LPC
device pci 1f.1 alias smbus off end # SMBUS
device pci 1f.1 alias smbus off ops smbus_ops end # SMBUS
end
end

View file

@ -45,6 +45,6 @@ chip soc/intel/apollolake
device pci 1d.0 alias ufs off end # UFS
device pci 1e.0 alias sdio off end # SDIO
device pci 1f.0 alias lpc_espi on end # LPC
device pci 1f.1 alias smbus on end # SMBUS
device pci 1f.1 alias smbus on ops smbus_ops end # SMBUS
end
end

View file

@ -121,7 +121,7 @@ chip soc/intel/cannonlake
device pci 1f.1 alias p2sb hidden end # P2SB
device pci 1f.2 alias pmc hidden end # Power Management Controller
device pci 1f.3 alias hda off end # Intel HDA
device pci 1f.4 alias smbus off end # SMBus
device pci 1f.4 alias smbus off ops smbus_ops end # SMBus
device pci 1f.5 alias fast_spi on end # PCH SPI
device pci 1f.6 alias gbe off end # GbE
device pci 1f.7 alias tracehub off end # TraceHub

View file

@ -155,7 +155,7 @@ chip soc/intel/cannonlake
device pci 1f.1 alias p2sb hidden end # P2SB
device pci 1f.2 alias pmc hidden end # Power Management Controller
device pci 1f.3 alias hda off end # Intel HDA
device pci 1f.4 alias smbus off end # SMBus
device pci 1f.4 alias smbus off ops smbus_ops end # SMBus
device pci 1f.5 alias fast_spi on end # PCH SPI
device pci 1f.6 alias gbe off end # GbE
device pci 1f.7 alias tracehub off end # TraceHub

View file

@ -49,32 +49,11 @@ struct device_operations smbus_ops = {
};
static const unsigned short pci_device_ids[] = {
PCI_DID_INTEL_WCL_SMBUS,
PCI_DID_INTEL_PTL_H_SMBUS,
PCI_DID_INTEL_PTL_U_H_SMBUS,
PCI_DID_INTEL_LNL_SMBUS,
PCI_DID_INTEL_MTL_SMBUS,
PCI_DID_INTEL_ARL_SMBUS,
PCI_DID_INTEL_ARL_S_SMBUS,
PCI_DID_INTEL_ARP_S_SMBUS,
PCI_DID_INTEL_RPP_P_SMBUS,
PCI_DID_INTEL_RPP_S_SMBUS,
PCI_DID_INTEL_APL_SMBUS,
PCI_DID_INTEL_GLK_SMBUS,
PCI_DID_INTEL_CNL_SMBUS,
PCI_DID_INTEL_CNP_H_SMBUS,
PCI_DID_INTEL_EBG_SMBUS,
PCI_DID_INTEL_LWB_SMBUS_SUPER,
PCI_DID_INTEL_LWB_SMBUS,
PCI_DID_INTEL_CMP_SMBUS,
PCI_DID_INTEL_CMP_H_SMBUS,
PCI_DID_INTEL_TGP_LP_SMBUS,
PCI_DID_INTEL_TGP_H_SMBUS,
PCI_DID_INTEL_MCC_SMBUS,
PCI_DID_INTEL_JSP_SMBUS,
PCI_DID_INTEL_ADP_P_SMBUS,
PCI_DID_INTEL_ADP_S_SMBUS,
PCI_DID_INTEL_ADP_M_N_SMBUS,
PCI_DID_INTEL_DNV_SMBUS_LEGACY,
0
};

View file

@ -93,7 +93,7 @@ chip soc/intel/jasperlake
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.7 alias south_tracehub off end
end

View file

@ -187,7 +187,7 @@ chip soc/intel/meteorlake
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias npk off end

View file

@ -245,7 +245,7 @@ chip soc/intel/pantherlake
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias npk off end

View file

@ -128,7 +128,7 @@ chip soc/intel/pantherlake
device pci 1f.1 alias p2sb hidden end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias npk off end

View file

@ -149,7 +149,7 @@ chip soc/intel/tigerlake
device pci 1f.1 alias p2sb off end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias tracehub off end

View file

@ -183,7 +183,7 @@ chip soc/intel/tigerlake
device pci 1f.1 alias p2sb off end
device pci 1f.2 alias pmc hidden end
device pci 1f.3 alias hda off end
device pci 1f.4 alias smbus off end
device pci 1f.4 alias smbus off ops smbus_ops end
device pci 1f.5 alias fast_spi on end
device pci 1f.6 alias gbe off end
device pci 1f.7 alias thermal off end