summaryrefslogtreecommitdiff
path: root/board/servo_v4
diff options
context:
space:
mode:
authorEric Yilun Lin <yllin@chromium.org>2020-05-26 14:48:13 +0800
committerCommit Bot <commit-bot@chromium.org>2020-05-27 01:49:36 +0000
commit5e251579f921b6a3704d5c5218de22701340614f (patch)
tree2e02675e85eeff1aaff8f20209492e16052a0ab4 /board/servo_v4
parentd7fbb75271a8ec4ca6d84e08bbac37e2ed6cc4e9 (diff)
downloadchrome-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>
Diffstat (limited to 'board/servo_v4')
-rw-r--r--board/servo_v4/usb_pd_policy.c8
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;