summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/apollolake/chip.c3
-rw-r--r--src/soc/intel/apollolake/chip.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index 20bbde9288..e824328350 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -717,6 +717,9 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
silconfig->VmxEnable = CONFIG(ENABLE_VMX);
+ /* Enable enhanced C-states */
+ silconfig->C1e = cfg->enhanced_cstates;
+
/* Set VTD feature according to devicetree */
silconfig->VtdEnable = get_uint_option("vtd", cfg->enable_vtd);
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index 209937d775..de3ba9780c 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -135,6 +135,9 @@ struct soc_intel_apollolake_config {
uint8_t hdaudio_pwr_gate_enable;
uint8_t hdaudio_bios_config_lockdown;
+ /* Enhanced C-states */
+ int enhanced_cstates;
+
/* SLP S3 minimum assertion width. */
int slp_s3_assertion_width_usecs;