diff options
author | Vic Yang <victoryang@chromium.org> | 2013-03-15 01:32:06 +0800 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-03-15 13:10:06 -0700 |
commit | e2b11fab46595cd43b027bc847aaa315677381b0 (patch) | |
tree | 447a08d08d397131fce6b986267248211a2500cc | |
parent | 42d8a7b027e7a4313734e62caffedc852989a4db (diff) | |
download | chrome-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.c | 27 |
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; } |