[coreboot-gerrit] Patch set updated for coreboot: google/gru: drive WLAN_MODULE_RST# low as early as possible

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Oct 6 21:54:52 CEST 2016


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16882

-gerrit

commit 63d0297fb7b381481c38d729244a25d4739d3f0a
Author: Brian Norris <briannorris at chromium.org>
Date:   Wed Sep 21 18:16:54 2016 -0700

    google/gru: drive WLAN_MODULE_RST# low as early as possible
    
    GPIO1_B3 (WLAN_MODULE_RST#) defaults as a pull-up input, but it is also
    "pulled up" by 1.8V_WLAN. However, 1.8V_WLAN remains low for some time
    during early boot. This leaves the signal floating somewhere in the
    middle.
    
    This has two potential issues:
    (1) we're leaking some power for some (hopefully) short period of time
    (2) we are possibly screwing with the Wifi power sequence; we aren't
        supposed to deassert PDn (i.e., MODULE_RST#) until all the rails
        have fully ramped for some period of time
    
    Neither of the above issues are likely to be significant, but it is nice
    to fix, I expect.
    
    BRANCH=gru
    BUG=chrome-os-partner:54026
    TEST=measure WLAN_MODULE_RST# on scope at boot time
    
    Change-Id: Ia6af9ad6954ad8feeda33015e3f205842380939e
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 0e890a2787bf034d3358a33fc88c2dd8078593ab
    Original-Change-Id: I120e26ad0ca486a326874986e142dcaee965b62d
    Original-Signed-off-by: Brian Norris <briannorris at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/388009
    Original-Reviewed-by: Douglas Anderson <dianders at chromium.org>
    Original-Reviewed-by: Julius Werner <jwerner at chromium.org>
---
 src/mainboard/google/gru/mainboard.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 8b9f595..ae2c339 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -29,6 +29,16 @@
 
 #include "board.h"
 
+/*
+ * Wifi's PDN/RST line is pulled down by its (unpowered) voltage rails, but
+ * this reset pin is pulled up by default. Let's drive it low as early as we
+ * can.
+ */
+static void deassert_wifi_power(void)
+{
+	gpio_output(GPIO(1, B, 3), 0);  /* Assert WLAN_MODULE_RST# */
+}
+
 static void configure_emmc(void)
 {
 	/* Host controller does not support programmable clock generator.
@@ -236,6 +246,7 @@ static void setup_usb(void)
 
 static void mainboard_init(device_t dev)
 {
+	deassert_wifi_power();
 	configure_sdmmc();
 	configure_emmc();
 	configure_codec();



More information about the coreboot-gerrit mailing list