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

Move CNVI WiFi device operations linking from PCI Device ID matching
to chipset.cb files for all Intel SoCs that have them.

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

Remove the static declaration from cnvi_wifi_ops so the symbol is
exported and visible outside of cnvi.c.

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

Change-Id: I82a2b20a8b967d1a3d5a80ae477def260c366be7
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90922
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 21:01:41 -06:00
commit 0d947e59cb
12 changed files with 12 additions and 63 deletions

View file

@ -231,7 +231,7 @@ chip soc/intel/alderlake
end
device pci 14.1 alias usb_otg off end
device pci 14.2 alias shared_sram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end
device pci 15.1 alias i2c1 off ops i2c_dev_ops end
device pci 15.2 alias i2c2 off ops i2c_dev_ops end

View file

@ -362,7 +362,7 @@ chip soc/intel/alderlake
end
device pci 14.1 alias xdci off ops usb_xdci_ops end
device pci 14.2 alias shared_sram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end
device pci 15.1 alias i2c1 off ops i2c_dev_ops end
device pci 15.2 alias i2c2 off ops i2c_dev_ops end

View file

@ -6,7 +6,7 @@ chip soc/intel/apollolake
device pci 00.2 alias npk off end # NorthPeak
device pci 02.0 alias igd off end # Integrated Graphics Device
device pci 03.0 alias gmm off end # GMM
device pci 0c.0 alias cnvi off end # CNVi
device pci 0c.0 alias cnvi off ops cnvi_wifi_ops end # CNVi
device pci 0d.0 alias p2sb off end # P2SB
device pci 0d.1 alias pmc off end # PMC
device pci 0d.2 alias fast_spi off end # SPI

View file

@ -80,7 +80,7 @@ chip soc/intel/cannonlake
end
device pci 14.1 alias xdci off ops usb_xdci_ops end # USB xDCI (OTG)
device pci 14.2 alias shared_sram off end # Shared SRAM
device pci 14.3 alias cnvi_wifi off end # CNVi Wifi
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end # CNVi Wifi
device pci 14.5 alias sdxc off end # SDCard
device pci 15.0 alias i2c0 off ops i2c_dev_ops end # I2C #0
device pci 15.1 alias i2c1 off ops i2c_dev_ops end # I2C #1

View file

@ -104,7 +104,7 @@ chip soc/intel/cannonlake
end
device pci 14.1 alias xdci off ops usb_xdci_ops end # USB xDCI (OTG)
device pci 14.2 alias shared_sram off end # Shared SRAM
device pci 14.3 alias cnvi_wifi off end # CNVi Wifi
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end # CNVi Wifi
device pci 14.5 alias sdxc off end # SDCard
device pci 15.0 alias i2c0 off ops i2c_dev_ops end # I2C #0
device pci 15.1 alias i2c1 off ops i2c_dev_ops end # I2C #1

View file

