From ca84aca581340ee4ff12a1dbf504d8b03b8489ee Mon Sep 17 00:00:00 2001 From: David Huang Date: Thu, 7 May 2015 19:04:50 +0800 Subject: Modify LED control for Power LED Modify LED control for Power LED control is defferent with Battery LED. BRANCH=gandof BUG=chrome-os-partner:39860 TEST=Power on to check power LED and battery LED status. Change-Id: I71a43b513cdd05da9d8e207286a9b19ea56df931 Signed-off-by: David Huang Reviewed-on: https://chromium-review.googlesource.com/269868 Reviewed-by: Mohammed Habibulla Commit-Queue: David Wu --- board/gandof/gpio.inc | 4 ++-- board/gandof/led.c | 47 ++++++++++++++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/board/gandof/gpio.inc b/board/gandof/gpio.inc index 1e5028002b..8dabff2d19 100644 --- a/board/gandof/gpio.inc +++ b/board/gandof/gpio.inc @@ -87,8 +87,8 @@ GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH, NULL) /* Not supposed to be here GPIO(BAT_LED0_L, N, 6, GPIO_ODR_HIGH, NULL) /* Battery charging LED - blue */ GPIO(BAT_LED1_L, N, 4, GPIO_ODR_HIGH, NULL) /* Battery charging LED - orange */ -GPIO(PWR_LED0_L, D, 0, GPIO_ODR_HIGH, NULL) /* Power LED - blue */ -GPIO(PWR_LED1_L, D, 1, GPIO_ODR_HIGH, NULL) /* Power LED - orange */ +GPIO(PWR_LED0_L, D, 0, GPIO_OUT_LOW, NULL) /* Power LED - blue */ +GPIO(PWR_LED1_L, D, 1, GPIO_OUT_LOW, NULL) /* Power LED - orange */ ALTERNATE(A, 0x03, 1, MODULE_UART, GPIO_PULL_UP) /* UART0 */ ALTERNATE(B, 0x04, 3, MODULE_I2C, 0) /* I2C0 SCL */ diff --git a/board/gandof/led.c b/board/gandof/led.c index 4835404eb7..571a7265c7 100644 --- a/board/gandof/led.c +++ b/board/gandof/led.c @@ -38,26 +38,24 @@ const enum ec_led_id supported_led_ids[] = { const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids); -static int gandof_led_set_gpio(enum led_color color, - enum gpio_signal gpio_led_blue_l, - enum gpio_signal gpio_led_amber_l) +static int gandof_led_set_color_battery(enum led_color color) { switch (color) { case LED_OFF: - gpio_set_level(gpio_led_blue_l, 1); - gpio_set_level(gpio_led_amber_l, 1); + gpio_set_level(GPIO_BAT_LED0_L, 1); + gpio_set_level(GPIO_BAT_LED1_L, 1); break; case LED_BLUE: - gpio_set_level(gpio_led_blue_l, 0); - gpio_set_level(gpio_led_amber_l, 1); + gpio_set_level(GPIO_BAT_LED0_L, 0); + gpio_set_level(GPIO_BAT_LED1_L, 1); break; case LED_AMBER: - gpio_set_level(gpio_led_blue_l, 1); - gpio_set_level(gpio_led_amber_l, 0); + gpio_set_level(GPIO_BAT_LED0_L, 1); + gpio_set_level(GPIO_BAT_LED1_L, 0); break; case LED_PINK: - gpio_set_level(gpio_led_blue_l, 0); - gpio_set_level(gpio_led_amber_l, 0); + gpio_set_level(GPIO_BAT_LED0_L, 0); + gpio_set_level(GPIO_BAT_LED1_L, 0); break; default: return EC_ERROR_UNKNOWN; @@ -65,14 +63,29 @@ static int gandof_led_set_gpio(enum led_color color, return EC_SUCCESS; } -static int gandof_led_set_color_battery(enum led_color color) -{ - return gandof_led_set_gpio(color, GPIO_BAT_LED0_L, GPIO_BAT_LED1_L); -} - static int gandof_led_set_color_power(enum led_color color) { - return gandof_led_set_gpio(color, GPIO_PWR_LED0_L, GPIO_PWR_LED1_L); + switch (color) { + case LED_OFF: + gpio_set_level(GPIO_PWR_LED0_L, 0); + gpio_set_level(GPIO_PWR_LED1_L, 0); + break; + case LED_BLUE: + gpio_set_level(GPIO_PWR_LED0_L, 1); + gpio_set_level(GPIO_PWR_LED1_L, 0); + break; + case LED_AMBER: + gpio_set_level(GPIO_PWR_LED0_L, 0); + gpio_set_level(GPIO_PWR_LED1_L, 1); + break; + case LED_PINK: + gpio_set_level(GPIO_PWR_LED0_L, 1); + gpio_set_level(GPIO_PWR_LED1_L, 1); + break; + default: + return EC_ERROR_UNKNOWN; + } + return EC_SUCCESS; } static int gandof_led_set_color(enum ec_led_id led_id, enum led_color color) -- cgit v1.2.1