soc/intel/tigerlake: Control SATA and DMI power optimization

FSP provides the UPD's for SATA and DMI power optimization.
In this patch we are adding the soc's config support to set
those power optimization bits in FSP. By default those
optimizations are enabled. To disable those we need to set
the DmiPwrOptimizeDisable and SataPwrOptimizeDisable to 1
in devicetree.

BUG=b:151162424
BRANCH=None
TEST=Build and boot volteer and TGL RVP.

Change-Id: Iefc5e7e48d69dccae43dc595dff2f824e53f5749
Signed-off-by: Shaunak Saha <shaunak.saha@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40005
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Shaunak Saha 2020-03-31 22:56:13 -07:00 committed by Patrick Georgi
parent f318e03495
commit 32b8a51153
2 changed files with 21 additions and 0 deletions

View File

@ -288,6 +288,18 @@ struct soc_intel_tigerlake_config {
/* HyperThreadingDisable : Yes (1) / No (0) */
uint8_t HyperThreadingDisable;
/*
* Enable(0)/Disable(1) DMI Power Optimizer on PCH side.
* Default 0. Setting this to 1 disables the DMI Power Optimizer.
*/
uint8_t DmiPwrOptimizeDisable;
/*
* Enable(0)/Disable(1) SATA Power Optimizer on PCH side.
* Default 0. Setting this to 1 disables the SATA Power Optimizer.
*/
uint8_t SataPwrOptimizeDisable;
};
typedef struct soc_intel_tigerlake_config config_t;

View File

@ -184,6 +184,15 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
sizeof(params->SataPortsDevSlp));
}
/*
* Power Optimizer for DMI and SATA.
* DmiPwrOptimizeDisable and SataPwrOptimizeDisable is default to 0.
* Boards not needing the optimizers explicitly disables them by setting
* these disable variables to 1 in devicetree overrides.
*/
params->PchPwrOptEnable = !(config->DmiPwrOptimizeDisable);
params->SataPwrOptEnable = !(config->SataPwrOptimizeDisable);
/* LAN */
dev = pcidev_path_on_root(PCH_DEVFN_GBE);
if (!dev)