summaryrefslogtreecommitdiff
path: root/common/usbc
diff options
context:
space:
mode:
authorRuibin Chang <Ruibin.Chang@ite.com.tw>2019-11-27 14:02:42 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-05 14:00:56 +0000
commit873d6a43ebd5fd2d4b89d70a2d9e32f0887171a1 (patch)
tree48cb17c2e9fc253fb85897da4965386fac7360b9 /common/usbc
parent82b3aa3c8087febb13463cca2832736c49fe6c8e (diff)
downloadchrome-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.c10
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;