diff options
author | Zick Wei <zick.wei@quanta.corp-partner.google.com> | 2020-12-22 09:27:00 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-12-22 04:43:34 +0000 |
commit | 0921d69ccb2a006d500fe0f5180e2d93b6949ff6 (patch) | |
tree | 1b5e26a3843beb65cd42f21fe989521c36051b31 /board/gumboz/led.c | |
parent | f4433328164d2a57dfe9dd0b0ae908e6786f1852 (diff) | |
download | chrome-ec-0921d69ccb2a006d500fe0f5180e2d93b6949ff6.tar.gz |
gumboz: update led on/off level
This patch update led on/off level by board version
and USB-C port:
1.board version >= 2 && USB-C right port
led on: gpio set high
led off: gpio set low
2. board version < 2
led on: gpio set low
led off: gpio set high
BUG=b:173476148
BRANCH=zork
TEST=verify on rework board, led behavior as intended.
Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Change-Id: I261f4a7f8adb737888de41e3fa7600cd220064a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2599727
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Diffstat (limited to 'board/gumboz/led.c')
-rw-r--r-- | board/gumboz/led.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/board/gumboz/led.c b/board/gumboz/led.c index b4bf36b7b0..0640a6cd21 100644 --- a/board/gumboz/led.c +++ b/board/gumboz/led.c @@ -7,6 +7,7 @@ #include "charge_manager.h" #include "charge_state.h" #include "chipset.h" +#include "cros_board_info.h" #include "ec_commands.h" #include "gpio.h" #include "host_command.h" @@ -45,24 +46,35 @@ enum led_port { static void led_set_color_battery(int port, enum led_color color) { enum gpio_signal amber_led, white_led; + uint32_t board_ver = 0; + int led_batt_on_lvl, led_batt_off_lvl; + cbi_get_board_version(&board_ver); amber_led = (port == LEFT_PORT ? GPIO_LED_CHRG_L : IOEX_C1_CHARGER_LED_AMBER_DB); white_led = (port == LEFT_PORT ? GPIO_LED_FULL_L : IOEX_C1_CHARGER_LED_WHITE_DB); + if ((board_ver >= 2) && (port == RIGHT_PORT)) { + led_batt_on_lvl = 1; + led_batt_off_lvl = 0; + } else { + led_batt_on_lvl = 0; + led_batt_off_lvl = 1; + } + switch (color) { case LED_WHITE: - gpio_or_ioex_set_level(white_led, BAT_LED_ON); - gpio_or_ioex_set_level(amber_led, BAT_LED_OFF); + gpio_or_ioex_set_level(white_led, led_batt_on_lvl); + gpio_or_ioex_set_level(amber_led, led_batt_off_lvl); break; case LED_AMBER: - gpio_or_ioex_set_level(white_led, BAT_LED_OFF); - gpio_or_ioex_set_level(amber_led, BAT_LED_ON); + gpio_or_ioex_set_level(white_led, led_batt_off_lvl); + gpio_or_ioex_set_level(amber_led, led_batt_on_lvl); break; case LED_OFF: - gpio_or_ioex_set_level(white_led, BAT_LED_OFF); - gpio_or_ioex_set_level(amber_led, BAT_LED_OFF); + gpio_or_ioex_set_level(white_led, led_batt_off_lvl); + gpio_or_ioex_set_level(amber_led, led_batt_off_lvl); break; default: break; |