From fe728d62c92bfb79d7b5102d75db2dca713f5989 Mon Sep 17 00:00:00 2001 From: Jeremy Compostella Date: Mon, 23 Feb 2026 07:46:06 -0800 Subject: [PATCH] soc/intel/elkhartlake: 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: I09aec87fbac0861d3b50d26f475016fdd5aa6fb7 Signed-off-by: Jeremy Compostella Reviewed-on: https://review.coreboot.org/c/coreboot/+/91260 Tested-by: build bot (Jenkins) Reviewed-by: Guvendik, Bora --- src/soc/intel/elkhartlake/Kconfig | 1 + src/soc/intel/elkhartlake/Makefile.mk | 1 - src/soc/intel/elkhartlake/i2c.c | 51 ------------------- .../intel/elkhartlake/include/soc/pci_devs.h | 3 ++ 4 files changed, 4 insertions(+), 52 deletions(-) delete mode 100644 src/soc/intel/elkhartlake/i2c.c diff --git a/src/soc/intel/elkhartlake/Kconfig b/src/soc/intel/elkhartlake/Kconfig index 79e57e6894..4e5b9bc99c 100644 --- a/src/soc/intel/elkhartlake/Kconfig +++ b/src/soc/intel/elkhartlake/Kconfig @@ -56,6 +56,7 @@ config SOC_INTEL_ELKHARTLAKE select SOC_INTEL_COMMON_BLOCK_SMM select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP 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/elkhartlake/Makefile.mk b/src/soc/intel/elkhartlake/Makefile.mk index 393a90d17c..b457a2a53b 100644 --- a/src/soc/intel/elkhartlake/Makefile.mk +++ b/src/soc/intel/elkhartlake/Makefile.mk @@ -7,7 +7,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 diff --git a/src/soc/intel/elkhartlake/i2c.c b/src/soc/intel/elkhartlake/i2c.c deleted file mode 100644 index 78ee37b72d..0000000000 --- a/src/soc/intel/elkhartlake/i2c.c +++ /dev/null @@ -1,51 +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 PCH_DEVFN_I2C0: - return 0; - case PCH_DEVFN_I2C1: - return 1; - case PCH_DEVFN_I2C2: - return 2; - case PCH_DEVFN_I2C3: - return 3; - case PCH_DEVFN_I2C4: - return 4; - case PCH_DEVFN_I2C5: - return 5; - case PCH_DEVFN_I2C6: - return 6; - case PCH_DEVFN_I2C7: - return 7; - } - return -1; -} - -int dw_i2c_soc_bus_to_devfn(unsigned int bus) -{ - switch (bus) { - case 0: - return PCH_DEVFN_I2C0; - case 1: - return PCH_DEVFN_I2C1; - case 2: - return PCH_DEVFN_I2C2; - case 3: - return PCH_DEVFN_I2C3; - case 4: - return PCH_DEVFN_I2C4; - case 5: - return PCH_DEVFN_I2C5; - case 6: - return PCH_DEVFN_I2C6; - case 7: - return PCH_DEVFN_I2C7; - } - return -1; -} diff --git a/src/soc/intel/elkhartlake/include/soc/pci_devs.h b/src/soc/intel/elkhartlake/include/soc/pci_devs.h index 743c3a8cd6..885ebac506 100644 --- a/src/soc/intel/elkhartlake/include/soc/pci_devs.h +++ b/src/soc/intel/elkhartlake/include/soc/pci_devs.h @@ -253,3 +253,6 @@ #define PCI_DEVFN_UART2 PCH_DEVFN_UART2 #endif + +/* for common code */ +#define SOC_I2C_DEVFN(n) PCH_DEVFN_I2C##n