summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-03-15 01:32:06 +0800
committerChromeBot <chrome-bot@google.com>2013-03-14 11:27:14 -0700
commit10d845eb10e4a7030815c687b13bbd09e905edb8 (patch)
treee00357deaab7692e8392e1b26a86e56ff0a0c202
parent94f4bb38a03be4a27f59974442f0298e2d7bf0a6 (diff)
downloadchrome-ec-10d845eb10e4a7030815c687b13bbd09e905edb8.tar.gz
spring: Fix a bug that yellow LED is not turned off
When leaving breathing mode, we should switch yellow LED from lighting engine back to PWM control. BUG=chrome-os-partner:18244 TEST=Check yellow LED leaves breathing mode BRANCH=spring Change-Id: I39260ac9040baaf193ce95eec7941aeb6d97e7e8 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/45436 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--board/spring/board.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/board/spring/board.c b/board/spring/board.c
index d32c33080a..774f466814 100644
--- a/board/spring/board.c
+++ b/board/spring/board.c
@@ -319,22 +319,25 @@ int board_led_breathing(int enabled)
{
int ret = 0;
- if (!enabled) {
- return lp5562_engine_control(LP5562_ENG_HOLD,
+ if (enabled) {
+ ret |= lp5562_engine_load(LP5562_ENG_SEL_1,
+ breathing_prog,
+ sizeof(breathing_prog));
+ ret |= lp5562_set_engine(LP5562_ENG_SEL_NONE,
+ LP5562_ENG_SEL_NONE,
+ LP5562_ENG_SEL_1);
+ ret |= lp5562_engine_control(LP5562_ENG_RUN,
LP5562_ENG_HOLD,
LP5562_ENG_HOLD);
+ } else {
+ ret |= lp5562_engine_control(LP5562_ENG_HOLD,
+ LP5562_ENG_HOLD,
+ LP5562_ENG_HOLD);
+ ret |= lp5562_set_engine(LP5562_ENG_SEL_NONE,
+ LP5562_ENG_SEL_NONE,
+ LP5562_ENG_SEL_NONE);
}
- ret |= lp5562_engine_load(LP5562_ENG_SEL_1,
- breathing_prog,
- sizeof(breathing_prog));
- ret |= lp5562_set_engine(LP5562_ENG_SEL_NONE,
- LP5562_ENG_SEL_NONE,
- LP5562_ENG_SEL_1);
- ret |= lp5562_engine_control(LP5562_ENG_RUN,
- LP5562_ENG_HOLD,
- LP5562_ENG_HOLD);
-
return ret;
}