summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElsie Shih <elsie_shih@wistron.corp-partner.google.com>2022-02-08 15:03:07 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-06-15 04:34:32 +0000
commit6bd927a56bbb3480390b5b812a0de9f831a6c12b (patch)
tree1c9c460fd4e01ce5605f6175271e6503c49c342f
parent9b80051e01872d8cae86fff999b5d31a0bea985b (diff)
downloadchrome-ec-6bd927a56bbb3480390b5b812a0de9f831a6c12b.tar.gz
gimble: modify ectool control battery led
We will use ectool led battery <amber | white> to test if led is working for factory automated testing. BUG=b:235763023 BRANCH=none TEST=make -j BOARD=gimble Signed-off-by: Elsie Shih <elsie_shih@wistron.corp-partner.google.com> Change-Id: I630efb195e496f6e834da8b5ea51684666530d0a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3448055 Reviewed-by: Boris Mittelberg <bmbm@google.com>
-rw-r--r--board/gimble/led.c49
1 files changed, 34 insertions, 15 deletions
diff --git a/board/gimble/led.c b/board/gimble/led.c
index 39bfff17ab..3176e1a35d 100644
--- a/board/gimble/led.c
+++ b/board/gimble/led.c
@@ -78,34 +78,49 @@ __override void led_set_color_battery(enum ec_led_colors color)
/* Check which port is the charging port,
* and turn on the corresponding led.
*/
- port = charge_manager_get_active_charge_port();
- switch (port) {
- case LED_SIDESEL_MB_PORT:
- switch (color) {
- case EC_LED_COLOR_AMBER:
- led1_duty = BAT_LED_ON_LVL;
+ if (led_auto_control_is_enabled(EC_LED_ID_BATTERY_LED)) {
+ port = charge_manager_get_active_charge_port();
+ switch (port) {
+ case LED_SIDESEL_MB_PORT:
+ switch (color) {
+ case EC_LED_COLOR_AMBER:
+ led1_duty = BAT_LED_ON_LVL;
+ break;
+ case EC_LED_COLOR_WHITE:
+ led2_duty = BAT_LED_ON_LVL;
+ break;
+ default: /* LED_OFF and other unsupported colors */
+ break;
+ }
break;
- case EC_LED_COLOR_WHITE:
- led2_duty = BAT_LED_ON_LVL;
+ case LED_SIDESEL_DB_PORT:
+ switch (color) {
+ case EC_LED_COLOR_AMBER:
+ led3_duty = BAT_LED_ON_LVL;
+ break;
+ case EC_LED_COLOR_WHITE:
+ led4_duty = BAT_LED_ON_LVL;
+ break;
+ default: /* LED_OFF and other unsupported colors */
+ break;
+ }
break;
- default: /* LED_OFF and other unsupported colors */
+ default: /* Unknown charging port */
break;
}
- break;
- case LED_SIDESEL_DB_PORT:
+ } else {
switch (color) {
case EC_LED_COLOR_AMBER:
+ led1_duty = BAT_LED_ON_LVL;
led3_duty = BAT_LED_ON_LVL;
break;
case EC_LED_COLOR_WHITE:
+ led2_duty = BAT_LED_ON_LVL;
led4_duty = BAT_LED_ON_LVL;
break;
default: /* LED_OFF and other unsupported colors */
break;
}
- break;
- default: /* Unknown charging port */
- break;
}
pwm_set_duty(PWM_CH_LED1, led1_duty);
@@ -141,8 +156,12 @@ int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness)
led_set_color_battery(EC_LED_COLOR_AMBER);
else if (brightness[EC_LED_COLOR_WHITE] != 0)
led_set_color_battery(EC_LED_COLOR_WHITE);
- else
+ else if (brightness[LED_OFF] != 0)
led_set_color_battery(LED_OFF);
+ else {
+ led_auto_control(led_id, 1);
+ led_set_color_battery(LED_OFF);
+ }
} else if (led_id == EC_LED_ID_POWER_LED) {
if (brightness[EC_LED_COLOR_WHITE] != 0)
led_set_color_power(EC_LED_COLOR_WHITE);