mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-10 17:41:54 +00:00
pd: Don't source VBUS when forcing sink role
When forcing a sink role (eg. on transition from S3->S5), make sure we're not sourcing VBUS. Otherwise, if a power source is attached, we will fail to charge from it, due to the inability to sink and source VBUS simultaneously. BUG=chrome-os-partner:49544 chrome-os-partner:50343 TEST=Boot chell, attach USB-C peripheral, then power down chell. Remove USB-C peripheral, attach zinger, and verify PD negotiation + charging succeeds. BRANCH=glados Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I5fb9b0eb26e61daa93a167d6a3e9aaf4e4eeed39 Reviewed-on: https://chromium-review.googlesource.com/327727 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Divagar Mohandass <divagar.mohandass@intel.com> Reviewed-by: Benson Leung <bleung@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
024a2447e9
commit
237406c5b1
@@ -1241,6 +1241,8 @@ void pd_set_dual_role(enum pd_dual_role_states state)
|
||||
pd[i].power_role = PD_ROLE_SINK;
|
||||
set_state(i, PD_STATE_SNK_DISCONNECTED);
|
||||
tcpm_set_cc(i, TYPEC_CC_RD);
|
||||
/* Make sure we're not sourcing VBUS. */
|
||||
pd_power_supply_reset(i);
|
||||
task_wake(PD_PORT_TO_TASK_ID(i));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user