summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaveh Jalali <caveh@chromium.org>2019-11-06 22:23:25 -0800
committerCommit Bot <commit-bot@chromium.org>2019-11-12 00:15:01 +0000
commit5fc76e6785a64f969427b061b9eda6a56498c8e6 (patch)
tree74d9c7d309c7dadaedba0980581b268bbaa0dc6a
parent929dcc8febde58fe86940618d3d79f5a6cf9f57e (diff)
downloadchrome-ec-5fc76e6785a64f969427b061b9eda6a56498c8e6.tar.gz
atlas: Always advertise DFP_D connected
the VESA DisplayPort Alt Mode on USB Type-C Standard section 5.2.3 requires that DP alt mode capable devices permanently set the connected status bit. BRANCH=none BUG=chromium:1022256 TEST=verified improved interop with caldigit dock Change-Id: If439186120380cdc11eb8ea69a6b3d5d3d39b0a6 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1903646 Reviewed-by: Caveh Jalali <caveh@google.com> Commit-Queue: Caveh Jalali <caveh@google.com>
-rw-r--r--board/atlas/usb_pd_policy.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/board/atlas/usb_pd_policy.c b/board/atlas/usb_pd_policy.c
index eacba27e04..7bcb28cdf0 100644
--- a/board/atlas/usb_pd_policy.c
+++ b/board/atlas/usb_pd_policy.c
@@ -331,6 +331,10 @@ static int svdm_dp_status(int port, uint32_t *payload)
payload[0] = VDO(USB_SID_DISPLAYPORT, 1,
CMD_DP_STATUS | VDO_OPOS(opos));
+ /*
+ * VESA DisplayPort Alt Mode on USB Type-C Standard Version 1.0b:
+ * 5.2.3 requries DP_FLAGS_DP_ON permanently set for DFP_D
+ */
payload[1] = VDO_DP_STATUS(0, /* HPD IRQ ... not applicable */
0, /* HPD level ... not applicable */
0, /* exit DP? ... no */
@@ -338,7 +342,7 @@ static int svdm_dp_status(int port, uint32_t *payload)
0, /* multi-function ... no */
(!!(dp_flags[port] & DP_FLAGS_DP_ON)),
0, /* power low? ... no */
- (!!(dp_flags[port] & DP_FLAGS_DP_ON)));
+ (!!DP_FLAGS_DP_ON));
return 2;
};