summaryrefslogtreecommitdiff
path: root/zephyr/dts/bindings/leds/cros-ec,led-policy.yaml
blob: 7bdcbd863ee05b84d4a6d32ae0e8c0fd0c69a10a (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
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description: LED policy parent node

compatible: "cros-ec,led-policy"

child-binding:
    description: |
      LED policy nodes to describe the policy combination a node depends on, and
      the color to set to for that combination.
      e.g. If Blue color needs to be set for charge state discharge in S0, a
      node looks like
      power-state-discharge-s0 {
         charge-state = "PWR_STATE_DISCHARGE";
         chipset-state = "POWER_S0";
         charge-port = <0>;
         color-0 {
           led-color = <&color_blue>;
         };
      };

    properties:
        charge-state:
            description: |
              If the LED color depends on charge state, this property is used
              to describe it.
              PWR_STATE_CHARGE - AC is connected, battery is charging.
              PWR_STATE_DISCHARGE - AC is not connected, battery is discharging.
              PWR_STATE_ERROR - Battery is in error state.
              PWR_STATE_IDLE - AC is connected, battery is not charging.
              PWR_STATE_FORCED_IDLE - AC is connected, battery is not charging.
                                      Used during factory testing.
              PWR_STATE_CHARGE_NEAR_FULL - AC is connected, battery is charging
                                           and close to fully charged.
            type: string
            required: false
            enum:
                - PWR_STATE_CHARGE
                - PWR_STATE_DISCHARGE
                - PWR_STATE_ERROR
                - PWR_STATE_IDLE
                - PWR_STATE_FORCED_IDLE
                - PWR_STATE_CHARGE_NEAR_FULL

        charge-port:
            description: |
              If the LED color depends on the charging port (left or right).
            type: int
            required: false

        chipset-state:
            description: |
              If the LED color depends on chipset state, this property is used
              to describe it.
            type: string
            required: false
            enum:
                - POWER_S0
                - POWER_S3
                - POWER_S5

        batt-lvl:
            description: |
              If the LED color depends on current battery level, this property
              is used to describe batt_lvl range using closed interval [x,y].
              Use the macros defined in dt-bindings/battery.h.
              e.g. <BATTERY_LEVEL_EMPTY BATTERY_LEVEL_LOW> describes battery level
                   range of BATTERY_LEVEL_EMPTY to BATTERY_LEVEL_LOW inclusive.
            type: array
            required: false

    child-binding:
        description: Color enum
        properties:
            led-color:
                description: |
                  Handle to LED pins node that describes pins to set to enable a
                  particular color.
                type: phandle
                required: true
            period-ms:
                description: |
                  In case of blinking LEDs, amount of time in msecs the LED
                  color is active. This value must be a multiple of
                  HOOK_TICK_INTERVAL_MS.
                  e.g.
                  power-state-error {
                     charge-state = "PWR_STATE_ERROR";
                     /* One sec Amber, one sec Off */
                     color-0 {
                       led-color = <&color_amber>;
                       period-ms = <1000>;
                     };
                     color-1 {
                       led-color = <&color_off>;
                       period-ms = <1000>;
                     };
                  };
                type: int
                required: false