diff options
author | nickchen <nickchen@ami.corp-partner.google.com> | 2018-07-27 11:31:25 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-07-31 07:15:45 -0700 |
commit | b4ba711ebaf7663b6ca7ddd33e942d6a7b6f52f7 (patch) | |
tree | bd0d43866f0c55f81c87f57d384489e477c94813 /board/phaser | |
parent | fc2281cc2d3dce0476505f56e76a24059d74009f (diff) | |
download | chrome-ec-b4ba711ebaf7663b6ca7ddd33e942d6a7b6f52f7.tar.gz |
phaser: Fix ectool led on/off/auto controls
Phaser systems include power and battery LED and they were not being
covered for ectool led commands. This CL adds the support for POWER_LED
and BATTERT_LED, so that ectool led can control both power button led
and battery led. In addition, fix "ectool led power auto" can adjust
power led status immediately.
BUG=b:80501031, b:110086152
BRANCH=none
TEST=Verified all leds color and behavior can work as expected.
ectool led battery red|amber|green|off|auto
ectool led power white|off|auto
make buildall pass.
Change-Id: I68b31114e89786f82b5c0fa6bf437c041f5a4fd0
Signed-off-by: nickchen <nickchen@ami.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1152343
Commit-Ready: Nick Chen <nickchen@ami.corp-partner.google.com>
Tested-by: Nick Chen <nickchen@ami.corp-partner.google.com>
Tested-by: Chao Ding <chao.ding@bitland.corp-partner.google.com>
Reviewed-by: Chao Ding <chao.ding@bitland.corp-partner.google.com>
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'board/phaser')
-rw-r--r-- | board/phaser/led.c | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/board/phaser/led.c b/board/phaser/led.c index e9a8912111..18315abd0d 100644 --- a/board/phaser/led.c +++ b/board/phaser/led.c @@ -73,21 +73,32 @@ void led_set_color_battery(enum ec_led_colors color) void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range) { - brightness_range[EC_LED_COLOR_RED] = 1; - brightness_range[EC_LED_COLOR_AMBER] = 1; - brightness_range[EC_LED_COLOR_GREEN] = 1; + if (led_id == EC_LED_ID_BATTERY_LED) { + brightness_range[EC_LED_COLOR_RED] = 1; + brightness_range[EC_LED_COLOR_AMBER] = 1; + brightness_range[EC_LED_COLOR_GREEN] = 1; + } else if (led_id == EC_LED_ID_POWER_LED) { + brightness_range[EC_LED_COLOR_WHITE] = 1; + } } int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness) { - if (brightness[EC_LED_COLOR_RED] != 0) - led_set_color_battery(EC_LED_COLOR_RED); - else if (brightness[EC_LED_COLOR_AMBER] != 0) - led_set_color_battery(EC_LED_COLOR_AMBER); - else if (brightness[EC_LED_COLOR_GREEN] != 0) - led_set_color_battery(EC_LED_COLOR_GREEN); - else - led_set_color_battery(LED_OFF); + if (led_id == EC_LED_ID_BATTERY_LED) { + if (brightness[EC_LED_COLOR_RED] != 0) + led_set_color_battery(EC_LED_COLOR_RED); + else if (brightness[EC_LED_COLOR_AMBER] != 0) + led_set_color_battery(EC_LED_COLOR_AMBER); + else if (brightness[EC_LED_COLOR_GREEN] != 0) + led_set_color_battery(EC_LED_COLOR_GREEN); + else + led_set_color_battery(LED_OFF); + } else if (led_id == EC_LED_ID_POWER_LED) { + if (brightness[EC_LED_COLOR_WHITE] != 0) + led_set_color_power(1); + else + led_set_color_power(0); + } return EC_SUCCESS; } |