diff options
author | Edward Hill <ecgh@chromium.org> | 2020-06-02 18:28:26 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-03 05:39:13 +0000 |
commit | 5124d453200ce13dfd8badfcd2c56e57334df2df (patch) | |
tree | b397b594cf13c79c77beeebf7bb7ec5b2c03bb86 /driver/usb_mux | |
parent | ce804f34ccb7c65fc4711c01eac63ceb8c008e26 (diff) | |
download | chrome-ec-5124d453200ce13dfd8badfcd2c56e57334df2df.tar.gz |
Zork: Switch PS8743 from IOEX_USB_C1_DATA_EN to I2C
Align all Zork devices on using I2C control of PS8743 mux mode, and stop
using IOEX_USB_C1_DATA_EN signal/pin. This matches what we were already
doing for Dalboz, and gives power savings in both S0 and S3 when nothing
is plugged in and mux is set to none.
BUG=b:157951317
BRANCH=none
TEST=external display and i2ctrace on ezkinil
Signed-off-by: Edward Hill <ecgh@chromium.org>
Change-Id: Id1c8b172a99bb25bed8b57e90686d933447432f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2227589
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'driver/usb_mux')
-rw-r--r-- | driver/usb_mux/ps8743.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/driver/usb_mux/ps8743.c b/driver/usb_mux/ps8743.c index 413b37e322..982bfbd91e 100644 --- a/driver/usb_mux/ps8743.c +++ b/driver/usb_mux/ps8743.c @@ -74,7 +74,13 @@ static int ps8743_init(const struct usb_mux *me) /* Writes control register to set switch mode */ static int ps8743_set_mux(const struct usb_mux *me, mux_state_t mux_state) { - uint8_t reg = 0; + /* + * For CE_DP, CE_USB, and FLIP, disable pin control and enable I2C + * control. + */ + uint8_t reg = (PS8743_MODE_DP_REG_CONTROL | + PS8743_MODE_USB_REG_CONTROL | + PS8743_MODE_FLIP_REG_CONTROL); if (mux_state & USB_PD_MUX_USB_ENABLED) reg |= PS8743_MODE_USB_ENABLE; |