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

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

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

Change-Id: Id26dad7997d64bcaad53fa39be23e52cb47dcc1d
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90916
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:08:51 -06:00
commit d1e1d36fff
13 changed files with 39 additions and 110 deletions

View file

@ -245,7 +245,7 @@ chip soc/intel/alderlake
device pci 17.0 alias sata off ops sata_ops end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
# eMMC device is applicable only for ADL-N
device pci 1a.0 alias emmc off end
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end
@ -260,8 +260,8 @@ chip soc/intel/alderlake
device pci 1d.1 alias pcie_rp10 off ops pcie_rp_ops end
device pci 1d.2 alias pcie_rp11 off ops pcie_rp_ops end
device pci 1d.3 alias pcie_rp12 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias pch_espi on end

View file

@ -277,7 +277,7 @@ chip soc/intel/alderlake
device pci 09.0 alias north_tracehub off end
device pci 0a.0 alias crashlog on end
device pci 0e.0 alias vmd off end
device pci 11.0 alias uart3 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
@ -376,7 +376,7 @@ chip soc/intel/alderlake
device pci 17.0 alias sata off ops sata_ops end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1a.0 alias pcie_rp25 off ops pcie_rp_ops end
device pci 1a.1 alias pcie_rp26 off ops pcie_rp_ops end
device pci 1a.2 alias pcie_rp27 off ops pcie_rp_ops end
@ -405,8 +405,8 @@ chip soc/intel/alderlake
device pci 1d.5 alias pcie_rp14 off ops pcie_rp_ops end
device pci 1d.6 alias pcie_rp15 off ops pcie_rp_ops end
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias pch_espi on end

View file

@ -32,10 +32,10 @@ chip soc/intel/apollolake
device pci 17.1 alias i2c5 off ops i2c_dev_ops end # I2C5
device pci 17.2 alias i2c6 off ops i2c_dev_ops end # I2C6
device pci 17.3 alias i2c7 off ops i2c_dev_ops end # I2C7
device pci 18.0 alias uart0 off end # UART0
device pci 18.1 alias uart1 off end # UART1
device pci 18.2 alias uart2 off end # UART2
device pci 18.3 alias uart3 off end # UART3
device pci 18.0 alias uart0 off ops uart_ops end # UART0
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

View file

@ -33,10 +33,10 @@ chip soc/intel/apollolake
device pci 17.1 alias i2c5 off ops i2c_dev_ops end # I2C5
device pci 17.2 alias i2c6 off ops i2c_dev_ops end # I2C6
device pci 17.3 alias i2c7 off ops i2c_dev_ops end # I2C7
device pci 18.0 alias uart0 off end # UART0
device pci 18.1 alias uart1 off end # UART1
device pci 18.2 alias uart2 off end # UART2
device pci 18.3 alias uart3 off end # UART3
device pci 18.0 alias uart0 off ops uart_ops end # UART0
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

View file

@ -95,7 +95,7 @@ chip soc/intel/cannonlake
device pci 17.0 alias sata off ops sata_ops end # SATA
device pci 19.0 alias i2c4 off ops i2c_dev_ops end # I2C #4
device pci 19.1 alias i2c5 off ops i2c_dev_ops end # I2C #5
device pci 19.2 alias uart2 off end # UART #2
device pci 19.2 alias uart2 off ops uart_ops end # UART #2
device pci 1a.0 alias emmc off end # eMMC
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end # PCI Express Port 1
device pci 1c.1 alias pcie_rp2 off ops pcie_rp_ops end # PCI Express Port 2
@ -113,8 +113,8 @@ chip soc/intel/cannonlake
device pci 1d.5 alias pcie_rp14 off ops pcie_rp_ops end # PCI Express Port 14
device pci 1d.6 alias pcie_rp15 off ops pcie_rp_ops end # PCI Express Port 15
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end # PCI Express Port 16
device pci 1e.0 alias uart0 off end # UART #0
device pci 1e.1 alias uart1 off end # UART #1
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 1f.0 alias lpc_espi on end # LPC Interface

View file

@ -147,8 +147,8 @@ chip soc/intel/cannonlake
device pci 1d.5 alias pcie_rp14 off ops pcie_rp_ops end # PCI Express Port 14
device pci 1d.6 alias pcie_rp15 off ops pcie_rp_ops end # PCI Express Port 15
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end # PCI Express Port 16
device pci 1e.0 alias uart0 off end # UART #0
device pci 1e.1 alias uart1 off end # UART #1
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 1f.0 alias lpc_espi on end # LPC Interface

