diff options
author | Todd Broch <tbroch@chromium.org> | 2017-04-20 09:08:15 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-05-02 20:24:17 -0700 |
commit | 49c776b5b78462ae2118fca240f7fb5df7dc444c (patch) | |
tree | b50be0753b89b2d688de370e0edd8a58d59ca3d3 /common | |
parent | 520bd3f6ad2098e6969dd353350e2e2281f28989 (diff) | |
download | chrome-ec-49c776b5b78462ae2118fca240f7fb5df7dc444c.tar.gz |
pd: Ignore Augmented PDOs when choosing PDO to request.
Augmented PDOs are part of the PD3.0 specification. As present USB PD
sinks can't support these PDO types we need to ignore them.
BRANCH=samus,glados,oak,gru,reef
BUG=b:37476637
TEST=manual,
On samus, plug-in blackcat (EVT) charger and see it ignore these
Augmented PDOs when making its PDO request.
Change-Id: I28a0377e1486368f25f37cad640af71244a4c30b
Reviewed-on: https://chromium-review.googlesource.com/484687
Commit-Ready: Todd Broch <tbroch@chromium.org>
Tested-by: Todd Broch <tbroch@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/usb_pd_policy.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c index 568169fbbf..62f9ecbfa5 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -106,6 +106,10 @@ static int pd_find_pdo_index(int cnt, uint32_t *src_caps, int max_mv) /* Get max power that is under our max voltage input */ for (i = 0; i < cnt; i++) { + /* its an unsupported Augmented PDO (PD3.0) */ + if ((src_caps[i] & PDO_TYPE_MASK) == PDO_TYPE_AUGMENTED) + continue; + mv = ((src_caps[i] >> 10) & 0x3FF) * 50; /* Skip invalid voltage */ if (!mv) |