1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b97ee269SEmmanuel Vadot%YAML 1.2
3b97ee269SEmmanuel Vadot---
4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/leds/issi,is31fl319x.yaml#
5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b97ee269SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: ISSI LED Controllers for IS31FL319{0,1,3,6,9}
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Vincent Knecht <vincent.knecht@mailoo.org>
11b97ee269SEmmanuel Vadot
12b97ee269SEmmanuel Vadotdescription: |
13b97ee269SEmmanuel Vadot  The IS31FL319X are LED controllers with I2C interface.
14b97ee269SEmmanuel Vadot  Previously known as Si-En SN319{0,1,3,6,9}.
15b97ee269SEmmanuel Vadot
16b97ee269SEmmanuel Vadot  For more product information please see the links below:
17b97ee269SEmmanuel Vadot    https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
18b97ee269SEmmanuel Vadot    https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
19b97ee269SEmmanuel Vadot    https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
20b97ee269SEmmanuel Vadot    https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
21b97ee269SEmmanuel Vadot    https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf
22b97ee269SEmmanuel Vadot
23b97ee269SEmmanuel Vadotproperties:
24b97ee269SEmmanuel Vadot  compatible:
25b97ee269SEmmanuel Vadot    enum:
26b97ee269SEmmanuel Vadot      - issi,is31fl3190
27b97ee269SEmmanuel Vadot      - issi,is31fl3191
28b97ee269SEmmanuel Vadot      - issi,is31fl3193
29b97ee269SEmmanuel Vadot      - issi,is31fl3196
30b97ee269SEmmanuel Vadot      - issi,is31fl3199
31b97ee269SEmmanuel Vadot      - si-en,sn3190
32b97ee269SEmmanuel Vadot      - si-en,sn3191
33b97ee269SEmmanuel Vadot      - si-en,sn3193
34b97ee269SEmmanuel Vadot      - si-en,sn3196
35b97ee269SEmmanuel Vadot      - si-en,sn3199
36b97ee269SEmmanuel Vadot
37b97ee269SEmmanuel Vadot  reg:
38b97ee269SEmmanuel Vadot    maxItems: 1
39b97ee269SEmmanuel Vadot
40b97ee269SEmmanuel Vadot  shutdown-gpios:
41b97ee269SEmmanuel Vadot    maxItems: 1
42b97ee269SEmmanuel Vadot    description: GPIO attached to the SDB pin.
43b97ee269SEmmanuel Vadot
44b97ee269SEmmanuel Vadot  audio-gain-db:
45b97ee269SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
46b97ee269SEmmanuel Vadot    default: 0
47b97ee269SEmmanuel Vadot    description: Audio gain selection for external analog modulation input.
48b97ee269SEmmanuel Vadot    enum: [0, 3, 6, 9, 12, 15, 18, 21]
49b97ee269SEmmanuel Vadot
50b97ee269SEmmanuel Vadot  "#address-cells":
51b97ee269SEmmanuel Vadot    const: 1
52b97ee269SEmmanuel Vadot
53b97ee269SEmmanuel Vadot  "#size-cells":
54b97ee269SEmmanuel Vadot    const: 0
55b97ee269SEmmanuel Vadot
56b97ee269SEmmanuel VadotpatternProperties:
57b97ee269SEmmanuel Vadot  "^led@[1-9]$":
58b97ee269SEmmanuel Vadot    type: object
59b97ee269SEmmanuel Vadot    $ref: common.yaml#
608bab661aSEmmanuel Vadot    unevaluatedProperties: false
61b97ee269SEmmanuel Vadot
62b97ee269SEmmanuel Vadot    properties:
63b97ee269SEmmanuel Vadot      reg:
64b97ee269SEmmanuel Vadot        description: Index of the LED.
65b97ee269SEmmanuel Vadot        minimum: 1
66b97ee269SEmmanuel Vadot        maximum: 9
67b97ee269SEmmanuel Vadot
68b97ee269SEmmanuel Vadot      led-max-microamp:
69b97ee269SEmmanuel Vadot        description:
70b97ee269SEmmanuel Vadot          Note that a driver will take the lowest of all LED limits
71b97ee269SEmmanuel Vadot          since the chip has a single global setting. The lowest value
72b97ee269SEmmanuel Vadot          will be chosen due to the PWM specificity, where lower
73b97ee269SEmmanuel Vadot          brightness is achieved by reducing the duty-cycle of pulses
74b97ee269SEmmanuel Vadot          and not the current, which will always have its peak value
75b97ee269SEmmanuel Vadot          equal to led-max-microamp.
76b97ee269SEmmanuel Vadot
77b97ee269SEmmanuel VadotallOf:
78b97ee269SEmmanuel Vadot  - if:
79b97ee269SEmmanuel Vadot      properties:
80b97ee269SEmmanuel Vadot        compatible:
81b97ee269SEmmanuel Vadot          contains:
82b97ee269SEmmanuel Vadot            enum:
83b97ee269SEmmanuel Vadot              - issi,is31fl3190
84b97ee269SEmmanuel Vadot              - issi,is31fl3191
85b97ee269SEmmanuel Vadot              - issi,is31fl3193
86b97ee269SEmmanuel Vadot              - si-en,sn3190
87b97ee269SEmmanuel Vadot              - si-en,sn3191
88b97ee269SEmmanuel Vadot              - si-en,sn3193
89b97ee269SEmmanuel Vadot    then:
90b97ee269SEmmanuel Vadot      properties:
91b97ee269SEmmanuel Vadot        reg:
92b97ee269SEmmanuel Vadot          enum: [0x68, 0x69, 0x6a, 0x6b]
93b97ee269SEmmanuel Vadot
94b97ee269SEmmanuel Vadot        audio-gain-db: false
95b97ee269SEmmanuel Vadot
96b97ee269SEmmanuel Vadot      patternProperties:
97b97ee269SEmmanuel Vadot        "^led@[1-9]$":
98b97ee269SEmmanuel Vadot          properties:
99b97ee269SEmmanuel Vadot            led-max-microamp:
100b97ee269SEmmanuel Vadot              default: 42000
101b97ee269SEmmanuel Vadot              enum: [5000, 10000, 17500, 30000, 42000]
102b97ee269SEmmanuel Vadot    else:
103b97ee269SEmmanuel Vadot      properties:
104b97ee269SEmmanuel Vadot        reg:
105b97ee269SEmmanuel Vadot          enum: [0x64, 0x65, 0x66, 0x67]
106b97ee269SEmmanuel Vadot
107b97ee269SEmmanuel Vadot      patternProperties:
108b97ee269SEmmanuel Vadot        "^led@[1-9]$":
109b97ee269SEmmanuel Vadot          properties:
110b97ee269SEmmanuel Vadot            led-max-microamp:
111b97ee269SEmmanuel Vadot              default: 20000
112b97ee269SEmmanuel Vadot              enum: [5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000]
113b97ee269SEmmanuel Vadot  - if:
114b97ee269SEmmanuel Vadot      properties:
115b97ee269SEmmanuel Vadot        compatible:
116b97ee269SEmmanuel Vadot          contains:
117b97ee269SEmmanuel Vadot            enum:
118b97ee269SEmmanuel Vadot              - issi,is31fl3190
119b97ee269SEmmanuel Vadot              - issi,is31fl3191
120b97ee269SEmmanuel Vadot              - si-en,sn3190
121b97ee269SEmmanuel Vadot              - si-en,sn3191
122b97ee269SEmmanuel Vadot    then:
123b97ee269SEmmanuel Vadot      patternProperties:
124b97ee269SEmmanuel Vadot        "^led@[1-9]$":
125b97ee269SEmmanuel Vadot          properties:
126b97ee269SEmmanuel Vadot            reg:
127b97ee269SEmmanuel Vadot              maximum: 1
128b97ee269SEmmanuel Vadot  - if:
129b97ee269SEmmanuel Vadot      properties:
130b97ee269SEmmanuel Vadot        compatible:
131b97ee269SEmmanuel Vadot          contains:
132b97ee269SEmmanuel Vadot            enum:
133b97ee269SEmmanuel Vadot              - issi,is31fl3193
134b97ee269SEmmanuel Vadot              - si-en,sn3193
135b97ee269SEmmanuel Vadot    then:
136b97ee269SEmmanuel Vadot      patternProperties:
137b97ee269SEmmanuel Vadot        "^led@[1-9]$":
138b97ee269SEmmanuel Vadot          properties:
139b97ee269SEmmanuel Vadot            reg:
140b97ee269SEmmanuel Vadot              maximum: 3
141b97ee269SEmmanuel Vadot  - if:
142b97ee269SEmmanuel Vadot      properties:
143b97ee269SEmmanuel Vadot        compatible:
144b97ee269SEmmanuel Vadot          contains:
145b97ee269SEmmanuel Vadot            enum:
146b97ee269SEmmanuel Vadot              - issi,is31fl3196
147b97ee269SEmmanuel Vadot              - si-en,sn3196
148b97ee269SEmmanuel Vadot    then:
149b97ee269SEmmanuel Vadot      patternProperties:
150b97ee269SEmmanuel Vadot        "^led@[1-9]$":
151b97ee269SEmmanuel Vadot          properties:
152b97ee269SEmmanuel Vadot            reg:
153b97ee269SEmmanuel Vadot              maximum: 6
154b97ee269SEmmanuel Vadot
155b97ee269SEmmanuel Vadotrequired:
156b97ee269SEmmanuel Vadot  - compatible
157b97ee269SEmmanuel Vadot  - reg
158b97ee269SEmmanuel Vadot  - "#address-cells"
159b97ee269SEmmanuel Vadot  - "#size-cells"
160b97ee269SEmmanuel Vadot
161b97ee269SEmmanuel VadotadditionalProperties: false
162b97ee269SEmmanuel Vadot
163b97ee269SEmmanuel Vadotexamples:
164b97ee269SEmmanuel Vadot  - |
165b97ee269SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
166b97ee269SEmmanuel Vadot    #include <dt-bindings/leds/common.h>
167b97ee269SEmmanuel Vadot
168*fac71e4eSEmmanuel Vadot    i2c {
169b97ee269SEmmanuel Vadot        #address-cells = <1>;
170b97ee269SEmmanuel Vadot        #size-cells = <0>;
171b97ee269SEmmanuel Vadot
172b97ee269SEmmanuel Vadot        led-controller@65 {
173b97ee269SEmmanuel Vadot            compatible = "issi,is31fl3196";
174b97ee269SEmmanuel Vadot            reg = <0x65>;
175b97ee269SEmmanuel Vadot            #address-cells = <1>;
176b97ee269SEmmanuel Vadot            #size-cells = <0>;
177b97ee269SEmmanuel Vadot
178b97ee269SEmmanuel Vadot            shutdown-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
179b97ee269SEmmanuel Vadot
180b97ee269SEmmanuel Vadot            led@1 {
181b97ee269SEmmanuel Vadot                reg = <1>;
182b97ee269SEmmanuel Vadot                label = "red:aux";
183b97ee269SEmmanuel Vadot                led-max-microamp = <10000>;
184b97ee269SEmmanuel Vadot            };
185b97ee269SEmmanuel Vadot
186b97ee269SEmmanuel Vadot            led@5 {
187b97ee269SEmmanuel Vadot                reg = <5>;
188b97ee269SEmmanuel Vadot                label = "green:power";
189b97ee269SEmmanuel Vadot                linux,default-trigger = "default-on";
190b97ee269SEmmanuel Vadot            };
191b97ee269SEmmanuel Vadot        };
192b97ee269SEmmanuel Vadot    };
193b97ee269SEmmanuel Vadot...
194b97ee269SEmmanuel Vadot
195