View file

@ -366,83 +366,12 @@ static const unsigned short pci_device_ids[] = {
PCI_DID_INTEL_NVL_UART0,
PCI_DID_INTEL_NVL_UART1,
PCI_DID_INTEL_NVL_UART2,
PCI_DID_INTEL_WCL_UART0,
PCI_DID_INTEL_WCL_UART1,
PCI_DID_INTEL_WCL_UART2,
PCI_DID_INTEL_PTL_H_UART0,
PCI_DID_INTEL_PTL_H_UART1,
PCI_DID_INTEL_PTL_H_UART2,
PCI_DID_INTEL_PTL_U_H_UART0,
PCI_DID_INTEL_PTL_U_H_UART1,
PCI_DID_INTEL_PTL_U_H_UART2,
PCI_DID_INTEL_LNL_UART0,
PCI_DID_INTEL_LNL_UART1,
PCI_DID_INTEL_LNL_UART2,
PCI_DID_INTEL_MTL_UART0,
PCI_DID_INTEL_MTL_UART1,
PCI_DID_INTEL_MTL_UART2,
PCI_DID_INTEL_ARL_UART0,
PCI_DID_INTEL_ARL_UART1,
PCI_DID_INTEL_ARL_UART2,
PCI_DID_INTEL_ARP_S_UART0,
PCI_DID_INTEL_ARP_S_UART1,
PCI_DID_INTEL_ARP_S_UART2,
PCI_DID_INTEL_ARP_S_UART3,
PCI_DID_INTEL_APL_UART0,
PCI_DID_INTEL_APL_UART1,
PCI_DID_INTEL_APL_UART2,
PCI_DID_INTEL_APL_UART3,
PCI_DID_INTEL_CNL_UART0,
PCI_DID_INTEL_CNL_UART1,
PCI_DID_INTEL_CNL_UART2,
PCI_DID_INTEL_GLK_UART0,
PCI_DID_INTEL_GLK_UART1,
PCI_DID_INTEL_GLK_UART2,
PCI_DID_INTEL_GLK_UART3,
PCI_DID_INTEL_CNP_H_UART0,
PCI_DID_INTEL_CNP_H_UART1,
PCI_DID_INTEL_CNP_H_UART2,
PCI_DID_INTEL_CMP_UART0,
PCI_DID_INTEL_CMP_UART1,
PCI_DID_INTEL_CMP_UART2,
PCI_DID_INTEL_CMP_H_UART0,
PCI_DID_INTEL_CMP_H_UART1,
PCI_DID_INTEL_CMP_H_UART2,
PCI_DID_INTEL_TGP_UART0,
PCI_DID_INTEL_TGP_UART1,
PCI_DID_INTEL_TGP_UART2,
PCI_DID_INTEL_TGP_H_UART0,
PCI_DID_INTEL_TGP_H_UART1,
PCI_DID_INTEL_TGP_H_UART2,
PCI_DID_INTEL_TGP_H_UART3,
PCI_DID_INTEL_MCC_UART0,
PCI_DID_INTEL_MCC_UART1,
PCI_DID_INTEL_MCC_UART2,
PCI_DID_INTEL_JSP_UART0,
PCI_DID_INTEL_JSP_UART1,
PCI_DID_INTEL_JSP_UART2,
PCI_DID_INTEL_ADP_S_UART0,
PCI_DID_INTEL_ADP_S_UART1,
PCI_DID_INTEL_ADP_S_UART2,
PCI_DID_INTEL_ADP_S_UART3,
PCI_DID_INTEL_ADP_S_UART4,
PCI_DID_INTEL_ADP_S_UART5,
PCI_DID_INTEL_ADP_S_UART6,
PCI_DID_INTEL_ADP_P_UART0,
PCI_DID_INTEL_ADP_P_UART1,
PCI_DID_INTEL_ADP_P_UART2,
PCI_DID_INTEL_ADP_P_UART3,
PCI_DID_INTEL_ADP_P_UART4,
PCI_DID_INTEL_ADP_P_UART5,
PCI_DID_INTEL_ADP_P_UART6,
PCI_DID_INTEL_ADP_M_N_UART0,
PCI_DID_INTEL_ADP_M_N_UART1,
PCI_DID_INTEL_ADP_M_N_UART2,
PCI_DID_INTEL_ADP_M_N_UART3,
PCI_DID_INTEL_RPP_S_UART0,
PCI_DID_INTEL_RPP_S_UART1,
PCI_DID_INTEL_RPP_S_UART2,
PCI_DID_INTEL_RPP_S_UART3,
0,
};

