diff options
author | Ted Kuo <tedkuo@ami.com.tw> | 2015-11-27 15:24:54 +0800 |
---|---|---|
committer | ChromeOS bot <3su6n15k.default@developer.gserviceaccount.com> | 2015-11-29 14:00:07 +0000 |
commit | 43e6c0869ffb6bf6fc1ace9bf8f8190c4e6d7b96 (patch) | |
tree | 324f3e2e6ad03e439791ca54fda155697450e7bf | |
parent | 5ad27e50f074eb9cbf4e5c9864e99b2d7f8d25f0 (diff) | |
download | chrome-ec-43e6c0869ffb6bf6fc1ace9bf8f8190c4e6d7b96.tar.gz |
Edgar: fix led set/get brigthness functions
1.add orange(yellow) led range to led_get_brightness_range()
2.implement led_set_brightness()
3.do not turn off led when auto control is disable
BUG=chrome-os-partner:48074
TEST=Compiled, verified
BRANCH=firmware-strago-7287.B
Signed-off-by: Ted Kuo <tedkuo@ami.com.tw>
Change-Id: If9d2542c577bc3634372bd3e6689d959b6ecab14
Reviewed-on: https://chromium-review.googlesource.com/313918
Reviewed-by: Shawn N <shawnn@chromium.org>
Commit-Queue: Ted Kuo <tedkuo@ami.com.tw>
Tested-by: Ted Kuo <tedkuo@ami.com.tw>
-rw-r--r-- | board/edgar/led.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/board/edgar/led.c b/board/edgar/led.c index c5e591f7f7..793454b7bf 100644 --- a/board/edgar/led.c +++ b/board/edgar/led.c @@ -82,11 +82,31 @@ static int pwr_led_set_color(enum led_color color) void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range) { brightness_range[EC_LED_COLOR_BLUE] = 1; + brightness_range[EC_LED_COLOR_YELLOW] = 1; } int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness) { - gpio_set_level(GPIO_PWR_LED_BLUE, brightness[EC_LED_COLOR_BLUE]); + switch (led_id) { + case EC_LED_ID_BATTERY_LED: + if (brightness[EC_LED_COLOR_BLUE] != 0) + bat_led_set_color(LED_BLUE); + else if (brightness[EC_LED_COLOR_YELLOW] != 0) + bat_led_set_color(LED_ORANGE); + else + bat_led_set_color(LED_OFF); + break; + case EC_LED_ID_POWER_LED: + if (brightness[EC_LED_COLOR_BLUE] != 0) + pwr_led_set_color(LED_BLUE); + else if (brightness[EC_LED_COLOR_YELLOW] != 0) + pwr_led_set_color(LED_ORANGE); + else + pwr_led_set_color(LED_OFF); + break; + default: + return EC_ERROR_UNKNOWN; + } return EC_SUCCESS; } @@ -180,13 +200,9 @@ static void led_sec(void) if (led_auto_control_is_enabled(EC_LED_ID_BATTERY_LED)) edgar_led_set_battery(); - else - bat_led_set_color(LED_OFF); if (led_auto_control_is_enabled(EC_LED_ID_POWER_LED)) edgar_led_set_power(); - else - pwr_led_set_color(LED_OFF); } DECLARE_HOOK(HOOK_SECOND, led_sec, HOOK_PRIO_DEFAULT); |