summaryrefslogtreecommitdiff
path: root/driver/retimer/ps8802.c
diff options
context:
space:
mode:
authorBen Chen <ben.chen2@quanta.corp-partner.google.com>2020-11-23 18:51:01 +0800
committerCommit Bot <commit-bot@chromium.org>2021-01-12 02:18:28 +0000
commit72106b0e0997ac8d0df70335471659372466133b (patch)
tree71c89d605c03acbd89bd23ca8400ef86378c06e1 /driver/retimer/ps8802.c
parent6b2beb8f6b733828658da37295c69824eadc034a (diff)
downloadchrome-ec-72106b0e0997ac8d0df70335471659372466133b.tar.gz
driver: support PS8802 setting power saving mode
Add function support setting operation to power saving mode(standby mode). BUG=b:172993414 BRANCH=none TEST=make buildall Change-Id: I579b3b2958a930d9d7d70b913d3449397f6fa9db Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2556741 Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'driver/retimer/ps8802.c')
-rw-r--r--driver/retimer/ps8802.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/driver/retimer/ps8802.c b/driver/retimer/ps8802.c
index 190bed8873..6b02846702 100644
--- a/driver/retimer/ps8802.c
+++ b/driver/retimer/ps8802.c
@@ -16,6 +16,9 @@
#define PS8802_DEBUG 0
#define PS8802_I2C_WAKE_DELAY 500
+#define CPRINTS(format, args...) cprints(CC_USB, format, ## args)
+#define CPRINTF(format, args...) cprintf(CC_USB, format, ## args)
+
int ps8802_i2c_read(const struct usb_mux *me, int page, int offset, int *data)
{
int rv;
@@ -189,8 +192,26 @@ int ps8802_i2c_wake(const struct usb_mux *me)
return rv;
}
+/*
+ * Setting operation mode to standby mode
+ */
+static int ps8802_enter_low_power_mode(const struct usb_mux *me)
+{
+ int rv;
+
+ rv = ps8802_i2c_write(me, PS8802_REG_PAGE2, PS8802_REG2_MODE,
+ PS8802_MODE_STANDBY_MODE);
+
+ if (rv)
+ CPRINTS("C%d: PS8802: Failed to enter low power mode!",
+ me->usb_port);
+
+ return rv;
+}
+
static int ps8802_init(const struct usb_mux *me)
{
+ ps8802_enter_low_power_mode(me);
return EC_SUCCESS;
}
@@ -272,6 +293,7 @@ const struct usb_mux_driver ps8802_usb_mux_driver = {
.init = ps8802_init,
.set = ps8802_set_mux,
.get = ps8802_get_mux,
+ .enter_low_power_mode = &ps8802_enter_low_power_mode,
};
/*