diff options
author | Devin Lu <Devin.Lu@quantatw.com> | 2022-05-04 13:33:15 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-05 07:03:23 +0000 |
commit | 7bc1364631a46457fc047ede49ed7eee6d75edc8 (patch) | |
tree | a21a95ba9c7aa28ac160283d3e904bc5617716e5 | |
parent | 7f221bc654a91fd475301317e24b51278cc62d17 (diff) | |
download | chrome-ec-7bc1364631a46457fc047ede49ed7eee6d75edc8.tar.gz |
vell: Change Battery LEDs signal
This patch changes battery LEDs from active low to active high for
new board version.
BUG=b:231281125
BRANCH=none
TEST=On Vell reworked board. Make sure LEDs work.
Signed-off-by: Devin Lu <Devin.Lu@quantatw.com>
Change-Id: I546b8f21116a72a91d64ce990ffac4adb26fd8d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3627376
Reviewed-by: Boris Mittelberg <bmbm@google.com>
-rw-r--r-- | board/vell/gpio.inc | 8 | ||||
-rw-r--r-- | board/vell/led.c | 32 |
2 files changed, 27 insertions, 13 deletions
diff --git a/board/vell/gpio.inc b/board/vell/gpio.inc index 3753ad8eb5..4c5b630658 100644 --- a/board/vell/gpio.inc +++ b/board/vell/gpio.inc @@ -78,10 +78,10 @@ GPIO(USB_C2_C3_TCPC_RST_ODL, PIN(9, 6), GPIO_ODR_LOW) GPIO(VCCST_PWRGD_OD, PIN(A, 4), GPIO_ODR_LOW) /* LED */ -GPIO(LED_1_L, PIN(C, 4), GPIO_OUT_HIGH) -GPIO(LED_2_L, PIN(C, 3), GPIO_OUT_HIGH) -GPIO(LED_3_L, PIN(C, 2), GPIO_OUT_HIGH) -GPIO(LED_4_L, PIN(6, 0), GPIO_OUT_HIGH) +GPIO(LED_1_L, PIN(C, 4), GPIO_OUT_LOW) +GPIO(LED_2_L, PIN(C, 3), GPIO_OUT_LOW) +GPIO(LED_3_L, PIN(C, 2), GPIO_OUT_LOW) +GPIO(LED_4_L, PIN(6, 0), GPIO_OUT_LOW) /* UART alternate functions */ ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* GPIO64/CR_SIN1, GPO65/CR_SOUT1/FLPRG1_L */ diff --git a/board/vell/led.c b/board/vell/led.c index 2440ec29df..4387d1a6d7 100644 --- a/board/vell/led.c +++ b/board/vell/led.c @@ -7,19 +7,18 @@ #include <stdint.h> +#include "cbi.h" #include "battery.h" #include "charge_manager.h" #include "charge_state.h" #include "ec_commands.h" #include "gpio.h" +#include "hooks.h" #include "host_command.h" #include "led_common.h" #include "task.h" #include "util.h" -#define BAT_LED_ON 0 -#define BAT_LED_OFF 1 - #define BATT_LOW_BCT 10 #define LED_TICK_INTERVAL_MS (500 * MSEC) @@ -47,6 +46,21 @@ enum led_port { LEFT_PORT }; +uint8_t bat_led_on; +uint8_t bat_led_off; + +static void led_init(void) +{ + if (get_board_id() < 2) { + bat_led_on = 0; + bat_led_off = 1; + } else { + bat_led_on = 1; + bat_led_off = 0; + } +} +DECLARE_HOOK(HOOK_INIT, led_init, HOOK_PRIO_DEFAULT); + static void led_set_color_battery(int port, enum led_color color) { enum gpio_signal amber_led, white_led; @@ -58,16 +72,16 @@ static void led_set_color_battery(int port, enum led_color color) switch (color) { case LED_WHITE: - gpio_set_level(white_led, BAT_LED_ON); - gpio_set_level(amber_led, BAT_LED_OFF); + gpio_set_level(white_led, bat_led_on); + gpio_set_level(amber_led, bat_led_off); break; case LED_AMBER: - gpio_set_level(white_led, BAT_LED_OFF); - gpio_set_level(amber_led, BAT_LED_ON); + gpio_set_level(white_led, bat_led_off); + gpio_set_level(amber_led, bat_led_on); break; case LED_OFF: - gpio_set_level(white_led, BAT_LED_OFF); - gpio_set_level(amber_led, BAT_LED_OFF); + gpio_set_level(white_led, bat_led_off); + gpio_set_level(amber_led, bat_led_off); break; default: break; |