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 <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/91260
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Guvendik, Bora <bora.guvendik@intel.com>
This commit is contained in:
Jeremy Compostella 2026-02-23 07:46:06 -08:00 committed by Jérémy Compostella
commit fe728d62c9
4 changed files with 4 additions and 52 deletions

View file

@ -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

View file

@ -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

View file

@ -1,51 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <device/device.h>
#include <drivers/i2c/designware/dw_i2c.h>
#include <soc/pci_devs.h>
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;
}

View file

@ -253,3 +253,6 @@
#define PCI_DEVFN_UART2 PCH_DEVFN_UART2
#endif
/* for common code */
#define SOC_I2C_DEVFN(n) PCH_DEVFN_I2C##n