diff options
Diffstat (limited to 'driver/usb_mux/ps8743.c')
-rw-r--r-- | driver/usb_mux/ps8743.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/driver/usb_mux/ps8743.c b/driver/usb_mux/ps8743.c index 28ad5e9546..86f0a7f9b2 100644 --- a/driver/usb_mux/ps8743.c +++ b/driver/usb_mux/ps8743.c @@ -1,4 +1,4 @@ -/* Copyright 2020 The Chromium OS Authors. All rights reserved. +/* Copyright 2020 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * @@ -25,24 +25,21 @@ static enum usb_conn_status saved_usb_conn_status[CONFIG_USB_PD_PORT_MAX_COUNT]; int ps8743_read(const struct usb_mux *me, uint8_t reg, int *val) { - return i2c_read8(me->i2c_port, me->i2c_addr_flags, - reg, val); + return i2c_read8(me->i2c_port, me->i2c_addr_flags, reg, val); } int ps8743_write(const struct usb_mux *me, uint8_t reg, uint8_t val) { - return i2c_write8(me->i2c_port, me->i2c_addr_flags, - reg, val); + return i2c_write8(me->i2c_port, me->i2c_addr_flags, reg, val); } int ps8743_field_update(const struct usb_mux *me, uint8_t reg, uint8_t mask, uint8_t val) { - return i2c_field_update8(me->i2c_port, me->i2c_addr_flags, - reg, mask, val); + return i2c_field_update8(me->i2c_port, me->i2c_addr_flags, reg, mask, + val); } - int ps8743_check_chip_id(const struct usb_mux *me, int *val) { int id1; @@ -56,7 +53,7 @@ int ps8743_check_chip_id(const struct usb_mux *me, int *val) if (res) return res; - res = ps8743_read(me, PS8743_REG_CHIP_ID2, &id2); + res = ps8743_read(me, PS8743_REG_CHIP_ID2, &id2); if (res) return res; @@ -83,7 +80,7 @@ static int ps8743_init(const struct usb_mux *me) if (res) return res; - res = ps8743_read(me, PS8743_REG_CHIP_ID2, &id2); + res = ps8743_read(me, PS8743_REG_CHIP_ID2, &id2); if (res) return res; @@ -121,14 +118,17 @@ static int ps8743_set_mux(const struct usb_mux *me, mux_state_t mux_state, * For CE_DP, CE_USB, and FLIP, disable pin control and enable I2C * control. */ - uint8_t reg = (PS8743_MODE_IN_HPD_CONTROL | - PS8743_MODE_DP_REG_CONTROL | - PS8743_MODE_USB_REG_CONTROL | - PS8743_MODE_FLIP_REG_CONTROL); + uint8_t reg = + (PS8743_MODE_IN_HPD_CONTROL | PS8743_MODE_DP_REG_CONTROL | + PS8743_MODE_USB_REG_CONTROL | PS8743_MODE_FLIP_REG_CONTROL); /* This driver does not use host command ACKs */ *ack_required = false; + /* This driver treats safe mode as none */ + if (mux_state == USB_PD_MUX_SAFE_MODE) + mux_state = USB_PD_MUX_NONE; + if (mux_state & USB_PD_MUX_USB_ENABLED) reg |= PS8743_MODE_USB_ENABLE; else @@ -214,7 +214,7 @@ static enum usb_conn_status ps8743_get_usb_conn_status(const struct usb_mux *me) static void ps8743_suspend(void) { for (int i = 0; i < board_get_usb_pd_port_count(); i++) { - const struct usb_mux *mux = &usb_muxes[i]; + const struct usb_mux *mux = usb_muxes[i].mux; if (mux->driver != &ps8743_usb_mux_driver) continue; @@ -233,7 +233,7 @@ DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, ps8743_suspend, HOOK_PRIO_DEFAULT); static void ps8743_resume(void) { for (int i = 0; i < board_get_usb_pd_port_count(); i++) { - const struct usb_mux *mux = &usb_muxes[i]; + const struct usb_mux *mux = usb_muxes[i].mux; if (mux->driver != &ps8743_usb_mux_driver) continue; |