summaryrefslogtreecommitdiff
path: root/common/usb_pd_protocol.c
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2019-01-23 10:49:17 -0800
committerchrome-bot <chrome-bot@chromium.org>2019-04-17 21:32:38 -0700
commit8f8ad2ee39598f033b9c2ffdc9523b3d60465201 (patch)
tree6e3dd3b60573a4c6b637395114caaca0b4404c83 /common/usb_pd_protocol.c
parente16da08f09cc108bf23c88a23f28382e2455f5e8 (diff)
downloadchrome-ec-8f8ad2ee39598f033b9c2ffdc9523b3d60465201.tar.gz
pd_protocol: Allow charging @ 500mA from Rp-USB.
A USB Type-C ECN "Title: Default Current Clarification for non-USB Devices", allows a sink to draw 500mA based off of a Default USB Rp advertisement. This is especially important for devices which lack the hardware to detect legacy sources via BC 1.2. This commit will now allow those devices to charge at 5V/500mA. BUG=b:117805314,b:124138725 BRANCH=firmware-nocturne-10984.B,master TEST=Flash nocturne, plug in USB-A to USB-C cable, verify cable is detected as a charger and that we charge from it. Change-Id: I1f40cca7246c6d671c7775869da64cf30f649dc4 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1431252 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> (cherry picked from commit 9509f9aa3322fb180f51064309875589c8b90973) Reviewed-on: https://chromium-review.googlesource.com/1565463 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Matthew Blecker <matthewb@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Matthew Blecker <matthewb@chromium.org>
Diffstat (limited to 'common/usb_pd_protocol.c')
-rw-r--r--common/usb_pd_protocol.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index d8f93f06ab..389c43a8a2 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -2508,6 +2508,8 @@ static typec_current_t get_typec_current_limit(int polarity, int cc1, int cc2)
charge = 3000;
else if (cc == TYPEC_CC_VOLT_RP_1_5)
charge = 1500;
+ else if (cc == TYPEC_CC_VOLT_RP_DEF)
+ charge = 500;
else
charge = 0;