summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2017-09-20 16:44:48 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-09-21 11:54:26 -0700
commit7b473c8efdd97bdd7e6a86213731edb4d80b5d96 (patch)
tree5c410300de4103c4e88cf15577ecb5c796c2643e
parentbabc3b9e5d369b7494cc95d326e4a439921a1d21 (diff)
downloadchrome-ec-7b473c8efdd97bdd7e6a86213731edb4d80b5d96.tar.gz
pd: Apply consistent Rp at boot
CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT Rp is applied when neither port is a source, so apply it at boot to be consistent. BUG=chromium:766814 BRANCH=gru TEST=On kevin, verify 3A Rp is applied to both ports at boot. Change-Id: Ib62a96063783e8ef9ac9240800f445fa9e5a59af Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/675845 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--common/usb_pd_protocol.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index 8daafe61af..ffbf9d8956 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -1701,7 +1701,12 @@ void pd_task(void *u)
pd[port].power_role = PD_ROLE_DEFAULT(port);
pd[port].vdm_state = VDM_STATE_DONE;
set_state(port, this_state);
+#ifdef CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT
+ ASSERT(PD_ROLE_DEFAULT(port) == PD_ROLE_SINK);
+ tcpm_select_rp_value(port, CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT);
+#else
tcpm_select_rp_value(port, CONFIG_USB_PD_PULLUP);
+#endif
tcpm_set_cc(port, PD_ROLE_DEFAULT(port) == PD_ROLE_SOURCE ?
TYPEC_CC_RP : TYPEC_CC_RD);