summaryrefslogtreecommitdiff
path: root/board/spring/usb_charging.c
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-02-05 15:03:03 +0800
committerChromeBot <chrome-bot@google.com>2013-02-05 20:16:17 -0800
commitf4a9ffdee34f2d59b120eded5688efa3491d5ab1 (patch)
tree8bc4c87cc7691b0daf446fc1c4d4af7470d87f18 /board/spring/usb_charging.c
parentc817977583ddfaa718b421f7e2896ff8d165adae (diff)
downloadchrome-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.c10
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());
}