From 0a2603e8ea234a9263a0a2e6be5daed362c12d72 Mon Sep 17 00:00:00 2001 From: Todd Broch Date: Fri, 15 Mar 2013 11:15:13 -0700 Subject: [PATCH] spring: Enable low power mode. This mode was disabled initially to make sure it didn't side-effect things during early development. Now that branch is cut lets re-enable and backport when stability is proven. Signed-off-by: Todd Broch BRANCH=spring BUG=chrome-os-partner:17587 TEST=manual, install & run on Spring ... system functions. When device is plugged stays awake regardless of battery state. When device is unplugged sleeps and power is saved. When device is re-plugged awakes. Change-Id: I9a85fa7376d1a94c9864beed3d053e8b49480959 Reviewed-on: https://gerrit.chromium.org/gerrit/45594 Reviewed-by: Vincent Palatin Tested-by: Todd Broch Commit-Queue: Todd Broch --- board/spring/board.h | 4 ++-- board/spring/usb_charging.c | 5 +++++ include/clock.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/board/spring/board.h b/board/spring/board.h index 03bb785af1..31043b0f13 100644 --- a/board/spring/board.h +++ b/board/spring/board.h @@ -26,8 +26,8 @@ #undef CONFIG_TASK_PROFILING #define CONFIG_WATCHDOG_HELP -/* DE-ACTIVATED: use STOP mode when we have nothing to do */ -#undef CONFIG_LOW_POWER_IDLE +/* use STOP mode when we have nothing to do */ +#define CONFIG_LOW_POWER_IDLE /* Smart battery and TPSchrome are on a private I2C bus behind the EC */ #define CONFIG_I2C_PASSTHROUGH diff --git a/board/spring/usb_charging.c b/board/spring/usb_charging.c index b050917435..e57e6ebd46 100644 --- a/board/spring/usb_charging.c +++ b/board/spring/usb_charging.c @@ -8,6 +8,7 @@ #include "adc.h" #include "board.h" #include "chipset.h" +#include "clock.h" #include "console.h" #include "hooks.h" #include "gpio.h" @@ -494,6 +495,10 @@ static void usb_device_change(int dev_type) keyboard_send_battery_key(); current_dev_type = dev_type; + if (dev_type) + disable_sleep(SLEEP_MASK_USB_PWR); + else + enable_sleep(SLEEP_MASK_USB_PWR); } /* diff --git a/include/clock.h b/include/clock.h index b2e3b81ac1..e70df962b1 100644 --- a/include/clock.h +++ b/include/clock.h @@ -46,6 +46,7 @@ enum { SLEEP_MASK_UART = (1 << 1), /* UART communication on-going */ SLEEP_MASK_I2C = (1 << 2), /* I2C master communication on-going */ SLEEP_MASK_CHARGING = (1 << 3), /* Charging loop on-going */ + SLEEP_MASK_USB_PWR = (1 << 4), /* USB power loop on-going */ SLEEP_MASK_FORCE = (1 << 31), /* Force disabling low power modes */ };