summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/skylake/chip.h3
-rw-r--r--src/soc/intel/skylake/chip_fsp20.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h
index 7c95ec1b0e..003c44fc91 100644
--- a/src/soc/intel/skylake/chip.h
+++ b/src/soc/intel/skylake/chip.h
@@ -110,6 +110,9 @@ struct soc_intel_skylake_config {
/* PL4 Value in Watts */
u32 tdp_pl4;
+ /* Estimated maximum platform power in Watts */
+ u16 psys_pmax;
+
/*
* The following fields come from FspUpdVpd.h.
* These are configuration values that are passed to FSP during
diff --git a/src/soc/intel/skylake/chip_fsp20.c b/src/soc/intel/skylake/chip_fsp20.c
index ccda3032c5..aad918a1ad 100644
--- a/src/soc/intel/skylake/chip_fsp20.c
+++ b/src/soc/intel/skylake/chip_fsp20.c
@@ -93,7 +93,6 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
FSP_S_TEST_CONFIG *tconfig = &supd->FspsTestConfig;
static struct soc_intel_skylake_config *config;
uintptr_t vbt_data = 0;
-
int i;
int is_s3_wakeup = acpi_is_wakeup_s3();
@@ -106,6 +105,12 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
config = dev->chip_info;
mainboard_silicon_init_params(params);
+ /* Set PsysPmax if it is available from DT */
+ if (config->psys_pmax) {
+ /* PsysPmax is in unit of 1/8 Watt */
+ tconfig->PsysPmax = config->psys_pmax * 8;
+ printk(BIOS_DEBUG, "psys_pmax = %d\n", tconfig->PsysPmax);
+ }
/* Load VBT */
if (is_s3_wakeup) {