summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-10-20 11:53:59 -0600
committerCommit Bot <commit-bot@chromium.org>2020-10-20 23:33:46 +0000
commit6b9253dac97fd5a38019e862894a6b6cf99d0099 (patch)
treec9af24a47146909e2a7287c03167760b8914632d
parentedd8b73e8a062b709c2757d6f0085d0fe8146f43 (diff)
downloadchrome-ec-6b9253dac97fd5a38019e862894a6b6cf99d0099.tar.gz
TCPMv2: Update dedicated capability if charger is allow-listed
Once we know the identity of our port partner, update whether they are considered a dedicated charger. BRANCH=None BUG=b:169107245 TEST=on drawlat, plug in apple dongle multiple times and confirm that we start charging from them even if discovery completes post-power role swap Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I5b541cc9dca2c0e0481b79986573b2c503fe77c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2488140 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r--common/usbc/usb_pe_drp_sm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index f6d150c47d..e599097f43 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -4979,6 +4979,13 @@ static void pe_init_port_vdm_identity_request_run(int port)
/* PE_INIT_PORT_VDM_Identity_ACKed embedded here */
dfp_consume_identity(port, sop, cnt, payload);
+
+#ifdef CONFIG_CHARGE_MANAGER
+ /* Evaluate whether this is an allow-listed charger */
+ if (pd_charge_from_device(pd_get_identity_vid(port),
+ pd_get_identity_pid(port)))
+ charge_manager_update_dualrole(port, CAP_DEDICATED);
+#endif
break;
}
case VDM_RESULT_NAK: