diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h index ad382e3cf1..dfd5c367e7 100644 --- a/src/soc/intel/meteorlake/chip.h +++ b/src/soc/intel/meteorlake/chip.h @@ -346,6 +346,13 @@ struct soc_intel_meteorlake_config { */ uint8_t lan_clk; + /* + * Enable or Disable Package C-state Demotion. + * Default is set to 0. + * Set this to 1 in order to disable Package C-state demotion. + */ + bool disable_package_c_state_demotion; + /* * Enable or Disable Skipping MBP HOB. * Default is set to 0 and set to 1 to skip the MBP HOB. diff --git a/src/soc/intel/meteorlake/fsp_params.c b/src/soc/intel/meteorlake/fsp_params.c index acf376b9c2..e850eaa259 100644 --- a/src/soc/intel/meteorlake/fsp_params.c +++ b/src/soc/intel/meteorlake/fsp_params.c @@ -642,6 +642,7 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg, /* Enable the energy efficient turbo mode */ s_cfg->EnergyEfficientTurbo = 1; s_cfg->PmcLpmS0ixSubStateEnableMask = get_supported_lpm_mask(); + s_cfg->PkgCStateDemotion = !config->disable_package_c_state_demotion; }