diff options
author | Zick Wei <zick.wei@quanta.corp-partner.google.com> | 2018-09-12 19:49:00 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-09-20 05:15:20 -0700 |
commit | dd818f7e1b80611f8a6ccf3a79f46e1b952db742 (patch) | |
tree | 0a60cb1c29536be1fcdd9a71ccca924153c2790f /board/meep/led.c | |
parent | efa5d1dac544db64d0df45db31493c0f5d26dc2c (diff) | |
download | chrome-ec-dd818f7e1b80611f8a6ccf3a79f46e1b952db742.tar.gz |
meep: Add clamshell Suspend LED Behavior
Meep and Mimrock use same mother board,
Mimrock is clamshell sku only have Charge LED.
To meet LED spec:
System without Power LED, Suspend/S0ix without charge
blink White on Charge LED(1 sec on, 1 sec off).
BUG=none
BRANCH=none
TEST=manual
Set cbi sku id to clamshell sku,
Check Charge LED will blink(1 sec on, 1 sec off),
when system is Suspend/S0ix without charge.
Change-Id: Ib443d6176d929aad4b65c1cb0d4b40c102e6f67e
Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1226830
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'board/meep/led.c')
-rw-r--r-- | board/meep/led.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/board/meep/led.c b/board/meep/led.c index ccf2f2f045..7f4754ca2c 100644 --- a/board/meep/led.c +++ b/board/meep/led.c @@ -9,6 +9,7 @@ #include "gpio.h" #include "led_common.h" #include "led_states.h" +#include "hooks.h" #define LED_OFF_LVL 1 #define LED_ON_LVL 0 @@ -18,14 +19,14 @@ const int led_charge_lvl_1; const int led_charge_lvl_2 = 100; /* Meep: Note there is only LED for charge / power */ -const struct led_descriptor - led_bat_state_table[LED_NUM_STATES][LED_NUM_PHASES] = { +struct led_descriptor led_bat_state_table[LED_NUM_STATES][LED_NUM_PHASES] = { [STATE_CHARGING_LVL_1] = {{EC_LED_COLOR_AMBER, LED_INDEFINITE} }, [STATE_CHARGING_LVL_2] = {{EC_LED_COLOR_AMBER, LED_INDEFINITE} }, [STATE_CHARGING_FULL_CHARGE] = {{EC_LED_COLOR_WHITE, LED_INDEFINITE} }, [STATE_DISCHARGE_S0] = {{LED_OFF, LED_INDEFINITE} }, [STATE_DISCHARGE_S0_BAT_LOW] = {{EC_LED_COLOR_WHITE, 1 * LED_ONE_SEC}, {LED_OFF, 1 * LED_ONE_SEC} }, + /* STATE_DISCHARGE_S3 will changed if sku is clamshells */ [STATE_DISCHARGE_S3] = {{LED_OFF, LED_INDEFINITE} }, [STATE_DISCHARGE_S5] = {{LED_OFF, LED_INDEFINITE} }, [STATE_BATTERY_ERROR] = {{EC_LED_COLOR_WHITE, 0.5 * LED_ONE_SEC}, @@ -49,6 +50,22 @@ const enum ec_led_id supported_led_ids[] = { EC_LED_ID_POWER_LED }; +static void s3_led_init(void) +{ + if (!board_is_convertible()) { + led_bat_state_table[STATE_DISCHARGE_S3][LED_PHASE_0].color = + EC_LED_COLOR_WHITE; + led_bat_state_table[STATE_DISCHARGE_S3][LED_PHASE_0].time = + 1 * LED_ONE_SEC; + + led_bat_state_table[STATE_DISCHARGE_S3][LED_PHASE_1].color = + LED_OFF; + led_bat_state_table[STATE_DISCHARGE_S3][LED_PHASE_1].time = + 1 * LED_ONE_SEC; + } +} +DECLARE_HOOK(HOOK_INIT, s3_led_init, HOOK_PRIO_DEFAULT); + const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids); void led_set_color_power(enum ec_led_colors color) |