diff options
author | Lu Zhang <lu.zhang@bitland.corp-partner.google.com> | 2020-03-10 16:23:27 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-11 04:19:52 +0000 |
commit | 788b6f46ddb78c139bc960e936050882530d591d (patch) | |
tree | 975c7ba5f3bb2d2c71bca2db3d4afda08d3e1946 /baseboard | |
parent | 97acbb61584cc967609803dec3f3508396966b30 (diff) | |
download | chrome-ec-788b6f46ddb78c139bc960e936050882530d591d.tar.gz |
dalboz: add usbc1 hpd mux driver
PS8740 needs HPD signal when enter DP mode.
BUG=b:150099044
BRANCH=none
CQ-DEPEND=CL:2094844
TEST=Plug in HDMI monitor through type-c dongle, it can display.
Signed-off-by: Lu Zhang <lu.zhang@bitland.corp-partner.google.com>
Change-Id: I1c706f9b0bf4367d54b9a27920ca70021eb31ac1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2094863
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Tested-by: Paul Ma <magf@bitland.corp-partner.google.com>
Commit-Queue: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r-- | baseboard/zork/variant_dalboz.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/baseboard/zork/variant_dalboz.c b/baseboard/zork/variant_dalboz.c index 7a8340f5f1..6fd0955fe8 100644 --- a/baseboard/zork/variant_dalboz.c +++ b/baseboard/zork/variant_dalboz.c @@ -58,12 +58,34 @@ const struct usb_mux usbc0_sbu_mux = { .driver = &usbc0_sbu_mux_driver, }; +static int usbc1_hpd_set_mux(const struct usb_mux *me, mux_state_t mux_state) +{ + if (mux_state & USB_PD_MUX_DP_ENABLED) + /* Enable IN_HPD on the DB */ + ioex_set_level(IOEX_USB_C1_HPD_IN_DB, 1); + else + /* Disable IN_HPD on the DB */ + ioex_set_level(IOEX_USB_C1_HPD_IN_DB, 0); + + return EC_SUCCESS; +} + +const struct usb_mux_driver usbc1_hpd_mux_driver = { + .set = usbc1_hpd_set_mux, +}; + +const struct usb_mux usbc1_hpd_mux = { + .usb_port = USBC_PORT_C1, + .driver = &usbc1_hpd_mux_driver, +}; + struct usb_mux usbc1_amd_fp5_usb_mux = { .usb_port = USBC_PORT_C1, .i2c_port = I2C_PORT_USB_AP_MUX, .i2c_addr_flags = AMD_FP5_MUX_I2C_ADDR_FLAGS, .driver = &amd_fp5_usb_mux_driver, .flags = USB_MUX_FLAG_SET_WITHOUT_FLIP, + .next_mux = &usbc1_hpd_mux, }; const struct usb_mux usb_muxes[] = { |