aboutsummaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorJakub Czapiga <jacz@semihalf.com>2023-07-28 14:28:50 +0000
committerFelix Held <felix-coreboot@felixheld.de>2023-10-24 17:59:29 +0000
commitbfadc78bd719196e2fa78c23a8a0bb27dff65fd6 (patch)
tree6fed4636d2ac3eaf10cd1858968783aaacb72660 /src/soc
parent731e28a938d583e39095fd553daadf84e5541ffe (diff)
soc/intel/meteorlake: Add PsysPmax configuration
psys_pmax_watts is configured in SoC node of devicetree. Value represents Watts the PSU provides. Zero means automatic/default configuration (not optimal). BUG=b:289853442 TEST=Build google/rex/ovis4es target board Change-Id: I69afa06110254f6384352c062891c0c9c0b23070 Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76796 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/meteorlake/chip.h3
-rw-r--r--src/soc/intel/meteorlake/romstage/fsp_params.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h
index 6210406fc9..1e75019eab 100644
--- a/src/soc/intel/meteorlake/chip.h
+++ b/src/soc/intel/meteorlake/chip.h
@@ -448,6 +448,9 @@ struct soc_intel_meteorlake_config {
* Set this to 1 in order to reduce BasicMemoryTest size
*/
bool lower_basic_mem_test_size;
+
+ /* Platform Power Pmax in Watts. Zero means automatic. */
+ uint16_t psys_pmax_watts;
};
typedef struct soc_intel_meteorlake_config config_t;
diff --git a/src/soc/intel/meteorlake/romstage/fsp_params.c b/src/soc/intel/meteorlake/romstage/fsp_params.c
index d53a0d4da0..2d8a6c77a0 100644
--- a/src/soc/intel/meteorlake/romstage/fsp_params.c
+++ b/src/soc/intel/meteorlake/romstage/fsp_params.c
@@ -257,6 +257,11 @@ static void fill_fspm_misc_params(FSP_M_CONFIG *m_cfg,
m_cfg->SkipMbpHob = !CONFIG(FSP_PUBLISH_MBP_HOB);
m_cfg->SkipExtGfxScan = config->skip_ext_gfx_scan;
+
+ /* Set PsysPmax if it is available in DT.
+ PsysPmax is in unit of 1/8 Watt */
+ if (config->psys_pmax_watts)
+ m_cfg->PsysPmax = config->psys_pmax_watts * 8;
}
static void fill_fspm_audio_params(FSP_M_CONFIG *m_cfg,