diff options
Diffstat (limited to 'src/soc/intel')
-rw-r--r-- | src/soc/intel/skylake/chip.c | 5 | ||||
-rw-r--r-- | src/soc/intel/skylake/chip.h | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src/soc/intel/skylake/chip.c b/src/soc/intel/skylake/chip.c index f990d2b4a6..7bbf336777 100644 --- a/src/soc/intel/skylake/chip.c +++ b/src/soc/intel/skylake/chip.c @@ -415,8 +415,9 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params) params->SerialIrqConfigStartFramePulse = config->SerialIrqConfigStartFramePulse; params->SkipMpInit = config->FspSkipMpInit; - memcpy(params->SerialIoI2cVoltage, config->SerialIoI2cVoltage, - sizeof(params->SerialIoI2cVoltage)); + + for (i = 0; i < ARRAY_SIZE(config->i2c); i++) + params->SerialIoI2cVoltage[i] = config->i2c[i].voltage; /* * To disable Heci, the Psf needs to be left unlocked diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h index 2db84b7f25..1d3113f481 100644 --- a/src/soc/intel/skylake/chip.h +++ b/src/soc/intel/skylake/chip.h @@ -29,6 +29,18 @@ #include <soc/usb.h> #include <soc/vr_config.h> +#define SKYLAKE_I2C_DEV_MAX 6 + +enum skylake_i2c_voltage { + I2C_VOLTAGE_3V3, + I2C_VOLTAGE_1V8 +}; + +struct skylake_i2c_config { + /* Bus voltage level, default is 3.3V */ + enum skylake_i2c_voltage voltage; +}; + struct soc_intel_skylake_config { /* * Interrupt Routing configuration @@ -179,8 +191,8 @@ struct soc_intel_skylake_config { */ u8 SerialIoDevMode[PchSerialIoIndexMax]; - /* I2C voltage select. Value: 0: 3.3V , 1: 1.8V.*/ - u8 SerialIoI2cVoltage[6]; + /* I2C */ + struct skylake_i2c_config i2c[SKYLAKE_I2C_DEV_MAX]; /* Camera */ u8 Cio2Enable; |