summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Blecker <matthewb@chromium.org>2020-03-06 17:53:18 +0000
committerCommit Bot <commit-bot@chromium.org>2020-03-07 00:22:49 +0000
commit86c6cf43cf870cef8cfb1974a8af64352ca9cec6 (patch)
treea02656159d9fcec49e6ca5e691b89ecf3279f521
parent7f8843dfaa31f3748ba4c5c8be052e2ecdc79f04 (diff)
downloadchrome-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.c2
-rw-r--r--board/ampton/board.c4
-rw-r--r--board/trogdor/board.c4
-rw-r--r--driver/tcpm/ps8xxx.c30
-rw-r--r--driver/tcpm/ps8xxx.h2
-rw-r--r--driver/tcpm/tcpci.c2
-rw-r--r--driver/tcpm/tcpci.h1
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