[coreboot-gerrit] Patch merged into coreboot/master: google/gru: Power-cycle USB ports in developer/recovery modes

gerrit at coreboot.org gerrit at coreboot.org
Tue Dec 6 21:56:06 CET 2016


the following patch was just integrated into master:
commit c49782cbe7a79cca03c3c20c647211367bb0a03e
Author: Julius Werner <jwerner at chromium.org>
Date:   Mon Nov 21 20:14:18 2016 -0800

    google/gru: Power-cycle USB ports in developer/recovery modes
    
    Gru only uses USB 2.0 in firmware to avoid all the madness associated
    with Type-C port orientation and USB 3.0 tuning. We do this by isolating
    the SuperSpeed lines in the Type-C PHY so it looks like they aren't
    connected to the device.
    
    Unfortunately, some devices seem to already get "locked" into SuperSpeed
    mode as soon as they detect Rx terminations once, and can never snap out
    again on their own. Since the terminations are already connected during
    power-on reset we cannot disable them fast enough to prevent this, and
    the only solution we found to date is to power-cycle the whole USB port.
    
    Now, Gru's USB port power is controlled by the EC, and unfortunately we
    have no direct host command to control it. We do however have a command
    to force a certain USB PD "role", and forcing our host into "sink" mode
    makes it stop sourcing power to the port. So for lack of a saner
    solution we'll use this to work around our problem.
    
    BRANCH=gru
    BUG=chrome-os-partner:59346
    TEST=Booted Kevin in recovery mode, confirmed that my "problem stick"
    gets detected immediately (whereas previously I had to unplug/replug
    it). Booted Kevin to OS in both developer and normal mode and confirmed
    that USB still seems to work.
    
    Change-Id: Ib3cceba9baa170b13f01bd5c01bd413be5b441ba
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: cd695eda33299e50362f1096c46f2f5260c49036
    Original-Change-Id: I2db3d6d3710d18a8b8030e94eb1ac2e931f22638
    Original-Signed-off-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/413031
    Reviewed-on: https://review.coreboot.org/17628
    Tested-by: build bot (Jenkins)
    Reviewed-by: Martin Roth <martinroth at google.com>


See https://review.coreboot.org/17628 for details.

-gerrit



More information about the coreboot-gerrit mailing list