summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kuo <tedkuo@ami.com.tw>2015-11-27 15:24:54 +0800
committerChromeOS bot <3su6n15k.default@developer.gserviceaccount.com>2015-11-29 14:00:07 +0000
commit43e6c0869ffb6bf6fc1ace9bf8f8190c4e6d7b96 (patch)
tree324f3e2e6ad03e439791ca54fda155697450e7bf
parent5ad27e50f074eb9cbf4e5c9864e99b2d7f8d25f0 (diff)
downloadchrome-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.c26
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);