diff options
author | Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> | 2022-07-20 16:58:29 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-15 17:31:36 +0000 |
commit | 375305e76bb87ef51c0d1db2d6bbfcc066b31a91 (patch) | |
tree | 1ee5d36c32fd2a6388aacf4675b452d205d34978 /zephyr/projects/herobrine | |
parent | 6bff94908b4cda15d31baa2e152d76fe45b08ca1 (diff) | |
download | chrome-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.dts | 4 | ||||
-rw-r--r-- | zephyr/projects/herobrine/led_pins_evoker.dts | 56 | ||||
-rw-r--r-- | zephyr/projects/herobrine/led_policy_evoker.dts | 172 |
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>; }; }; }; |