summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2019-08-08 09:28:03 -0600
committerCommit Bot <commit-bot@chromium.org>2019-08-09 21:50:55 +0000
commita34c6b36d254ad7f537976ba5a3b18844c25e1dc (patch)
tree450f4abbb42b405a2fecdbd1914846f9f509928e
parent4d7535975638834bcebda50424bff2e23262fc83 (diff)
downloadchrome-ec-a34c6b36d254ad7f537976ba5a3b18844c25e1dc.tar.gz
usb: fix issue with CC line interpretation as DTS
We need to pass both cc1 and cc2 into the get current limit function. BRANCH=none BUG=none TEST=unit test pass still Change-Id: I123fb315948ee042ad1ea05bb835e618f4ca31de Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1744653 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r--common/usbc/usb_tc_drp_acc_trysrc_sm.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
index cd2d8f3612..8ec2d27d54 100644
--- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c
+++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
@@ -761,20 +761,18 @@ void pd_prevent_low_power_mode(int port, int prevent)
static void sink_power_sub_states(int port)
{
- int cc1;
- int cc2;
+ int cc1, cc2, cc;
enum tcpc_cc_voltage_status new_cc_voltage;
tcpm_get_cc(port, &cc1, &cc2);
- if (tc[port].polarity)
- cc1 = cc2;
+ cc = tc[port].polarity ? cc2 : cc1;
- if (cc1 == TYPEC_CC_VOLT_RP_DEF)
+ if (cc == TYPEC_CC_VOLT_RP_DEF)
new_cc_voltage = TYPEC_CC_VOLT_RP_DEF;
- else if (cc1 == TYPEC_CC_VOLT_RP_1_5)
+ else if (cc == TYPEC_CC_VOLT_RP_1_5)
new_cc_voltage = TYPEC_CC_VOLT_RP_1_5;
- else if (cc1 == TYPEC_CC_VOLT_RP_3_0)
+ else if (cc == TYPEC_CC_VOLT_RP_3_0)
new_cc_voltage = TYPEC_CC_VOLT_RP_3_0;
else
new_cc_voltage = TYPEC_CC_VOLT_OPEN;
@@ -795,7 +793,7 @@ static void sink_power_sub_states(int port)
if (IS_ENABLED(CONFIG_CHARGE_MANAGER)) {
tc[port].typec_curr =
- get_typec_current_limit(tc[port].polarity, cc1, cc1);
+ get_typec_current_limit(tc[port].polarity, cc1, cc2);
typec_set_input_current_limit(port,
tc[port].typec_curr, TYPE_C_VOLTAGE);