diff options
author | Eric Yilun Lin <yllin@chromium.org> | 2020-05-26 14:48:13 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-27 01:49:36 +0000 |
commit | 5e251579f921b6a3704d5c5218de22701340614f (patch) | |
tree | 2e02675e85eeff1aaff8f20209492e16052a0ab4 | |
parent | d7fbb75271a8ec4ca6d84e08bbac37e2ed6cc4e9 (diff) | |
download | chrome-ec-5e251579f921b6a3704d5c5218de22701340614f.tar.gz |
servo_v4: clear SrcCap on CHG port disconnected
Currently, when CHG port's PD disconnected from the servo-v4,
it still holds the SourceCap information. This CL clears the
SourceCap when the PD disconnection event is found.
BUG=b:157261654
TEST=plug charger:
> ada_srccaps
0: 5000mV/3000mA
1: 9000mV/3000mA
2: 15000mV/3000mA
3: 20000mV/2250mA
unplug charger:
> ada_srccaps # print nothing.
BRANCH=servo_v4
Change-Id: Ia91c97d6baa5e796c909893dac9abe0e6bc7ebad
Signed-off-by: Eric Yilun Lin <yllin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2215393
Reviewed-by: Wai-Hong Tam <waihong@google.com>
Commit-Queue: Wai-Hong Tam <waihong@google.com>
-rw-r--r-- | board/servo_v4/usb_pd_policy.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/board/servo_v4/usb_pd_policy.c b/board/servo_v4/usb_pd_policy.c index 15096d7fd0..a8a6b8ee1f 100644 --- a/board/servo_v4/usb_pd_policy.c +++ b/board/servo_v4/usb_pd_policy.c @@ -1209,6 +1209,14 @@ DECLARE_CONSOLE_COMMAND(ada_srccaps, cmd_ada_srccaps, "", "Print adapter SrcCap"); +static void chg_pd_disconnect(void) +{ + /* Clear charger PDO on CHG port disconnected. */ + if (pd_is_disconnected(CHG)) + pd_set_src_caps(CHG, 0, NULL); +} +DECLARE_HOOK(HOOK_USB_PD_DISCONNECT, chg_pd_disconnect, HOOK_PRIO_DEFAULT); + static int cmd_dp_action(int argc, char *argv[]) { int i; |