summaryrefslogtreecommitdiff
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-06-05 00:52:53 +0000
commit68840c4e35af5b4f1e62c92b4f603b91b3422e48 (patch)
treef6d832276c5711d0b9916fcd54a7945d79e08d30
parent06c8cc4914abbd7039c6c8aa8a4e7f69760baa71 (diff)
downloadchrome-ec-68840c4e35af5b4f1e62c92b4f603b91b3422e48.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> (cherry picked from commit 5e251579f921b6a3704d5c5218de22701340614f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2230947
-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 c35cfa34b8..5c25573141 100644
--- a/board/servo_v4/usb_pd_policy.c
+++ b/board/servo_v4/usb_pd_policy.c
@@ -1203,6 +1203,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;