summaryrefslogtreecommitdiff
path: root/board/samus_pd/usb_pd_policy.c
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2015-05-04 10:44:52 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-05-05 03:36:24 +0000
commit828086e961c0107bbdd65fa1086c082e95c912fc (patch)
tree63dd7a3750d5f1bc13ad0f0787d5822dd422d253 /board/samus_pd/usb_pd_policy.c
parent1abcdf9145eaa4508546190f76577289dcd04803 (diff)
downloadchrome-ec-828086e961c0107bbdd65fa1086c082e95c912fc.tar.gz
pd: add explicit setting of D+/D- switch when setting type-C muxes
Add explicit setting of USB D+/D- switch when setting the type-C muxes. This fixes a bug in which we would open D+/D- switch when entering DP mode and lose USB2.0 connection. BUG=chrome-os-partner:39766 BRANCH=samus TEST=add printf to board_set_usb_switches() on samus and make sure we don't open the D+/D- switch when entering DP mode. Change-Id: I2b5bb2185298794ddb4cc457f3695ce6adabd9f8 Signed-off-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/268993 Reviewed-by: Todd Broch <tbroch@chromium.org> Tested-by: Todd Broch <tbroch@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
Diffstat (limited to 'board/samus_pd/usb_pd_policy.c')
-rw-r--r--board/samus_pd/usb_pd_policy.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/board/samus_pd/usb_pd_policy.c b/board/samus_pd/usb_pd_policy.c
index 431c281b1e..05df870be9 100644
--- a/board/samus_pd/usb_pd_policy.c
+++ b/board/samus_pd/usb_pd_policy.c
@@ -264,7 +264,7 @@ static uint32_t dp_status[PD_PORT_COUNT];
static void svdm_safe_dp_mode(int port)
{
/* make DP interface safe until configure */
- board_set_usb_mux(port, TYPEC_MUX_NONE, pd_get_polarity(port));
+ board_set_usb_mux(port, TYPEC_MUX_NONE, USB_SWITCH_CONNECT, 0);
dp_flags[port] = 0;
dp_status[port] = 0;
}
@@ -306,7 +306,7 @@ static int svdm_dp_config(int port, uint32_t *payload)
return 0;
board_set_usb_mux(port, mf_pref ? TYPEC_MUX_DOCK : TYPEC_MUX_DP,
- pd_get_polarity(port));
+ USB_SWITCH_CONNECT, pd_get_polarity(port));
payload[0] = VDO(USB_SID_DISPLAYPORT, 1,
CMD_DP_CONFIG | VDO_OPOS(opos));