summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleo.chou <leo.chou@lcfc.corp-partner.google.com>2022-05-13 10:41:03 +0800
committerFelix Held <felix-coreboot@felixheld.de>2022-05-25 18:54:56 +0000
commitaef916a5474bd5d30d4f63f4a2aa556586fcfd2a (patch)
tree7c9c7671c8a36824881218e7c57493f8aba172da
parent288f761a93c9da20ee5aeccad0c3c404d3dc697c (diff)
soc/intel/alderlake: Add chip config for DPA PreWake
The FSP includes a UPD to set the DPA (Dynamic Periodicity Alteration) PreWake value, which can be used to set the maximum pre-wake randomization time in "micro-ticks". This patch adds support for configuring that value. BUG=b:228410327 TEST=build FW and checked DPA value by fsp log. Signed-off-by: leo.chou <leo.chou@lcfc.corp-partner.google.com> Change-Id: I08897c590a88aba058cb9e364185ea0794e1e7c3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/64316 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
-rw-r--r--src/soc/intel/alderlake/chip.h7
-rw-r--r--src/soc/intel/alderlake/fsp_params.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/soc/intel/alderlake/chip.h b/src/soc/intel/alderlake/chip.h
index 665a68c100..2c260c97c5 100644
--- a/src/soc/intel/alderlake/chip.h
+++ b/src/soc/intel/alderlake/chip.h
@@ -557,6 +557,13 @@ struct soc_intel_alderlake_config {
uint8_t fivr_spread_spectrum;
/* Enable or Disable Acoustic Noise Mitigation feature */
uint8_t acoustic_noise_mitigation;
+ /*
+ * Acoustic Noise Mitigation Range. Defines the maximum Pre-Wake
+ * randomization time in micro ticks. This can be programmed only
+ * if AcousticNoiseMitigation is enabled.
+ * Range 0-255
+ */
+ uint8_t PreWake;
/* Disable Fast Slew Rate for Deep Package C States for VR domains */
uint8_t fast_pkg_c_ramp_disable[NUM_VR_DOMAINS];
/*
diff --git a/src/soc/intel/alderlake/fsp_params.c b/src/soc/intel/alderlake/fsp_params.c
index a427289149..e3222be02e 100644
--- a/src/soc/intel/alderlake/fsp_params.c
+++ b/src/soc/intel/alderlake/fsp_params.c
@@ -835,6 +835,7 @@ static void fill_fsps_acoustic_params(FSP_S_CONFIG *s_cfg,
s_cfg->AcousticNoiseMitigation = config->acoustic_noise_mitigation;
if (s_cfg->AcousticNoiseMitigation) {
+ s_cfg->PreWake = config->PreWake;
for (int i = 0; i < NUM_VR_DOMAINS; i++) {
s_cfg->FastPkgCRampDisable[i] = config->fast_pkg_c_ramp_disable[i];
s_cfg->SlowSlewRate[i] = config->slow_slew_rate[i];