diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2017-09-20 16:44:48 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-09-21 11:54:26 -0700 |
commit | 7b473c8efdd97bdd7e6a86213731edb4d80b5d96 (patch) | |
tree | 5c410300de4103c4e88cf15577ecb5c796c2643e | |
parent | babc3b9e5d369b7494cc95d326e4a439921a1d21 (diff) | |
download | chrome-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.c | 5 |
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); |