<p>Shamile Khan has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/26491">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">soc/intel/apollolake: Don't use pulldowns in standby state for 1.8/3.3V pins.<br><br>These pins should not have pull downs configured in standby state as that<br>can cause contention on the termination circuitry and lead to incorrect<br>behavior as per Doc# 572688 Gemini Lake Processor GPIOTermination<br>Configuration.<br><br>Furthermore, some of these pins were configured with normal termination<br>of None which would as per above mentioned document lead to a standby<br>termination of None anyways.<br><br>Instead of pull downs, use the IOSSTATE setting for driving low<br>via the Tx mode.<br><br>BUG=b:79874891, b:79494332, b:79982669<br>BRANCH=None<br>TEST=Flashed image and booted to OS on Yorp. Touchscreen does not<br>consume power in suspend state.<br><br>Change-Id: I7dcf3691b969d018b3cfb6af3f7467c9b523fee5<br>Signed-off-by: Shamile Khan <shamile.khan@intel.com><br>---<br>M src/mainboard/google/octopus/variants/baseboard/gpio.c<br>M src/mainboard/google/octopus/variants/bip/gpio.c<br>2 files changed, 14 insertions(+), 14 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/91/26491/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/google/octopus/variants/baseboard/gpio.c b/src/mainboard/google/octopus/variants/baseboard/gpio.c</span><br><span>index 667c5f4..b58224a 100644</span><br><span>--- a/src/mainboard/google/octopus/variants/baseboard/gpio.c</span><br><span>+++ b/src/mainboard/google/octopus/variants/baseboard/gpio.c</span><br><span>@@ -143,8 +143,8 @@</span><br><span>        PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_101, NONE, DEEP, NF1),/* PMU_SLP_S3_B */</span><br><span>    PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_102, NONE, DEEP, NF1),/* PMU_SLP_S4_B */</span><br><span>    PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_103, NONE, DEEP, NF1),/* SUSPWRDNACK */</span><br><span style="color: hsl(0, 100%, 40%);">-        PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_104, NONE, DEEP, NF1, HIZCRx0, ENPD),/* EMMC_DNX_PWR_EN_B */</span><br><span style="color: hsl(0, 100%, 40%);">-   PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_105, 0, DEEP, NONE, HIZCRx0, ENPD),/* GPIO_105 -- TOUCHSCREEN_RST */</span><br><span style="color: hsl(120, 100%, 40%);">+        PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_104, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* EMMC_DNX_PWR_EN_B */</span><br><span style="color: hsl(120, 100%, 40%);">+   PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_105, 0, DEEP, NONE, Tx0RxDCRx0, DISPUPD),/* GPIO_105 -- TOUCHSCREEN_RST */</span><br><span>         PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_106, UP_20K, DEEP, NF1, HIZCRx1, ENPU),/* PMU_BATLOW_B */</span><br><span>   PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_107, NONE, DEEP, NF1, TxDRxE, DISPUPD),/* PMU_RESETBUTTON_B */</span><br><span>      PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_108, NONE, DEEP, NF1),/* PMU_SUSCLK */</span><br><span>@@ -172,7 +172,7 @@</span><br><span>        /* PCIE_CLKREQ[0:3]_B */</span><br><span>     PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_120, UP_20K, DEEP, NF1, HIZCRx1, ENPU),/* PCIE_CLKREQ0_B -- unused*/</span><br><span>        PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_121, UP_20K, DEEP, NF1, HIZCRx1, ENPU),/* PCIE_CLKREQ1_B -- unused */</span><br><span style="color: hsl(0, 100%, 40%);">-  PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_122, 0, DEEP, DN_20K, HIZCRx0, ENPD),/* PCIE_CLKREQ2_B -- EN_PP3300_WLAN */</span><br><span style="color: hsl(120, 100%, 40%);">+ PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_122, 0, DEEP, NONE, Tx0RxDCRx0, DISPUPD),/* PCIE_CLKREQ2_B -- EN_PP3300_WLAN */</span><br><span>    PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_123, UP_20K, DEEP, NF1, TxDRxE, DISPUPD), /* PCIE_CLKREQ3_B */</span><br><span> </span><br><span>  /* DDI[0:1] SDA and SCL -- unused */</span><br><span>@@ -182,9 +182,9 @@</span><br><span>   PAD_CFG_GPIO_HI_Z(GPIO_127, NONE, DEEP, HIZCRx0, DISPUPD),/* HV_DDI1_DDC_SCL -- unused */</span><br><span> </span><br><span>        /* Panel 0 control */</span><br><span style="color: hsl(0, 100%, 40%);">-   PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_128, NONE, DEEP, NF1, HIZCRx0, ENPD),/* PANEL0_VDDEN*/</span><br><span style="color: hsl(0, 100%, 40%);">- PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_129, DN_20K, DEEP, NF1, HIZCRx0, ENPD),/* PANEL0_BKLTEN */</span><br><span style="color: hsl(0, 100%, 40%);">-     PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_130, DN_20K, DEEP, NF1, HIZCRx0, ENPD),/* PANEL0_BKLTCTL */</span><br><span style="color: hsl(120, 100%, 40%);">+  PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_128, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* PANEL0_VDDEN*/</span><br><span style="color: hsl(120, 100%, 40%);">+ PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_129, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* PANEL0_BKLTEN */</span><br><span style="color: hsl(120, 100%, 40%);">+       PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_130, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* PANEL0_BKLTCTL */</span><br><span> </span><br><span>         /* Hot plug detect. */</span><br><span>       PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_131, NONE, DEEP, NF1, HIZCRx1, DISPUPD),/* HV_DDI0_HPD */</span><br><span>@@ -198,7 +198,7 @@</span><br><span>     PAD_CFG_GPI_APIC_IOS(GPIO_137, NONE, DEEP, LEVEL, INVERT, HIZCRx1, DISPUPD),/* GPIO_137 -- HP_INT_ODL */</span><br><span>     PAD_CFG_GPI(GPIO_138, NONE, DEEP),/* GPIO_138 -- PEN_PDCT_ODL */</span><br><span>     PAD_CFG_GPI_APIC_IOS(GPIO_139, NONE, DEEP, LEVEL, INVERT, HIZCRx1, DISPUPD),/* GPIO_138 -- PEN_INT_ODL */</span><br><span style="color: hsl(0, 100%, 40%);">-       PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_140, 0, DEEP, NONE, HIZCRx0, ENPD),/* GPIO_140 -- PEN_RESET */</span><br><span style="color: hsl(120, 100%, 40%);">+      PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_140, 0, DEEP, NONE, Tx0RxDCRx0, DISPUPD),/* GPIO_140 -- PEN_RESET */</span><br><span>       // TODO check if it is ok to set to GPIROUTSCI (as in Coral/Reef and others).</span><br><span>        // Settings here do not match table</span><br><span>  // Also we may be able to use eSPI WAKE# Virtual Wire instead</span><br><span>diff --git a/src/mainboard/google/octopus/variants/bip/gpio.c b/src/mainboard/google/octopus/variants/bip/gpio.c</span><br><span>index fb1ea88..904d940 100644</span><br><span>--- a/src/mainboard/google/octopus/variants/bip/gpio.c</span><br><span>+++ b/src/mainboard/google/octopus/variants/bip/gpio.c</span><br><span>@@ -141,8 +141,8 @@</span><br><span>     PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_101, NONE, DEEP, NF1),/* PMU_SLP_S3_B */</span><br><span>    PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_102, NONE, DEEP, NF1),/* PMU_SLP_S4_B */</span><br><span>    PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_103, NONE, DEEP, NF1),/* SUSPWRDNACK */</span><br><span style="color: hsl(0, 100%, 40%);">-        PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_104, NONE, DEEP, NF1, HIZCRx0, ENPD),/* EMMC_DNX_PWR_EN_B */</span><br><span style="color: hsl(0, 100%, 40%);">-   PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_105, 0, DEEP, NONE, HIZCRx0, ENPD),/* GPIO_105 -- TOUCHSCREEN_RST */</span><br><span style="color: hsl(120, 100%, 40%);">+        PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_104, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* EMMC_DNX_PWR_EN_B */</span><br><span style="color: hsl(120, 100%, 40%);">+   PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_105, 0, DEEP, NONE, Tx0RxDCRx0, DISPUPD),/* GPIO_105 -- TOUCHSCREEN_RST */</span><br><span>         PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_106, UP_20K, DEEP, NF1, HIZCRx1, ENPU),/* PMU_BATLOW_B */</span><br><span>   PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_107, NONE, DEEP, NF1, TxDRxE, DISPUPD),/* PMU_RESETBUTTON_B */</span><br><span>      PAD_CFG_NF_IOSTANDBY_IGNORE(GPIO_108, NONE, DEEP, NF1),/* PMU_SUSCLK */</span><br><span>@@ -170,7 +170,7 @@</span><br><span>        /* PCIE_CLKREQ[0:3]_B */</span><br><span>     PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_120, UP_20K, DEEP, NF1, HIZCRx1, ENPU),/* PCIE_CLKREQ0_B -- unused*/</span><br><span>        PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_121, UP_20K, DEEP, NF1, HIZCRx1, ENPU),/* PCIE_CLKREQ1_B -- unused */</span><br><span style="color: hsl(0, 100%, 40%);">-  PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_122, 0, DEEP, DN_20K, HIZCRx0, ENPD),/* PCIE_CLKREQ2_B -- EN_PP3300_WLAN */</span><br><span style="color: hsl(120, 100%, 40%);">+ PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_122, 0, DEEP, NONE, Tx0RxDCRx0, DISPUPD),/* PCIE_CLKREQ2_B -- EN_PP3300_WLAN */</span><br><span>    PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_123, UP_20K, DEEP, NF1, TxDRxE, DISPUPD), /* PCIE_CLKREQ3_B */</span><br><span> </span><br><span>  /* DDI[0:1] SDA and SCL -- unused */</span><br><span>@@ -180,9 +180,9 @@</span><br><span>   PAD_CFG_GPIO_HI_Z(GPIO_127, NONE, DEEP, HIZCRx0, DISPUPD),/* HV_DDI1_DDC_SCL -- unused */</span><br><span> </span><br><span>        /* Panel 0 control */</span><br><span style="color: hsl(0, 100%, 40%);">-   PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_128, NONE, DEEP, NF1, HIZCRx0, ENPD),/* PANEL0_VDDEN*/</span><br><span style="color: hsl(0, 100%, 40%);">- PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_129, DN_20K, DEEP, NF1, HIZCRx0, ENPD),/* PANEL0_BKLTEN */</span><br><span style="color: hsl(0, 100%, 40%);">-     PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_130, DN_20K, DEEP, NF1, HIZCRx0, ENPD),/* PANEL0_BKLTCTL */</span><br><span style="color: hsl(120, 100%, 40%);">+  PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_128, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* PANEL0_VDDEN*/</span><br><span style="color: hsl(120, 100%, 40%);">+ PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_129, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* PANEL0_BKLTEN */</span><br><span style="color: hsl(120, 100%, 40%);">+       PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_130, NONE, DEEP, NF1, Tx0RxDCRx0, DISPUPD),/* PANEL0_BKLTCTL */</span><br><span> </span><br><span>         /* Hot plug detect. */</span><br><span>       PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_131, NONE, DEEP, NF1, HIZCRx1, DISPUPD),/* HV_DDI0_HPD */</span><br><span>@@ -196,7 +196,7 @@</span><br><span>     PAD_CFG_GPI_APIC_IOS(GPIO_137, NONE, DEEP, LEVEL, INVERT, HIZCRx1, DISPUPD),/* GPIO_137 -- HP_INT_ODL */</span><br><span>     PAD_CFG_GPI(GPIO_138, NONE, DEEP),/* GPIO_138 -- PEN_PDCT_ODL */</span><br><span>     PAD_CFG_GPI_APIC_IOS(GPIO_139, NONE, DEEP, LEVEL, INVERT, HIZCRx1, DISPUPD),/* GPIO_138 -- PEN_INT_ODL */</span><br><span style="color: hsl(0, 100%, 40%);">-       PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_140, 0, DEEP, NONE, HIZCRx0, ENPD),/* GPIO_140 -- PEN_RESET */</span><br><span style="color: hsl(120, 100%, 40%);">+      PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_140, 0, DEEP, NONE, Tx0RxDCRx0, DISPUPD),/* GPIO_140 -- PEN_RESET */</span><br><span>       // TODO check if it is ok to set to GPIROUTSCI (as in Coral/Reef and others).</span><br><span>        // Settings here do not match table</span><br><span>  // Also we may be able to use eSPI WAKE# Virtual Wire instead</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26491">change 26491</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/26491"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I7dcf3691b969d018b3cfb6af3f7467c9b523fee5 </div>
<div style="display:none"> Gerrit-Change-Number: 26491 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Shamile Khan <shamile.khan@intel.com> </div>