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-15 13:10:06 -0700
commite2b11fab46595cd43b027bc847aaa315677381b0 (patch)
tree447a08d08d397131fce6b986267248211a2500cc
parent42d8a7b027e7a4313734e62caffedc852989a4db (diff)
downloadchrome-ec-e2b11fab46595cd43b027bc847aaa315677381b0.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 Original-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> (cherry picked from commit 10d845eb10e4a7030815c687b13bbd09e905edb8) Change-Id: Ifd0af7b966eac889a6e948b9ba7ca40ecb1c7af0 Reviewed-on: https://gerrit.chromium.org/gerrit/45597 Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> 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;
}