summaryrefslogtreecommitdiff
path: root/common/usb_pd_protocol.c
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2019-12-03 12:31:56 -0700
committerCommit Bot <commit-bot@chromium.org>2019-12-06 22:19:35 +0000
commit5fcb29ea3e6cb8839a008fd8b9d619968093e9a7 (patch)
tree4070cd054769df89d971b5421e9ff4fefdb93821 /common/usb_pd_protocol.c
parentd3e5ed7540d2ad903aa70b67dad0ac02d694a78e (diff)
downloadchrome-ec-5fcb29ea3e6cb8839a008fd8b9d619968093e9a7.tar.gz
ppc: Use hard reset to recover from CC overvoltage
When sn5s330 PPC detects CC overvoltage, recover via hard reset and don't enable PP2 sink FET directly. Also clean up the interrupt unmasking in sn5s330_init(). BUG=b:144892533 BRANCH=grunt TEST=Do ESD test to trigger CC1/CC2 OVP, device recovers to sink Change-Id: I662bf164b55508be4d5cc1b3ad639c9613bd1935 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949264 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949267
Diffstat (limited to 'common/usb_pd_protocol.c')
-rw-r--r--common/usb_pd_protocol.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index b2ece4ac08..b661dd5c42 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -4675,6 +4675,12 @@ void pd_handle_overcurrent(int port)
atomic_or(&port_oc_reset_req, (1 << port));
hook_call_deferred(&re_enable_ports_data, SECOND);
}
+
+void pd_handle_cc_overvoltage(int port)
+{
+ pd_send_hard_reset(port);
+}
+
#endif /* defined(CONFIG_USBC_PPC) */
static int command_pd(int argc, char **argv)