summaryrefslogtreecommitdiff
path: root/board/phaser/led.c
diff options
context:
space:
mode:
authornickchen <nickchen@ami.corp-partner.google.com>2018-07-27 11:31:25 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-07-31 07:15:45 -0700
commitb4ba711ebaf7663b6ca7ddd33e942d6a7b6f52f7 (patch)
treebd0d43866f0c55f81c87f57d384489e477c94813 /board/phaser/led.c
parentfc2281cc2d3dce0476505f56e76a24059d74009f (diff)
downloadchrome-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/led.c')
-rw-r--r--board/phaser/led.c33
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;
}