View file

@ -75,7 +75,7 @@ chip soc/intel/jasperlake
device pci 17.0 alias sata off ops sata_ops end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1a.0 alias emmc off end
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end
device pci 1c.1 alias pcie_rp2 off ops pcie_rp_ops end
@ -85,8 +85,8 @@ chip soc/intel/jasperlake
device pci 1c.5 alias pcie_rp6 off ops pcie_rp_ops end
device pci 1c.6 alias pcie_rp7 off ops pcie_rp_ops end
device pci 1c.7 alias pcie_rp8 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias pch_espi on end

View file

@ -168,7 +168,7 @@ chip soc/intel/meteorlake
device pci 18.2 alias eheci3 off end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end
device pci 1c.1 alias pcie_rp2 off ops pcie_rp_ops end
device pci 1c.2 alias pcie_rp3 off ops pcie_rp_ops end
@ -177,8 +177,8 @@ chip soc/intel/meteorlake
device pci 1c.5 alias pcie_rp6 off ops pcie_rp_ops end
device pci 1c.6 alias pcie_rp7 off ops pcie_rp_ops end
device pci 1c.7 alias pcie_rp8 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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.4 alias tsn_gbe1 off end

View file

@ -228,7 +228,7 @@ chip soc/intel/pantherlake
device pci 18.2 alias eheci3 off end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end
device pci 1c.1 alias pcie_rp2 off ops pcie_rp_ops end
device pci 1c.2 alias pcie_rp3 off ops pcie_rp_ops end
@ -237,8 +237,8 @@ chip soc/intel/pantherlake
device pci 1c.5 alias pcie_rp6 off ops pcie_rp_ops end
device pci 1c.6 alias pcie_rp7 off ops pcie_rp_ops end
device pci 1c.7 alias pcie_rp8 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias soc_espi on end

View file

@ -115,13 +115,13 @@ chip soc/intel/pantherlake
device pci 18.2 alias eheci3 off end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end
device pci 1c.1 alias pcie_rp2 off ops pcie_rp_ops end
device pci 1c.2 alias pcie_rp3 off ops pcie_rp_ops end
device pci 1c.3 alias pcie_rp4 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias soc_espi on end

View file

@ -128,7 +128,7 @@ chip soc/intel/tigerlake
device pci 17.0 alias sata off ops sata_ops end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1c.0 alias pcie_rp1 off ops pcie_rp_ops end
device pci 1c.1 alias pcie_rp2 off ops pcie_rp_ops end
device pci 1c.2 alias pcie_rp3 off ops pcie_rp_ops end
@ -141,8 +141,8 @@ chip soc/intel/tigerlake
device pci 1d.1 alias pcie_rp10 off ops pcie_rp_ops end
device pci 1d.2 alias pcie_rp11 off ops pcie_rp_ops end
device pci 1d.3 alias pcie_rp12 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias pch_espi on end

View file

@ -62,7 +62,7 @@ chip soc/intel/tigerlake
device pci 0e.0 alias vmd off end
device pci 10.6 alias thc0 off end
device pci 10.7 alias thc1 off end
device pci 11.0 alias uart3 off end
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
@ -150,7 +150,7 @@ chip soc/intel/tigerlake
device pci 17.0 alias sata off ops sata_ops end
device pci 19.0 alias i2c4 off ops i2c_dev_ops end
device pci 19.1 alias i2c5 off ops i2c_dev_ops end
device pci 19.2 alias uart2 off end
device pci 19.2 alias uart2 off ops uart_ops end
device pci 1b.0 alias pcie_rp17 off ops pcie_rp_ops end
device pci 1b.1 alias pcie_rp18 off ops pcie_rp_ops end
device pci 1b.2 alias pcie_rp19 off ops pcie_rp_ops end
@ -175,8 +175,8 @@ chip soc/intel/tigerlake
device pci 1d.5 alias pcie_rp14 off ops pcie_rp_ops end
device pci 1d.6 alias pcie_rp15 off ops pcie_rp_ops end
device pci 1d.7 alias pcie_rp16 off ops pcie_rp_ops end
device pci 1e.0 alias uart0 off end
device pci 1e.1 alias uart1 off 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 1f.0 alias pch_espi on end