diff options
author | Edward Hill <ecgh@chromium.org> | 2019-12-03 12:31:56 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-12-06 22:19:35 +0000 |
commit | 5fcb29ea3e6cb8839a008fd8b9d619968093e9a7 (patch) | |
tree | 4070cd054769df89d971b5421e9ff4fefdb93821 /common/usb_pd_protocol.c | |
parent | d3e5ed7540d2ad903aa70b67dad0ac02d694a78e (diff) | |
download | chrome-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.c | 6 |
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) |