diff options
author | Denis Brockus <dbrockus@google.com> | 2020-04-29 10:01:47 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-30 05:49:06 +0000 |
commit | d76c37b3c16e9ef5b17bc201f7b5da06767451dd (patch) | |
tree | 1eb8b3197e101348ee343cc5a6732a005594e2a2 | |
parent | 815121bc496d5c90265fd8b77089e5b2944ef4b9 (diff) | |
download | chrome-ec-d76c37b3c16e9ef5b17bc201f7b5da06767451dd.tar.gz |
tcpci: display when we send/receive Hard Reset
BUG=none
BRANCH=none
TEST=check output when Hard Reset happens
Signed-off-by: Denis Brockus <dbrockus@google.com>
Change-Id: I8ff34daf27d392aeaa27e4a5af4c2c320f18d49e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2173217
Tested-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Diana Z <dzigterman@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Auto-Submit: Denis Brockus <dbrockus@chromium.org>
-rw-r--r-- | driver/tcpm/tcpci.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index b68feacf83..2ac4cf91f3 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -1060,12 +1060,24 @@ void tcpci_tcpc_alert(int port) if (reg & TCPC_REG_POWER_STATUS_VBUS_DET) board_vbus_present_change(); } + if (alert & TCPC_REG_ALERT_RX_HARD_RST) { /* hard reset received */ + CPRINTS("C%d Hard Reset received", port); pd_execute_hard_reset(port); pd_event |= TASK_EVENT_WAKE; } + /* USB TCPCI Spec R2 V1.1 Section 4.7.3 Step 2 + * + * The TCPC asserts both ALERT.TransmitSOP*MessageSuccessful and + * ALERT.TransmitSOP*MessageFailed regardless of the outcome of the + * transmission and asserts the Alert# pin. + */ + if (alert & TCPC_REG_ALERT_TX_SUCCESS && + alert & TCPC_REG_ALERT_TX_FAILED) + CPRINTS("C%d Hard Reset sent", port); + if (IS_ENABLED(CONFIG_USB_TYPEC_PD_FAST_ROLE_SWAP) && (alert_ext & TCPC_REG_ALERT_EXT_SNK_FRS)) pd_got_frs_signal(port); |