@ -462,7 +462,7 @@ static void cnvw_fill_ssdt(const struct device *dev)
acpigen_write_scope_end();
}
static struct device_operations cnvi_wifi_ops = {
struct device_operations cnvi_wifi_ops = {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
@ -477,61 +477,10 @@ static const unsigned short wifi_pci_device_ids[] = {
PCI_DID_INTEL_NVL_CNVI_WIFI_1,
PCI_DID_INTEL_NVL_CNVI_WIFI_2,
PCI_DID_INTEL_NVL_CNVI_WIFI_3,
PCI_DID_INTEL_WCL_CNVI_WIFI_0,
PCI_DID_INTEL_WCL_CNVI_WIFI_1,
PCI_DID_INTEL_WCL_CNVI_WIFI_2,
PCI_DID_INTEL_WCL_CNVI_WIFI_3,
PCI_DID_INTEL_PTL_H_CNVI_WIFI_0,
PCI_DID_INTEL_PTL_H_CNVI_WIFI_1,
PCI_DID_INTEL_PTL_H_CNVI_WIFI_2,
PCI_DID_INTEL_PTL_H_CNVI_WIFI_3,
PCI_DID_INTEL_PTL_U_H_CNVI_WIFI_0,
PCI_DID_INTEL_PTL_U_H_CNVI_WIFI_1,
PCI_DID_INTEL_PTL_U_H_CNVI_WIFI_2,
PCI_DID_INTEL_PTL_U_H_CNVI_WIFI_3,
PCI_DID_INTEL_LNL_CNVI_WIFI_0,
PCI_DID_INTEL_LNL_CNVI_WIFI_1,
PCI_DID_INTEL_LNL_CNVI_WIFI_2,
PCI_DID_INTEL_LNL_CNVI_WIFI_3,
PCI_DID_INTEL_MTL_CNVI_WIFI_0,
PCI_DID_INTEL_MTL_CNVI_WIFI_1,
PCI_DID_INTEL_MTL_CNVI_WIFI_2,
PCI_DID_INTEL_MTL_CNVI_WIFI_3,
PCI_DID_INTEL_ARL_CNVI_WIFI,
PCI_DID_INTEL_ARP_S_CNVI_WIFI,
PCI_DID_INTEL_CML_LP_CNVI_WIFI,
PCI_DID_INTEL_CML_H_CNVI_WIFI,
PCI_DID_INTEL_CNL_LP_CNVI_WIFI,
PCI_DID_INTEL_CNL_H_CNVI_WIFI,
PCI_DID_INTEL_GLK_CNVI_WIFI,
PCI_DID_INTEL_JSL_CNVI_WIFI_0,
PCI_DID_INTEL_JSL_CNVI_WIFI_1,
PCI_DID_INTEL_JSL_CNVI_WIFI_2,
PCI_DID_INTEL_JSL_CNVI_WIFI_3,
PCI_DID_INTEL_TGL_CNVI_WIFI_0,
PCI_DID_INTEL_TGL_CNVI_WIFI_1,
PCI_DID_INTEL_TGL_CNVI_WIFI_2,
PCI_DID_INTEL_TGL_CNVI_WIFI_3,
PCI_DID_INTEL_TGL_H_CNVI_WIFI_0,
PCI_DID_INTEL_TGL_H_CNVI_WIFI_1,
PCI_DID_INTEL_TGL_H_CNVI_WIFI_2,
PCI_DID_INTEL_TGL_H_CNVI_WIFI_3,
PCI_DID_INTEL_ADL_P_CNVI_WIFI_0,
PCI_DID_INTEL_ADL_P_CNVI_WIFI_1,
PCI_DID_INTEL_ADL_P_CNVI_WIFI_2,
PCI_DID_INTEL_ADL_P_CNVI_WIFI_3,
PCI_DID_INTEL_ADL_S_CNVI_WIFI_0,
PCI_DID_INTEL_ADL_S_CNVI_WIFI_1,
PCI_DID_INTEL_ADL_S_CNVI_WIFI_2,
PCI_DID_INTEL_ADL_S_CNVI_WIFI_3,
PCI_DID_INTEL_ADL_N_CNVI_WIFI_0,
PCI_DID_INTEL_ADL_N_CNVI_WIFI_1,
PCI_DID_INTEL_ADL_N_CNVI_WIFI_2,
PCI_DID_INTEL_ADL_N_CNVI_WIFI_3,
PCI_DID_INTEL_RPL_S_CNVI_WIFI_0,
PCI_DID_INTEL_RPL_S_CNVI_WIFI_1,
PCI_DID_INTEL_RPL_S_CNVI_WIFI_2,
PCI_DID_INTEL_RPL_S_CNVI_WIFI_3,
0
};

View file

@ -63,7 +63,7 @@ chip soc/intel/jasperlake
end
device pci 14.1 alias south_xdci off ops usb_xdci_ops end
device pci 14.2 alias shared_ram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 14.5 alias sdxc off end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end
device pci 15.1 alias i2c1 off ops i2c_dev_ops end

View file

@ -151,7 +151,7 @@ chip soc/intel/meteorlake
end
device pci 14.1 alias usb_otg off end
device pci 14.2 alias pmc_shared_sram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 14.5 alias ieh off end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end
device pci 15.1 alias i2c1 off ops i2c_dev_ops end

View file

@ -212,7 +212,7 @@ chip soc/intel/pantherlake
end
end
device pci 14.2 alias pmc_shared_sram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 14.7 alias cnvi_bluetooth off end
device pci 14.5 alias ieh off end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end

View file

@ -98,7 +98,7 @@ chip soc/intel/pantherlake
end
end
device pci 14.2 alias pmc_shared_sram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 14.7 alias cnvi_bluetooth off end
device pci 14.5 alias ieh off end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end

View file

@ -114,7 +114,7 @@ chip soc/intel/tigerlake
end
device pci 14.1 alias south_xdci off ops usb_xdci_ops end
device pci 14.2 alias shared_ram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end
device pci 15.1 alias i2c1 off ops i2c_dev_ops end
device pci 15.2 alias i2c2 off ops i2c_dev_ops end

View file

@ -136,7 +136,7 @@ chip soc/intel/tigerlake
end
device pci 14.1 alias south_xdci off ops usb_xdci_ops end
device pci 14.2 alias shared_ram off end
device pci 14.3 alias cnvi_wifi off end
device pci 14.3 alias cnvi_wifi off ops cnvi_wifi_ops end
device pci 15.0 alias i2c0 off ops i2c_dev_ops end
device pci 15.1 alias i2c1 off ops i2c_dev_ops end
device pci 15.2 alias i2c2 off ops i2c_dev_ops end