summaryrefslogtreecommitdiff
path: root/zephyr/projects/herobrine
diff options
context:
space:
mode:
authorYu-An Chen <yu-an.chen@quanta.corp-partner.google.com>2022-07-20 16:58:29 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-15 17:31:36 +0000
commit375305e76bb87ef51c0d1db2d6bbfcc066b31a91 (patch)
tree1ee5d36c32fd2a6388aacf4675b452d205d34978 /zephyr/projects/herobrine
parent6bff94908b4cda15d31baa2e152d76fe45b08ca1 (diff)
downloadchrome-ec-375305e76bb87ef51c0d1db2d6bbfcc066b31a91.tar.gz
evoker: Implement LED behavior
evoker has two leds that are battery led and power led. The led behavior define as following: Power led: S0 - white S3 - white 1 second, off 1 second S5 - off Battery led: Full charge - white Charge - amber Discharge - off Error - red Forced idle - red 1 second, white 1 second BUG=b:243477929 BRANCH=none TEST=zmake build evoker Signed-off-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Change-Id: I1f6b0c161be7e79596de11b125e8624806406767 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3775798 Reviewed-by: Bob Moragues <moragues@chromium.org> Auto-Submit: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Reviewed-by: Sam Hurst <shurst@google.com> Commit-Queue: Sam Hurst <shurst@google.com> Tested-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com>
Diffstat (limited to 'zephyr/projects/herobrine')
-rw-r--r--zephyr/projects/herobrine/gpio_evoker.dts4
-rw-r--r--zephyr/projects/herobrine/led_pins_evoker.dts56
-rw-r--r--zephyr/projects/herobrine/led_policy_evoker.dts172
3 files changed, 57 insertions, 175 deletions
diff --git a/zephyr/projects/herobrine/gpio_evoker.dts b/zephyr/projects/herobrine/gpio_evoker.dts
index 806ff928a3..c27cfba47d 100644
--- a/zephyr/projects/herobrine/gpio_evoker.dts
+++ b/zephyr/projects/herobrine/gpio_evoker.dts
@@ -180,11 +180,11 @@
#led-pin-cells = <1>;
gpios = <&gpioc 0 GPIO_OUTPUT_LOW>;
};
- gpio_ec_chg_led_y_c1: ec_chg_led_y_c1 {
+ gpio_ec_chg_led_w_c1: ec_chg_led_w_c1 {
#led-pin-cells = <1>;
gpios = <&gpioc 3 GPIO_OUTPUT_LOW>;
};
- gpio_ec_chg_led_w_c1: ec_chg_led_w_c1 {
+ gpio_ec_chg_led_r_c0: ec_chg_led_r_c0 {
#led-pin-cells = <1>;
gpios = <&gpioc 4 GPIO_OUTPUT_LOW>;
};
diff --git a/zephyr/projects/herobrine/led_pins_evoker.dts b/zephyr/projects/herobrine/led_pins_evoker.dts
index c509ab1a64..ff2dc0e36c 100644
--- a/zephyr/projects/herobrine/led_pins_evoker.dts
+++ b/zephyr/projects/herobrine/led_pins_evoker.dts
@@ -7,50 +7,48 @@
gpio-led-pins {
compatible = "cros-ec,gpio-led-pins";
- color_off_left: color-off-left {
+ color_power_off: color-power-off {
led-color = "LED_OFF";
- led-id = "EC_LED_ID_LEFT_LED";
- led-pins = <&gpio_ec_chg_led_y_c1 0>,
- <&gpio_ec_chg_led_w_c1 0>;
+ led-id = "EC_LED_ID_POWER_LED";
+ led-pins = <&gpio_ec_chg_led_w_c1 0>;
};
- color_off_right: color-off-right {
- led-color = "LED_OFF";
- led-id = "EC_LED_ID_RIGHT_LED";
- led-pins = <&gpio_ec_chg_led_y_c0 0>,
- <&gpio_ec_chg_led_w_c0 0>;
+ color_power_white: color-power-white {
+ led-color = "LED_WHITE";
+ led-id = "EC_LED_ID_POWER_LED";
+ led-pins = <&gpio_ec_chg_led_w_c1 1>;
};
- color_amber_left: color-amber-left {
- led-color = "LED_AMBER";
- led-id = "EC_LED_ID_LEFT_LED";
- br-color = "EC_LED_COLOR_AMBER";
- led-pins = <&gpio_ec_chg_led_y_c1 1>,
- <&gpio_ec_chg_led_w_c1 0>;
+ color_battery_off: color-battery-off {
+ led-color = "LED_OFF";
+ led-id = "EC_LED_ID_BATTERY_LED";
+ led-pins = <&gpio_ec_chg_led_y_c0 0>,
+ <&gpio_ec_chg_led_w_c0 0>,
+ <&gpio_ec_chg_led_r_c0 0>;
};
- color_amber_right: color-amber-right {
+ color_battery_amber: color-battery-amber {
led-color = "LED_AMBER";
- led-id = "EC_LED_ID_RIGHT_LED";
- br-color = "EC_LED_COLOR_AMBER";
+ led-id = "EC_LED_ID_BATTERY_LED";
led-pins = <&gpio_ec_chg_led_y_c0 1>,
- <&gpio_ec_chg_led_w_c0 0>;
+ <&gpio_ec_chg_led_w_c0 0>,
+ <&gpio_ec_chg_led_r_c0 0>;
};
- color_white_left: color-white-left {
+ color_battery_white: color-battery-white {
led-color = "LED_WHITE";
- led-id = "EC_LED_ID_LEFT_LED";
- br-color = "EC_LED_COLOR_WHITE";
- led-pins = <&gpio_ec_chg_led_y_c1 0>,
- <&gpio_ec_chg_led_w_c1 1>;
+ led-id = "EC_LED_ID_BATTERY_LED";
+ led-pins = <&gpio_ec_chg_led_y_c0 0>,
+ <&gpio_ec_chg_led_w_c0 1>,
+ <&gpio_ec_chg_led_r_c0 0>;
};
- color_white_right: color-white-right {
- led-color = "LED_WHITE";
- led-id = "EC_LED_ID_RIGHT_LED";
- br-color = "EC_LED_COLOR_WHITE";
+ color_battery_red: color-battery-red {
+ led-color = "LED_RED";
+ led-id = "EC_LED_ID_BATTERY_LED";
led-pins = <&gpio_ec_chg_led_y_c0 0>,
- <&gpio_ec_chg_led_w_c0 1>;
+ <&gpio_ec_chg_led_w_c0 0>,
+ <&gpio_ec_chg_led_r_c0 1>;
};
};
};
diff --git a/zephyr/projects/herobrine/led_policy_evoker.dts b/zephyr/projects/herobrine/led_policy_evoker.dts
index 13e5306deb..fc17755ede 100644
--- a/zephyr/projects/herobrine/led_policy_evoker.dts
+++ b/zephyr/projects/herobrine/led_policy_evoker.dts
@@ -4,198 +4,82 @@
led-colors {
compatible = "cros-ec,led-policy";
- power-state-charge-left {
+ battery-state-charge {
charge-state = "PWR_STATE_CHARGE";
- charge-port = <1>; /* Left port */
- /* Turn off the right LED */
color-0 {
- led-color = <&color_off_right>;
- };
- /* Left LED to Amber */
- color-1 {
- led-color = <&color_amber_left>;
- };
- };
-
- power-state-charge-right {
- charge-state = "PWR_STATE_CHARGE";
- charge-port = <0>; /* Right port */
-
- /* Turn off the left LED */
- color-0 {
- led-color = <&color_off_left>;
- };
- /* Right LED to Amber */
- color-1 {
- led-color = <&color_amber_right>;
+ led-color = <&color_battery_amber>;
};
};
- power-state-discharge-right-low {
- charge-state = "PWR_STATE_DISCHARGE";
- /* Battery percent range (>= Empty, <= Low) */
- batt-lvl = <BATTERY_LEVEL_EMPTY BATTERY_LEVEL_LOW>;
+ battery-state-near-full {
+ charge-state = "PWR_STATE_CHARGE_NEAR_FULL";
- /* Turn off the left LED */
color-0 {
- led-color = <&color_off_left>;
- };
- /* Right LED - White 1 sec, off 3 sec */
- color-1 {
- led-color = <&color_white_right>;
- period-ms = <1000>;
- };
- color-2 {
- led-color = <&color_off_right>;
- period-ms = <3000>;
+ led-color = <&color_battery_white>;
};
};
- power-state-discharge-right {
+ battery-state-discharge {
charge-state = "PWR_STATE_DISCHARGE";
- /* Battery percent range (> Low, <= Full) */
- batt-lvl = <(BATTERY_LEVEL_LOW + 1) BATTERY_LEVEL_FULL>;
- /* Turn off the left LED */
color-0 {
- led-color = <&color_off_left>;
- };
- /* Turn off the right LED */
- color-1 {
- led-color = <&color_off_right>;
+ led-color = <&color_battery_off>;
};
};
- power-state-error-left {
+ battery-state-error {
charge-state = "PWR_STATE_ERROR";
- charge-port = <1>; /* Left port */
- /* Turn off the right LED */
color-0 {
- led-color = <&color_off_right>;
- };
- /* Left LED - White 2 sec, off 2 sec */
- color-1 {
- led-color = <&color_white_left>;
- period-ms = <2000>;
- };
- color-2 {
- led-color = <&color_off_right>;
- period-ms = <2000>;
+ led-color = <&color_battery_red>;
};
};
- power-state-error-right {
- charge-state = "PWR_STATE_ERROR";
- charge-port = <0>; /* Right port */
+ /* force idle mode */
+ battery-state-forced-idle {
+ charge-state = "PWR_STATE_FORCED_IDLE";
- /* Turn off the left LED */
+ /* Red 1 sec, White 1 sec */
color-0 {
- led-color = <&color_off_left>;
- };
- /* Right LED - White 2 sec, off 2 sec */
- color-1 {
- led-color = <&color_white_right>;
- period-ms = <2000>;
- };
- color-2 {
- led-color = <&color_off_right>;
- period-ms = <2000>;
+ led-color = <&color_battery_red>;
+ period-ms = <1000>;
};
- };
- power-state-near-full-left {
- charge-state = "PWR_STATE_CHARGE_NEAR_FULL";
- charge-port = <1>; /* Left port */
-
- /* Turn off the right LED */
- color-0 {
- led-color = <&color_off_right>;
- };
- /* Left LED to White */
color-1 {
- led-color = <&color_white_left>;
+ led-color = <&color_battery_white>;
+ period-ms = <1000>;
};
};
- power-state-near-full-right {
- charge-state = "PWR_STATE_CHARGE_NEAR_FULL";
- charge-port = <0>; /* Right port */
+ pwr-power-state-s0 {
+ chipset-state = "POWER_S0";
- /* Turn off the left LED */
color-0 {
- led-color = <&color_off_left>;
- };
- /* Right LED to White */
- color-1 {
- led-color = <&color_white_right>;
+ led-color = <&color_power_white>;
};
};
- power-state-forced-idle-left {
- charge-state = "PWR_STATE_FORCED_IDLE";
- charge-port = <1>; /* Left port */
+ power-state-s3 {
+ chipset-state = "POWER_S3";
- /* Turn off the right LED */
+ /* white LED - on 1 sec, off 1 sec */
color-0 {
- led-color = <&color_off_right>;
- };
- /* Left LED - Amber 3 sec, Off 1 sec */
- color-1 {
- led-color = <&color_amber_left>;
- period-ms = <3000>;
- };
- color-2 {
- led-color = <&color_off_left>;
+ led-color = <&color_power_white>;
period-ms = <1000>;
};
- };
- power-state-forced-idle-right {
- charge-state = "PWR_STATE_FORCED_IDLE";
- charge-port = <0>; /* Right port */
-
- /* Turn off the left LED */
- color-0 {
- led-color = <&color_off_left>;
- };
- /* Right LED - Amber 3 sec, Off 1 sec */
color-1 {
- led-color = <&color_amber_right>;
- period-ms = <3000>;
- };
- color-2 {
- led-color = <&color_off_right>;
+ led-color = <&color_power_off>;
period-ms = <1000>;
};
};
- power-state-idle-left {
- charge-state = "PWR_STATE_IDLE";
- charge-port = <1>; /* Left port */
+ power-state-s5 {
+ chipset-state = "POWER_S5";
- /* Turn off the right LED */
color-0 {
- led-color = <&color_off_right>;
- };
- /* Left LED to White */
- color-1 {
- led-color = <&color_white_left>;
- };
- };
-
- power-state-idle-right {
- charge-state = "PWR_STATE_IDLE";
- charge-port = <0>; /* Right port */
-
- /* Turn off the left LED */
- color-0 {
- led-color = <&color_off_left>;
- };
- /* Right LED to White */
- color-1 {
- led-color = <&color_white_right>;
+ led-color = <&color_power_off>;
};
};
};