soc/intel/skylake: Add option to skip coreboot MP init
This patch provides option for mainboard to skip coreboot MP initialization if required based on use_fsp_mp_init. Option for mainboard to skip coreboot MP initialization * 0 = Make use of coreboot MP Init * 1 = Make use of FSP MP Init Default coreboot does MP initialization. Change-Id: I8de24e662963f4600209ad1b110dc950ecfb3a27 Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/26818 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
a0ad6e7873
commit
ce23d4c6f1
21 changed files with 10 additions and 25 deletions
|
@ -48,7 +48,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -44,7 +44,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -79,7 +79,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -48,7 +48,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -36,7 +36,6 @@ chip soc/intel/skylake
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "PmTimerDisabled" = "1"
|
register "PmTimerDisabled" = "1"
|
||||||
|
|
||||||
register "pirqa_routing" = "PCH_IRQ11"
|
register "pirqa_routing" = "PCH_IRQ11"
|
||||||
|
|
|
@ -51,7 +51,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -51,7 +51,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -50,7 +50,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -51,7 +51,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -51,7 +51,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -51,7 +51,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -131,8 +131,6 @@ chip soc/intel/skylake
|
||||||
.voltage_limit = 0x5F0 \
|
.voltage_limit = 0x5F0 \
|
||||||
}"
|
}"
|
||||||
|
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
|
|
||||||
# Enable Root ports.
|
# Enable Root ports.
|
||||||
# PCIE Port 1 x4 -> SLOT1
|
# PCIE Port 1 x4 -> SLOT1
|
||||||
register "PcieRpEnable[0]" = "1"
|
register "PcieRpEnable[0]" = "1"
|
||||||
|
|
|
@ -132,8 +132,6 @@ chip soc/intel/skylake
|
||||||
.voltage_limit = 0x0 \
|
.voltage_limit = 0x0 \
|
||||||
}"
|
}"
|
||||||
|
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
|
|
||||||
# Enable Root ports.
|
# Enable Root ports.
|
||||||
register "PcieRpEnable[2]" = "1"
|
register "PcieRpEnable[2]" = "1"
|
||||||
register "PcieRpEnable[3]" = "1"
|
register "PcieRpEnable[3]" = "1"
|
||||||
|
|
|
@ -128,8 +128,6 @@ chip soc/intel/skylake
|
||||||
.voltage_limit = 0x0 \
|
.voltage_limit = 0x0 \
|
||||||
}"
|
}"
|
||||||
|
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
|
|
||||||
# Enable Root port.
|
# Enable Root port.
|
||||||
register "PcieRpEnable[3]" = "1"
|
register "PcieRpEnable[3]" = "1"
|
||||||
register "PcieRpEnable[4]" = "1"
|
register "PcieRpEnable[4]" = "1"
|
||||||
|
|
|
@ -141,8 +141,6 @@ chip soc/intel/skylake
|
||||||
.voltage_limit = 0x5F0 \
|
.voltage_limit = 0x5F0 \
|
||||||
}"
|
}"
|
||||||
|
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
|
|
||||||
# Enable Root port 1 and 5.
|
# Enable Root port 1 and 5.
|
||||||
register "PcieRpEnable[0]" = "1"
|
register "PcieRpEnable[0]" = "1"
|
||||||
register "PcieRpEnable[4]" = "1"
|
register "PcieRpEnable[4]" = "1"
|
||||||
|
|
|
@ -142,7 +142,8 @@ chip soc/intel/skylake
|
||||||
.voltage_limit = 0x5F0 \
|
.voltage_limit = 0x5F0 \
|
||||||
}"
|
}"
|
||||||
|
|
||||||
register "FspSkipMpInit" = "0"
|
# Skip coreboot MP Init
|
||||||
|
register "use_fsp_mp_init" = "1"
|
||||||
|
|
||||||
# Enable x1 slot
|
# Enable x1 slot
|
||||||
register "PcieRpEnable[7]" = "1"
|
register "PcieRpEnable[7]" = "1"
|
||||||
|
|
|
@ -62,7 +62,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -62,7 +62,6 @@ chip soc/intel/skylake
|
||||||
register "SkipExtGfxScan" = "1"
|
register "SkipExtGfxScan" = "1"
|
||||||
register "Device4Enable" = "1"
|
register "Device4Enable" = "1"
|
||||||
register "HeciEnabled" = "0"
|
register "HeciEnabled" = "0"
|
||||||
register "FspSkipMpInit" = "1"
|
|
||||||
register "SaGv" = "3"
|
register "SaGv" = "3"
|
||||||
register "SerialIrqConfigSirqEnable" = "1"
|
register "SerialIrqConfigSirqEnable" = "1"
|
||||||
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
register "PmConfigSlpS3MinAssert" = "2" # 50ms
|
||||||
|
|
|
@ -171,7 +171,7 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params)
|
||||||
params->SerialIrqConfigStartFramePulse =
|
params->SerialIrqConfigStartFramePulse =
|
||||||
config->SerialIrqConfigStartFramePulse;
|
config->SerialIrqConfigStartFramePulse;
|
||||||
|
|
||||||
params->SkipMpInit = config->FspSkipMpInit;
|
params->SkipMpInit = !config->use_fsp_mp_init;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(config->i2c); i++)
|
for (i = 0; i < ARRAY_SIZE(config->i2c); i++)
|
||||||
params->SerialIoI2cVoltage[i] = config->i2c_voltage[i];
|
params->SerialIoI2cVoltage[i] = config->i2c_voltage[i];
|
||||||
|
|
|
@ -434,7 +434,12 @@ struct soc_intel_skylake_config {
|
||||||
SERIAL_IRQ_FRAME_PULSE_8CLK = 2,
|
SERIAL_IRQ_FRAME_PULSE_8CLK = 2,
|
||||||
} SerialIrqConfigStartFramePulse;
|
} SerialIrqConfigStartFramePulse;
|
||||||
|
|
||||||
u8 FspSkipMpInit;
|
/*
|
||||||
|
* Option for mainboard to skip coreboot MP initialization
|
||||||
|
* 0 = Make use of coreboot MP Init
|
||||||
|
* 1 = Make use of FSP MP Init
|
||||||
|
*/
|
||||||
|
u8 use_fsp_mp_init;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* VrConfig Settings for 5 domains
|
* VrConfig Settings for 5 domains
|
||||||
|
|
|
@ -387,7 +387,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
|
||||||
params->PchSirqEnable = config->SerialIrqConfigSirqEnable;
|
params->PchSirqEnable = config->SerialIrqConfigSirqEnable;
|
||||||
params->PchSirqMode = config->SerialIrqConfigSirqMode;
|
params->PchSirqMode = config->SerialIrqConfigSirqMode;
|
||||||
|
|
||||||
params->CpuConfig.Bits.SkipMpInit = config->FspSkipMpInit;
|
params->CpuConfig.Bits.SkipMpInit = !config->use_fsp_mp_init;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(config->i2c); i++)
|
for (i = 0; i < ARRAY_SIZE(config->i2c); i++)
|
||||||
params->SerialIoI2cVoltage[i] = config->i2c_voltage[i];
|
params->SerialIoI2cVoltage[i] = config->i2c_voltage[i];
|
||||||
|
|
Loading…
Reference in a new issue