soc/intel/tigerlake: Add FSP UPD D3HotEnable and D3ColdEnable

This adds FSP UPD D3HotEnable and D3ColdEnable for configuration.
D3Hot low power mode support is for TCSS xhci, xdci, TBT PCIe root
ports and DMA controllers. D3Cold is lower mode for TBT PCIe root
ports and DMA controllers with D3Hot->D3Cold transition.

BUG=🅱️146624360
TEST=Built and booted on Volteer.

Signed-off-by: John Zhao <john.zhao@intel.com>
Change-Id: I6782cde6a1bfe13f46e75db8c85537c6d62f5d41
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41474
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com>
This commit is contained in:
John Zhao 2020-05-16 13:06:25 -07:00 committed by Patrick Georgi
parent 1408798637
commit 8aac881fe8
2 changed files with 11 additions and 2 deletions

View File

@ -44,6 +44,11 @@ struct soc_intel_tigerlake_config {
/* Enable S0iX support */ /* Enable S0iX support */
int s0ix_enable; int s0ix_enable;
/* Support for TCSS xhci, xdci, TBT PCIe root ports and DMA controllers */
uint8_t TcssD3HotEnable;
/* Support for TBT PCIe root ports and DMA controllers with D3Hot->D3Cold */
uint8_t TcssD3ColdEnable;
/* Enable DPTF support */ /* Enable DPTF support */
int dptf_enable; int dptf_enable;
@ -216,11 +221,11 @@ struct soc_intel_tigerlake_config {
FORCE_ENABLE, FORCE_ENABLE,
} CnviBtAudioOffload; } CnviBtAudioOffload;
/* Tcss USB */ /* TCSS USB */
uint8_t TcssXhciEn; uint8_t TcssXhciEn;
uint8_t TcssXdciEn; uint8_t TcssXdciEn;
/* Tcss DMA */ /* TCSS DMA */
uint8_t TcssDma0En; uint8_t TcssDma0En;
uint8_t TcssDma1En; uint8_t TcssDma1En;

View File

@ -101,6 +101,10 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
params->SkipMpInit = !CONFIG_USE_INTEL_FSP_MP_INIT; params->SkipMpInit = !CONFIG_USE_INTEL_FSP_MP_INIT;
} }
/* D3Hot and D3Cold for TCSS */
params->D3HotEnable = config->TcssD3HotEnable;
params->D3ColdEnable = config->TcssD3ColdEnable;
params->TcssAuxOri = config->TcssAuxOri; params->TcssAuxOri = config->TcssAuxOri;
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
params->IomTypeCPortPadCfg[i] = config->IomTypeCPortPadCfg[i]; params->IomTypeCPortPadCfg[i] = config->IomTypeCPortPadCfg[i];