diff options
author | Matthew Blecker <matthewb@chromium.org> | 2020-03-06 17:53:18 +0000 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-07 00:22:49 +0000 |
commit | 86c6cf43cf870cef8cfb1974a8af64352ca9cec6 (patch) | |
tree | a02656159d9fcec49e6ca5e691b89ecf3279f521 | |
parent | 7f8843dfaa31f3748ba4c5c8be052e2ecdc79f04 (diff) | |
download | chrome-ec-86c6cf43cf870cef8cfb1974a8af64352ca9cec6.tar.gz |
Revert "Ampton: Set the PS8751 to source mode before enter low power mode"
This reverts commit 4ca73139635261ee1273fbe1767dcf06886d2208.
Reason for revert:
Breaks CCD with AP off https://issuetracker.google.com/150822168
Will work on a solution to address the original CL need, i.e. applying
Rp in LPM. Follow the above bug.
Some merge conflict happens. Resolved.
Also change the usb_mux driver of Trogdor, as ps8xxx_usb_mux_driver
is removed.
Original change's description:
> Ampton: Set the PS8751 to source mode before enter low power mode
>
> BUG=b:113830171
> BRANCH=octopus
> TEST=check the power consumption is lower
>
> Change-Id: I527cdc5d1e4dd5de137ab0927e66c171696758ce
> Signed-off-by: James_Chao <james_chao@asus.corp-partner.google.com>
> Reviewed-on: https://chromium-review.googlesource.com/1426306
> Commit-Ready: James Chao <james_chao@asus.corp-partner.google.com>
> Tested-by: James Chao <james_chao@asus.corp-partner.google.com>
> Reviewed-by: Jett Rink <jettrink@chromium.org>
BRANCH=None
BUG=b:113830171,150822168
TEST=Build Trogdor, verified CCD with AP off working.
Change-Id: I58c26e8466b70e035a1c396cfcba6a46da4bccc9
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2091519
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Matthew Blecker <matthewb@chromium.org>
-rw-r--r-- | baseboard/octopus/variant_usbc_ec_tcpcs.c | 2 | ||||
-rw-r--r-- | board/ampton/board.c | 4 | ||||
-rw-r--r-- | board/trogdor/board.c | 4 | ||||
-rw-r--r-- | driver/tcpm/ps8xxx.c | 30 | ||||
-rw-r--r-- | driver/tcpm/ps8xxx.h | 2 | ||||
-rw-r--r-- | driver/tcpm/tcpci.c | 2 | ||||
-rw-r--r-- | driver/tcpm/tcpci.h | 1 |
7 files changed, 6 insertions, 39 deletions
diff --git a/baseboard/octopus/variant_usbc_ec_tcpcs.c b/baseboard/octopus/variant_usbc_ec_tcpcs.c index cbc5fd79e0..2635850bd8 100644 --- a/baseboard/octopus/variant_usbc_ec_tcpcs.c +++ b/baseboard/octopus/variant_usbc_ec_tcpcs.c @@ -80,7 +80,7 @@ struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { .i2c_port = I2C_PORT_USBC1, .i2c_addr_flags = PS8751_I2C_ADDR1_FLAGS, .flags = USB_MUX_FLAG_NOT_TCPC, - .driver = &ps8xxx_usb_mux_driver, + .driver = &tcpci_tcpm_usb_mux_driver, .hpd_update = &ps8xxx_tcpc_update_hpd_status, } }; diff --git a/board/ampton/board.c b/board/ampton/board.c index 4f1f0880df..7646ab3c85 100644 --- a/board/ampton/board.c +++ b/board/ampton/board.c @@ -75,7 +75,7 @@ const struct usb_mux ampton_usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { .i2c_port = I2C_PORT_USBC0, .i2c_addr_flags = PS8751_I2C_ADDR1_FLAGS, .flags = USB_MUX_FLAG_NOT_TCPC, - .driver = &ps8xxx_usb_mux_driver, + .driver = &tcpci_tcpm_usb_mux_driver, .hpd_update = &ps8xxx_tcpc_update_hpd_status, .board_init = &tune_mux, }, @@ -85,7 +85,7 @@ const struct usb_mux ampton_usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { .i2c_port = I2C_PORT_USBC1, .i2c_addr_flags = PS8751_I2C_ADDR1_FLAGS, .flags = USB_MUX_FLAG_NOT_TCPC, - .driver = &ps8xxx_usb_mux_driver, + .driver = &tcpci_tcpm_usb_mux_driver, .hpd_update = &ps8xxx_tcpc_update_hpd_status, .board_init = &tune_mux, } diff --git a/board/trogdor/board.c b/board/trogdor/board.c index c8d770fc37..16de20b2f8 100644 --- a/board/trogdor/board.c +++ b/board/trogdor/board.c @@ -269,12 +269,12 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { { .usb_port = 0, - .driver = &ps8xxx_usb_mux_driver, + .driver = &tcpci_tcpm_usb_mux_driver, .hpd_update = &ps8xxx_tcpc_update_hpd_status, }, { .usb_port = 1, - .driver = &ps8xxx_usb_mux_driver, + .driver = &tcpci_tcpm_usb_mux_driver, .hpd_update = &ps8xxx_tcpc_update_hpd_status, } }; diff --git a/driver/tcpm/ps8xxx.c b/driver/tcpm/ps8xxx.c index 9151eaf841..bf6ad0beae 100644 --- a/driver/tcpm/ps8xxx.c +++ b/driver/tcpm/ps8xxx.c @@ -382,33 +382,3 @@ struct i2c_stress_test_dev ps8xxx_i2c_stress_test_dev = { .i2c_write = &tcpc_i2c_write, }; #endif /* CONFIG_CMD_I2C_STRESS_TEST_TCPC */ - -static int ps8xxx_mux_init(const struct usb_mux *me) -{ - tcpci_tcpm_mux_init(me); - - /* If this MUX is also the TCPC, then skip init */ - if (!(me->flags & USB_MUX_FLAG_NOT_TCPC)) - return EC_SUCCESS; - - /* We always want to be a sink when this device is only being used as a mux - * to support external peripherals better. - */ - return mux_write(me, TCPC_REG_ROLE_CTRL, - TCPC_REG_ROLE_CTRL_SET(0, 1, TYPEC_CC_RD, TYPEC_CC_RD)); -} - -static int ps8xxx_mux_enter_low_power_mode(const struct usb_mux *me) -{ - mux_write(me, TCPC_REG_ROLE_CTRL, - TCPC_REG_ROLE_CTRL_SET(0, 0, TYPEC_CC_RP, TYPEC_CC_RP)); - return tcpci_tcpm_mux_enter_low_power(me); -} - -/* This is meant for mux-only applications */ -const struct usb_mux_driver ps8xxx_usb_mux_driver = { - .init = &ps8xxx_mux_init, - .set = &tcpci_tcpm_mux_set, - .get = &tcpci_tcpm_mux_get, - .enter_low_power_mode = &ps8xxx_mux_enter_low_power_mode, -}; diff --git a/driver/tcpm/ps8xxx.h b/driver/tcpm/ps8xxx.h index f865598e34..f543568036 100644 --- a/driver/tcpm/ps8xxx.h +++ b/driver/tcpm/ps8xxx.h @@ -101,6 +101,4 @@ void ps8xxx_tcpc_update_hpd_status(const struct usb_mux *me, extern struct i2c_stress_test_dev ps8xxx_i2c_stress_test_dev; #endif /* defined(CONFIG_CMD_I2C_STRESS_TEST_TCPC) */ -extern const struct usb_mux_driver ps8xxx_usb_mux_driver; - #endif /* defined(__CROS_EC_USB_PD_TCPM_PS8XXX_H) */ diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index f8de27f20b..dd64ebb157 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -1130,7 +1130,7 @@ int tcpci_tcpm_mux_init(const struct usb_mux *me) return error ? EC_ERROR_UNKNOWN : EC_SUCCESS; } -int tcpci_tcpm_mux_enter_low_power(const struct usb_mux *me) +static int tcpci_tcpm_mux_enter_low_power(const struct usb_mux *me) { /* If this MUX is also the TCPC, then skip low power */ if (!(me->flags & USB_MUX_FLAG_NOT_TCPC)) diff --git a/driver/tcpm/tcpci.h b/driver/tcpm/tcpci.h index a4bc8f6b39..60bca01107 100644 --- a/driver/tcpm/tcpci.h +++ b/driver/tcpm/tcpci.h @@ -234,7 +234,6 @@ void tcpci_tcpc_enable_auto_discharge_disconnect(int port, int enable); int tcpci_tcpm_mux_init(const struct usb_mux *me); int tcpci_tcpm_mux_set(const struct usb_mux *me, mux_state_t mux_state); int tcpci_tcpm_mux_get(const struct usb_mux *me, mux_state_t *mux_state); -int tcpci_tcpm_mux_enter_low_power(const struct usb_mux *me); int tcpci_get_chip_info(int port, int live, struct ec_response_pd_chip_info_v1 **chip_info); #ifdef CONFIG_USBC_PPC |