summaryrefslogtreecommitdiff
path: root/zephyr/projects/nissa/src/led.c
diff options
context:
space:
mode:
authorAndrew McRae <amcrae@google.com>2022-04-04 16:14:07 +1000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-04-06 01:17:06 +0000
commit065e1007ea67905926076fd0365cfe34ebf823cb (patch)
tree010a479e50b95770111ac86b86e3a6aeeb9b1f2b /zephyr/projects/nissa/src/led.c
parentaa86c16760cc99d6a374b2cbf545a986cbdff311 (diff)
downloadchrome-ec-065e1007ea67905926076fd0365cfe34ebf823cb.tar.gz
nissa: Add configs for legacy PWM LEDs
Add config for legacy PWM LEDs enabling. BUG=b:225323731 TEST=zmake build nivviks BRANCH=none Signed-off-by: Andrew McRae <amcrae@google.com> Change-Id: I463c321bfb35ce039d57668d6afc18e8090a2d7b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3568009 Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Diffstat (limited to 'zephyr/projects/nissa/src/led.c')
-rw-r--r--zephyr/projects/nissa/src/led.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/zephyr/projects/nissa/src/led.c b/zephyr/projects/nissa/src/led.c
new file mode 100644
index 0000000000..fa28ccc179
--- /dev/null
+++ b/zephyr/projects/nissa/src/led.c
@@ -0,0 +1,45 @@
+/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Battery LED control for nissa
+ */
+#include "common.h"
+#include "ec_commands.h"
+#include "led_common.h"
+#include "led_onoff_states.h"
+#include "led_pwm.h"
+
+__override const int led_charge_lvl_1 = 5;
+__override const int led_charge_lvl_2 = 97;
+__override struct led_descriptor
+ led_bat_state_table[LED_NUM_STATES][LED_NUM_PHASES] = {
+ [STATE_CHARGING_LVL_1] = {{EC_LED_COLOR_RED, LED_INDEFINITE} },
+ [STATE_CHARGING_LVL_2] = {{EC_LED_COLOR_AMBER, LED_INDEFINITE} },
+ [STATE_CHARGING_FULL_CHARGE] = {{EC_LED_COLOR_GREEN, LED_INDEFINITE} },
+ [STATE_DISCHARGE_S0] = {{LED_OFF, LED_INDEFINITE} },
+ [STATE_DISCHARGE_S3] = {{LED_OFF, LED_INDEFINITE} },
+ [STATE_DISCHARGE_S5] = {{LED_OFF, LED_INDEFINITE} },
+ [STATE_BATTERY_ERROR] = {{EC_LED_COLOR_RED, 1 * LED_ONE_SEC},
+ {LED_OFF, 1 * LED_ONE_SEC} },
+ [STATE_FACTORY_TEST] = {{EC_LED_COLOR_RED, 2 * LED_ONE_SEC},
+ {EC_LED_COLOR_GREEN, 2 * LED_ONE_SEC} },
+};
+
+__override void led_set_color_battery(enum ec_led_colors color)
+{
+ switch (color) {
+ case EC_LED_COLOR_RED:
+ set_pwm_led_color(EC_LED_ID_BATTERY_LED, EC_LED_COLOR_RED);
+ break;
+ case EC_LED_COLOR_GREEN:
+ set_pwm_led_color(EC_LED_ID_BATTERY_LED, EC_LED_COLOR_GREEN);
+ break;
+ case EC_LED_COLOR_AMBER:
+ set_pwm_led_color(EC_LED_ID_BATTERY_LED, EC_LED_COLOR_AMBER);
+ break;
+ default: /* LED_OFF and other unsupported colors */
+ set_pwm_led_color(EC_LED_ID_BATTERY_LED, -1);
+ break;
+ }
+}