From d5161611a4b36acd3e82c4bc764c7539616446a2 Mon Sep 17 00:00:00 2001 From: Jeremy Compostella Date: Mon, 23 Feb 2026 07:46:07 -0800 Subject: [PATCH] soc/intel/pantherlake: Use common I2C devfn mapping Replace platform-specific i2c.c with common implementation. Defines SOC_I2C_DEVFN(n) macro and uses existing CONFIG_SOC_INTEL_I2C_DEV_MAX Kconfig. Change-Id: I9200c41bf459dfef29599cc1c736e14e8cbd36b9 Signed-off-by: Jeremy Compostella Reviewed-on: https://review.coreboot.org/c/coreboot/+/91266 Tested-by: build bot (Jenkins) Reviewed-by: Guvendik, Bora --- src/soc/intel/pantherlake/Kconfig | 1 + src/soc/intel/pantherlake/Makefile.mk | 1 - src/soc/intel/pantherlake/i2c.c | 43 ------------------- .../intel/pantherlake/include/soc/pci_devs.h | 1 + 4 files changed, 2 insertions(+), 44 deletions(-) delete mode 100644 src/soc/intel/pantherlake/i2c.c diff --git a/src/soc/intel/pantherlake/Kconfig b/src/soc/intel/pantherlake/Kconfig index a67b2410ad..2e1bc2ef10 100644 --- a/src/soc/intel/pantherlake/Kconfig +++ b/src/soc/intel/pantherlake/Kconfig @@ -97,6 +97,7 @@ config SOC_INTEL_PANTHERLAKE_BASE select SOC_INTEL_COMMON_BLOCK_XHCI select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG select SOC_INTEL_COMMON_FEATURE + select SOC_INTEL_COMMON_FEATURE_I2C_DEVFN select SOC_INTEL_COMMON_FEATURE_UART_DEVICES select SOC_INTEL_COMMON_FSP_RESET select SOC_INTEL_COMMON_PCH_CLIENT diff --git a/src/soc/intel/pantherlake/Makefile.mk b/src/soc/intel/pantherlake/Makefile.mk index fd9760a965..dadba99ccd 100644 --- a/src/soc/intel/pantherlake/Makefile.mk +++ b/src/soc/intel/pantherlake/Makefile.mk @@ -8,7 +8,6 @@ subdirs-y += ../../../cpu/intel/turbo # all (bootblock, verstage, romstage, postcar, ramstage) all-y += gspi.c -all-y += i2c.c all-y += pmutil.c all-y += spi.c all-y += gpio.c diff --git a/src/soc/intel/pantherlake/i2c.c b/src/soc/intel/pantherlake/i2c.c deleted file mode 100644 index 50ab4a73eb..0000000000 --- a/src/soc/intel/pantherlake/i2c.c +++ /dev/null @@ -1,43 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include -#include -#include - -int dw_i2c_soc_devfn_to_bus(unsigned int devfn) -{ - switch (devfn) { - case PCI_DEVFN_I2C0: - return 0; - case PCI_DEVFN_I2C1: - return 1; - case PCI_DEVFN_I2C2: - return 2; - case PCI_DEVFN_I2C3: - return 3; - case PCI_DEVFN_I2C4: - return 4; - case PCI_DEVFN_I2C5: - return 5; - } - return -1; -} - -int dw_i2c_soc_bus_to_devfn(unsigned int bus) -{ - switch (bus) { - case 0: - return PCI_DEVFN_I2C0; - case 1: - return PCI_DEVFN_I2C1; - case 2: - return PCI_DEVFN_I2C2; - case 3: - return PCI_DEVFN_I2C3; - case 4: - return PCI_DEVFN_I2C4; - case 5: - return PCI_DEVFN_I2C5; - } - return -1; -} diff --git a/src/soc/intel/pantherlake/include/soc/pci_devs.h b/src/soc/intel/pantherlake/include/soc/pci_devs.h index 25468ab39a..a1ef4f4c32 100644 --- a/src/soc/intel/pantherlake/include/soc/pci_devs.h +++ b/src/soc/intel/pantherlake/include/soc/pci_devs.h @@ -256,5 +256,6 @@ #define SA_DEVFN_TCSS_DMA1 PCI_DEVFN_TCSS_DMA1 #define SA_DEV_IGD PCI_DEV_IGD #define SA_DEVFN_IGD PCI_DEVFN_IGD +#define SOC_I2C_DEVFN(n) PCI_DEVFN_I2C##n #endif // _SOC_PANTHERLAKE_PCI_DEVS_H_