diff options
author | Jakub Czapiga <jacz@semihalf.com> | 2023-07-28 14:28:50 +0000 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-10-24 17:59:29 +0000 |
commit | bfadc78bd719196e2fa78c23a8a0bb27dff65fd6 (patch) | |
tree | 6fed4636d2ac3eaf10cd1858968783aaacb72660 /src/soc/intel | |
parent | 731e28a938d583e39095fd553daadf84e5541ffe (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/intel')
-rw-r--r-- | src/soc/intel/meteorlake/chip.h | 3 | ||||
-rw-r--r-- | src/soc/intel/meteorlake/romstage/fsp_params.c | 5 |
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, |