summaryrefslogtreecommitdiff
path: root/board/vell
diff options
context:
space:
mode:
authorDevin Lu <Devin.Lu@quantatw.com>2022-05-04 13:33:15 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-05 07:03:23 +0000
commit7bc1364631a46457fc047ede49ed7eee6d75edc8 (patch)
treea21a95ba9c7aa28ac160283d3e904bc5617716e5 /board/vell
parent7f221bc654a91fd475301317e24b51278cc62d17 (diff)
downloadchrome-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>
Diffstat (limited to 'board/vell')
-rw-r--r--board/vell/gpio.inc8
-rw-r--r--board/vell/led.c32
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;