soc/intel/alderlake: Allow mainboard to configure c1-state auto-demotion

FSP has a parameter to enable/disable c1-state autodemotion feature.
Boards/Baseboard can choose to use this feature as per requirement.

This patch hooks up this parameter to devicetree

BUG=b:221876248
BRANCH=firmware-brya-14505.B
TEST=Check code compiles and correct value has been passed to FSP.

Change-Id: I2d7839d8fecd7b5403f52f3926d1d0bc06728ed9
Signed-off-by: Maulik V Vaghela <maulik.v.vaghela@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62629
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
This commit is contained in:
MAULIK V VAGHELA 2022-03-03 13:07:57 +05:30 committed by Nick Vaccaro
parent 215a97ee1c
commit 99356386a6
2 changed files with 8 additions and 0 deletions

View File

@ -560,6 +560,12 @@ struct soc_intel_alderlake_config {
/* Energy-Performance Preference (HWP feature) */ /* Energy-Performance Preference (HWP feature) */
bool enable_energy_perf_pref; bool enable_energy_perf_pref;
uint8_t energy_perf_pref_value; uint8_t energy_perf_pref_value;
/*
* Enable or Disable C1 Cstate Demotion.
* Default 0. Set this to 1 in order to disable C state demotion.
*/
bool disable_c1_state_auto_demotion;
}; };
typedef struct soc_intel_alderlake_config config_t; typedef struct soc_intel_alderlake_config config_t;

View File

@ -717,6 +717,8 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
/* PsysPmax is in unit of 1/8 Watt */ /* PsysPmax is in unit of 1/8 Watt */
s_cfg->PsysPmax = config->platform_pmax * 8; s_cfg->PsysPmax = config->platform_pmax * 8;
} }
s_cfg->C1StateAutoDemotion = !config->disable_c1_state_auto_demotion;
} }
static void fill_fsps_irq_params(FSP_S_CONFIG *s_cfg, static void fill_fsps_irq_params(FSP_S_CONFIG *s_cfg,