<p>Furquan Shaikh has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20869">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mainboard/google/poppy: Ensure correct sequencing of PERST signal<br><br>PERST# signal has specific requirements that it should be low for<br>~1msec after applying power to PCIe device. Ensure that this<br>requirement is met by adding a delay of 5ms before setting WLAN_PE_RST<br>to low (There is an inverter which inverts the logic of WLAN_PE_RST to<br>PERST#).<br><br>(This is a temporary workaround until support is added to do this in<br>ACPI.)<br><br>BUG=b:64181150,b:62726961<br>TEST=Verified with warm reboot and suspend-resume stress test that<br>wifi is still functional.<br><br>Change-Id: I68e1bd67499262a17daade72e9a9fd32934a184d<br>Signed-off-by: Furquan Shaikh <furquan@chromium.org><br>---<br>M src/mainboard/google/poppy/ramstage.c<br>M src/mainboard/google/poppy/smihandler.c<br>M src/mainboard/google/poppy/variants/soraka/gpio.c<br>3 files changed, 17 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/20869/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/google/poppy/ramstage.c b/src/mainboard/google/poppy/ramstage.c<br>index 39df3ee..2390013 100644<br>--- a/src/mainboard/google/poppy/ramstage.c<br>+++ b/src/mainboard/google/poppy/ramstage.c<br>@@ -14,6 +14,9 @@<br>  */<br> <br> #include <baseboard/variants.h><br>+#include <delay.h><br>+#include <gpio.h><br>+#include <soc/gpio.h><br> #include <soc/ramstage.h><br> <br> #include <variant/gpio.h><br>@@ -25,4 +28,16 @@<br> <br>  pads = variant_gpio_table(&num);<br>  gpio_configure_pads(pads, num);<br>+<br>+   /*<br>+    * TODO(furquan): Temporary work-around until this is properly<br>+        * implemented in ACPI.<br>+       * Ensure PERST# timing requirements are met by pulling it high for<br>+   * >1msec. This is important to ensure that the wifi chip does not get<br>+     * into a bad state on warm reboot/suspend-resume.<br>+    */<br>+  gpio_set(GPP_B8, 1);<br>+ mdelay(5);<br>+   gpio_set(GPP_B8, 0);<br>+<br> }<br>diff --git a/src/mainboard/google/poppy/smihandler.c b/src/mainboard/google/poppy/smihandler.c<br>index 1a86d0f..68d071e 100644<br>--- a/src/mainboard/google/poppy/smihandler.c<br>+++ b/src/mainboard/google/poppy/smihandler.c<br>@@ -31,6 +31,7 @@<br> {<br>       /* Power down camera PMIC */<br>  gpio_set(EN_PP3300_DX_CAM, 0);<br>+       gpio_set(GPP_B8, 1);<br> }<br> <br> void mainboard_smi_sleep(u8 slp_typ)<br>diff --git a/src/mainboard/google/poppy/variants/soraka/gpio.c b/src/mainboard/google/poppy/variants/soraka/gpio.c<br>index f0fb34a..ddd5cd7 100644<br>--- a/src/mainboard/google/poppy/variants/soraka/gpio.c<br>+++ b/src/mainboard/google/poppy/variants/soraka/gpio.c<br>@@ -79,7 +79,7 @@<br>    /* B7  : SRCCLKREQ2# ==> NC */<br>     PAD_CFG_NC(GPP_B7),<br>   /* B8  : SRCCLKREQ3# ==> WLAN_PE_RST */<br>-   PAD_CFG_GPO(GPP_B8, 0, DEEP),<br>+        PAD_CFG_GPO(GPP_B8, 1, DEEP),<br>         /* B9  : SRCCLKREQ4# ==> NC */<br>     PAD_CFG_NC(GPP_B9),<br>   /* B10 : SRCCLKREQ5# ==> NC */<br></pre><p>To view, visit <a href="https://review.coreboot.org/20869">change 20869</a>. To unsubscribe, 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/20869"/><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: I68e1bd67499262a17daade72e9a9fd32934a184d </div>
<div style="display:none"> Gerrit-Change-Number: 20869 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Furquan Shaikh <furquan@google.com> </div>