mb/google/volteer: Set FORCE_PWR low at boot time

While FORCE_PWR is set high, it prevents retimer from entering low power
state. S0ix failure occurs while USB4 Gatkex is connected on Port-0.
This change sets FORCE_PWR(GPP_H10) low. This FORCE_PWR GPIO will be
toggled by kernel through DSM method while updating retimer firmware.

BUG=b:174166586
Cq-Depend: chromium:2594438
TEST=Verifed s0ix cycles with USB4 Gatkex connected on Port-0.

Signed-off-by: John Zhao <john.zhao@intel.com>
Change-Id: Ie4b442e1078379c522a94bfdc00cd99e6f9b8170
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48649
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
John Zhao 2020-12-15 14:36:51 -08:00 committed by Patrick Georgi
parent c1befbe5d0
commit 3ba2c1a63e
4 changed files with 4 additions and 4 deletions

View File

@ -308,7 +308,7 @@ static const struct pad_config gpio_table[] = {
/* H9 : I2C4_SCL ==> NC */ /* H9 : I2C4_SCL ==> NC */
PAD_NC(GPP_H9, NONE), PAD_NC(GPP_H9, NONE),
/* H10 : SRCCLKREQ4# ==> USB_C1_RT_FORCE_PWR */ /* H10 : SRCCLKREQ4# ==> USB_C1_RT_FORCE_PWR */
PAD_CFG_GPO(GPP_H10, 1, DEEP), PAD_CFG_GPO(GPP_H10, 0, DEEP),
/* H11 : SRCCLKREQ5# ==> NC */ /* H11 : SRCCLKREQ5# ==> NC */
PAD_NC(GPP_H11, NONE), PAD_NC(GPP_H11, NONE),
/* H12 : M2_SKT2_CFG0 ==> NONE */ /* H12 : M2_SKT2_CFG0 ==> NONE */

View File

@ -139,7 +139,7 @@ static const struct pad_config override_gpio_table[] = {
/* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */ /* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */
PAD_CFG_GPO(GPP_H3, 1, DEEP), PAD_CFG_GPO(GPP_H3, 1, DEEP),
/* H10 : SRCCLKREQ4# ==> USB_C_MIX_RT_FORCE_PWR */ /* H10 : SRCCLKREQ4# ==> USB_C_MIX_RT_FORCE_PWR */
PAD_CFG_GPO(GPP_H10, 1, DEEP), PAD_CFG_GPO(GPP_H10, 0, DEEP),
/* H13 : M2_SKT2_CFG1 # ==> SPKR_INT_L */ /* H13 : M2_SKT2_CFG1 # ==> SPKR_INT_L */
PAD_CFG_GPI(GPP_H13, NONE, DEEP), PAD_CFG_GPI(GPP_H13, NONE, DEEP),
/* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */ /* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */

View File

@ -147,7 +147,7 @@ static const struct pad_config override_gpio_table[] = {
/* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */ /* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */
PAD_CFG_GPO(GPP_H3, 1, DEEP), PAD_CFG_GPO(GPP_H3, 1, DEEP),
/* H10 : SRCCLKREQ4# ==> USB_C_MIX_RT_FORCE_PWR */ /* H10 : SRCCLKREQ4# ==> USB_C_MIX_RT_FORCE_PWR */
PAD_CFG_GPO(GPP_H10, 1, DEEP), PAD_CFG_GPO(GPP_H10, 0, DEEP),
/* H13 : M2_SKT2_CFG1 # ==> SPKR_INT_L */ /* H13 : M2_SKT2_CFG1 # ==> SPKR_INT_L */
PAD_CFG_GPI(GPP_H13, NONE, DEEP), PAD_CFG_GPI(GPP_H13, NONE, DEEP),
/* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */ /* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */

View File

@ -137,7 +137,7 @@ static const struct pad_config override_gpio_table[] = {
/* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */ /* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */
PAD_CFG_GPO(GPP_H3, 1, DEEP), PAD_CFG_GPO(GPP_H3, 1, DEEP),
/* H10 : SRCCLKREQ4# ==> USB_C_MIX_RT_FORCE_PWR */ /* H10 : SRCCLKREQ4# ==> USB_C_MIX_RT_FORCE_PWR */
PAD_CFG_GPO(GPP_H10, 1, DEEP), PAD_CFG_GPO(GPP_H10, 0, DEEP),
/* H13 : M2_SKT2_CFG1 # ==> SPKR_INT_L */ /* H13 : M2_SKT2_CFG1 # ==> SPKR_INT_L */
PAD_CFG_GPI(GPP_H13, NONE, DEEP), PAD_CFG_GPI(GPP_H13, NONE, DEEP),
/* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */ /* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */