summaryrefslogtreecommitdiff
path: root/zephyr/program/rex/led.dts
blob: fb31eaac43f84005a724549edc3f6a8b65069690 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/* Copyright 2022 The ChromiumOS Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/ {
	gpio-led-pins {
		compatible = "cros-ec,gpio-led-pins";

		color_off: color-off {
			led-color = "LED_OFF";
			led-id = "EC_LED_ID_BATTERY_LED";
			led-pins = <&gpio_led_1_l &gpio_led_2_l>;
			led-values = <1 1>;
		};

		color_white: color-white {
			led-color = "LED_WHITE";
			led-id = "EC_LED_ID_BATTERY_LED";
			br-color = "EC_LED_COLOR_WHITE";
			led-pins = <&gpio_led_1_l &gpio_led_2_l>;
			led-values = <1 0>;
		};

		color_amber: color-amber {
			led-color = "LED_AMBER";
			led-id = "EC_LED_ID_BATTERY_LED";
			br-color = "EC_LED_COLOR_AMBER";
			led-pins = <&gpio_led_1_l &gpio_led_2_l>;
			led-values = <0 1>;
		};
	};

	led-colors {
		compatible = "cros-ec,led-policy";

		power-state-charge {
			charge-state = "PWR_STATE_CHARGE";

			color-0 {
				led-color = <&color_amber>;
			};
		};

		power-state-discharge-s0 {
			charge-state = "PWR_STATE_DISCHARGE";
			chipset-state = "POWER_S0";

			color-0 {
				led-color = <&color_off>;
			};
		};

		power-state-discharge-s3 {
			charge-state = "PWR_STATE_DISCHARGE";
			chipset-state = "POWER_S3";

			/* Blue 1 sec, off 3 sec */
			color-0 {
				led-color = <&color_white>;
				period-ms = <1000>;
			};
			color-1 {
				led-color = <&color_off>;
				period-ms = <3000>;
			};
		};

		power-state-discharge-s5 {
			charge-state = "PWR_STATE_DISCHARGE";
			chipset-state = "POWER_S5";

			color-0 {
				led-color = <&color_off>;
			};
		};

		power-state-error {
			charge-state = "PWR_STATE_ERROR";

			/* Red 1 sec, off 1 sec */
			color-0 {
				led-color = <&color_white>;
				period-ms = <1000>;
			};
			color-1 {
				led-color = <&color_off>;
				period-ms = <1000>;
			};
		};

		power-state-near-full {
			charge-state = "PWR_STATE_CHARGE_NEAR_FULL";

			color-0 {
				led-color = <&color_amber>;
			};
		};

		power-state-forced-idle {
			charge-state = "PWR_STATE_FORCED_IDLE";

			/* White 2 sec, Amber 2 sec */
			color-0 {
				led-color = <&color_white>;
				period-ms = <2000>;
			};
			color-1 {
				led-color = <&color_amber>;
				period-ms = <2000>;
			};
		};

		power-state-idle-default {
			charge-state = "PWR_STATE_IDLE";

			color-0 {
				led-color = <&color_white>;
			};
		};
	};
};