diff options
author | Ruibin Chang <Ruibin.Chang@ite.com.tw> | 2019-11-27 14:02:42 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-05 14:00:56 +0000 |
commit | 873d6a43ebd5fd2d4b89d70a2d9e32f0887171a1 (patch) | |
tree | 48cb17c2e9fc253fb85897da4965386fac7360b9 /common/usbc | |
parent | 82b3aa3c8087febb13463cca2832736c49fe6c8e (diff) | |
download | chrome-ec-873d6a43ebd5fd2d4b89d70a2d9e32f0887171a1.tar.gz |
TCPMv2: hook unattached state for ITE driver
When type-c state transits to unattached state (except cc toggle),
it need hook notify for ITE driver setting plug-in ISR and exit
BIST mode.
BUG=none
BRANCH=none
TEST=reef_it8320 connect to dongle and adapter, check by UART:
1.Hook function is called in unattached state
2.PD states to SNK_READY or SRC_READY
Change-Id: I9a8bd4bdcf3c7331d614a255400b1d72c5b2e9b3
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1898263
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'common/usbc')
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index 177518dd34..a698609f48 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -1567,8 +1567,11 @@ static void tc_error_recovery_run(const int port) */ static void tc_unattached_snk_entry(const int port) { - if (get_last_state_tc(port) != TC_UNATTACHED_SRC) + if (get_last_state_tc(port) != TC_UNATTACHED_SRC) { + /* Detect USB PD cc disconnect */ + hook_notify(HOOK_USB_PD_DISCONNECT); print_current_state(port); + } tc[port].data_role = PD_ROLE_DISCONNECTED; @@ -2251,8 +2254,11 @@ static void tc_dbg_acc_snk_exit(const int port) */ static void tc_unattached_src_entry(const int port) { - if (get_last_state_tc(port) != TC_UNATTACHED_SNK) + if (get_last_state_tc(port) != TC_UNATTACHED_SNK) { + /* Detect USB PD cc disconnect */ + hook_notify(HOOK_USB_PD_DISCONNECT); print_current_state(port); + } tc[port].data_role = PD_ROLE_DISCONNECTED; |