diff options
author | Vic Yang <victoryang@chromium.org> | 2013-02-05 15:03:03 +0800 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-02-05 20:16:17 -0800 |
commit | f4a9ffdee34f2d59b120eded5688efa3491d5ab1 (patch) | |
tree | 8bc4c87cc7691b0daf446fc1c4d4af7470d87f18 /board/spring/usb_charging.c | |
parent | c817977583ddfaa718b421f7e2896ff8d165adae (diff) | |
download | chrome-ec-f4a9ffdee34f2d59b120eded5688efa3491d5ab1.tar.gz |
spring: Control battery LED
This implements a basic battery LED policy:
- Charged: green
- Charging: yellow
- Error: red
- No charger: off
BUG=chrome-os-partner:17561
TEST=Manual
BRANCH=none
Change-Id: I7fa8242efa4d0382d8ef0cafe80f01d44c390397
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/42607
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'board/spring/usb_charging.c')
-rw-r--r-- | board/spring/usb_charging.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/board/spring/usb_charging.c b/board/spring/usb_charging.c index fea46b333a..66b6ad667c 100644 --- a/board/spring/usb_charging.c +++ b/board/spring/usb_charging.c @@ -8,6 +8,7 @@ #include "board.h" #include "console.h" #include "gpio.h" +#include "lp5562.h" #include "registers.h" #include "task.h" #include "timer.h" @@ -129,6 +130,11 @@ static void usb_device_change(int dev_type) else gpio_set_level(GPIO_BOOST_EN, 1); + if (dev_type & TSU6721_TYPE_VBUS_DEBOUNCED) + lp5562_poweron(); + else + lp5562_poweroff(); + /* Log to console */ CPRINTF("[%T USB Attached: "); if (dev_type == TSU6721_TYPE_NONE) @@ -157,13 +163,13 @@ static void usb_device_change(int dev_type) CPRINTF("Unknown]\n"); } -void board_usb_charge_update(void) +void board_usb_charge_update(int force_update) { int int_val = tsu6721_get_interrupts(); if (int_val & TSU6721_INT_DETACH) usb_device_change(TSU6721_TYPE_NONE); - else if (int_val) + else if (int_val || force_update) usb_device_change(tsu6721_get_device_type()); } |