mb/google/hatch: Add GPIO programming for GPP_C0 to GPP_C7

coreboot did not program all GPIOs from C0 to C7 correctly which are
SMBUS GPIO. Some of the GPIOs are left in default mode which is
native function but we need to configure as GPIO mode and provide proper
configuration as per schematic.

After fixing GPIO, CSME power gating issue also gets fixed since SMBUS was not
getting idle due to GPIO configuration and CSME was not getting power
gated due to SMBUS.

BUG=b:123702553
BRANCH=none
TEST=Check on hatch board. CSME was not getting power gated for s0ix.
After applying this patch CSME is power gated now

Change-Id: I5c6b9310dcc7bade0023abd5524781ce71df28be
Signed-off-by: Maulik V Vaghela <maulik.v.vaghela@intel.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/31640
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Maulik V Vaghela 2019-02-27 12:06:26 +05:30 committed by Patrick Georgi
parent 67a489fdb0
commit 64b82be3e3
1 changed files with 14 additions and 2 deletions

View File

@ -45,10 +45,22 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1),
/* H1_SLAVE_SPI_MOSI_R */
PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1),
/* TOUCHSCREEN_DIS_L */
PAD_CFG_GPO(GPP_C4, 0, DEEP),
/* GPP_C0 => NC */
PAD_NC(GPP_C0, NONE),
/* PCIE_14_WLAN_WAKE_ODL */
PAD_CFG_GPI_SCI_LOW(GPP_C1, NONE, DEEP, EDGE_SINGLE),
/* GPP_C2 => NC */
PAD_NC(GPP_C2, NONE),
/* WLAN_OFF_L */
PAD_CFG_GPO(GPP_C3, 1, DEEP),
/* TOUCHSCREEN_DIS_L */
PAD_CFG_GPO(GPP_C4, 1, DEEP),
/* GPP_C5 => NC */
PAD_NC(GPP_C5, NONE),
/* PEN_PDCT_OD_L */
PAD_CFG_GPI(GPP_C6, NONE, DEEP),
/* PEN_IRQ_OD_L */
PAD_CFG_GPI_APIC(GPP_C7, NONE, DEEP, LEVEL, NONE),
/* GPP_C10_TP */
PAD_NC(GPP_C10, DN_20K),
/* GPP_C11_TP */