diff options
author | Ben Chen <ben.chen2@quanta.corp-partner.google.com> | 2020-11-23 18:51:01 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-01-12 02:18:28 +0000 |
commit | 72106b0e0997ac8d0df70335471659372466133b (patch) | |
tree | 71c89d605c03acbd89bd23ca8400ef86378c06e1 /driver/retimer/ps8802.c | |
parent | 6b2beb8f6b733828658da37295c69824eadc034a (diff) | |
download | chrome-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.c | 22 |
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, }; /* |