summaryrefslogtreecommitdiff
path: root/board/gumboz
diff options
context:
space:
mode:
authorZick Wei <zick.wei@quanta.corp-partner.google.com>2020-12-22 09:27:00 +0800
committerCommit Bot <commit-bot@chromium.org>2020-12-22 04:43:34 +0000
commit0921d69ccb2a006d500fe0f5180e2d93b6949ff6 (patch)
tree1b5e26a3843beb65cd42f21fe989521c36051b31 /board/gumboz
parentf4433328164d2a57dfe9dd0b0ae908e6786f1852 (diff)
downloadchrome-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')
-rw-r--r--board/gumboz/led.c24
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;