diff options
author | Tim Wawrzynczak <twawrzynczak@chromium.org> | 2020-01-08 19:38:29 +0000 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-01-08 19:56:52 +0000 |
commit | b97274ff4d947107ab8dc66d7508e40bde4ed818 (patch) | |
tree | 7937903b2ca41bf3c131f42e6f035fb28085d7db | |
parent | d2756b04a64b151e03207207ee923969168f0956 (diff) | |
download | chrome-ec-b97274ff4d947107ab8dc66d7508e40bde4ed818.tar.gz |
Revert "tcpci: tcpci_tcpm_set_polarity should not clobber"
This reverts commit 03a4a86192612f92cac85a9313d327a62aeb6ef1.
Reason for revert: This breaks CC polarity and we need a Kindred FSI candidate ASAP. Will reland this later once a proper fix is in master.
Original change's description:
> tcpci: tcpci_tcpm_set_polarity should not clobber
>
> Bits 1-7 were getting clobbered when we updated Bit 0
>
> BUG=none
> BRANCH=none
> TEST=verify tcpci still functions
>
> Change-Id: Ida60a08aa9e250e1dfb640caff44efc75c8ca1a9
> Signed-off-by: Denis Brockus <dbrockus@chromium.org>
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1956438
> Reviewed-by: Jett Rink <jettrink@chromium.org>
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1979567
> Tested-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
> Commit-Queue: Tim Wawrzynczak <twawrzynczak@chromium.org>
Bug: none
Change-Id: I459d4e862a7b5fc0ee8f73053fac084cf5ea2aa6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1992380
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Commit-Queue: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
-rw-r--r-- | driver/tcpm/tcpci.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index c9b50445e3..61639fc394 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -414,24 +414,8 @@ int tcpci_enter_low_power_mode(int port) int tcpci_tcpm_set_polarity(int port, enum tcpc_cc_polarity polarity) { - int rv; - - /* - * TCPCI sets the CC lines based on polarity. If it is set to - * no connection then both CC lines are driven, otherwise only - * one is driven. - */ - rv = tcpm_set_cc(port, tcpci_get_cached_pull(port)); - if (rv) - return rv; - - if (polarity == POLARITY_NONE) - return EC_SUCCESS; - - return tcpc_update8(port, - TCPC_REG_TCPC_CTRL, - TCPC_REG_TCPC_CTRL_SET(1), - (polarity) ? MASK_SET : MASK_CLR); + return tcpc_write(port, TCPC_REG_TCPC_CTRL, + TCPC_REG_TCPC_CTRL_SET(polarity)); } #ifdef CONFIG_USBC_PPC |