1*dbc801b4SVincent Knecht# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*dbc801b4SVincent Knecht%YAML 1.2
3*dbc801b4SVincent Knecht---
4*dbc801b4SVincent Knecht$id: http://devicetree.org/schemas/leds/issi,is31fl319x.yaml#
5*dbc801b4SVincent Knecht$schema: http://devicetree.org/meta-schemas/core.yaml#
6*dbc801b4SVincent Knecht
7*dbc801b4SVincent Knechttitle: ISSI LED controllers bindings for IS31FL319{0,1,3,6,9}
8*dbc801b4SVincent Knecht
9*dbc801b4SVincent Knechtmaintainers:
10*dbc801b4SVincent Knecht  - Vincent Knecht <vincent.knecht@mailoo.org>
11*dbc801b4SVincent Knecht
12*dbc801b4SVincent Knechtdescription: |
13*dbc801b4SVincent Knecht  The IS31FL319X are LED controllers with I2C interface.
14*dbc801b4SVincent Knecht  Previously known as Si-En SN319{0,1,3,6,9}.
15*dbc801b4SVincent Knecht
16*dbc801b4SVincent Knecht  For more product information please see the links below:
17*dbc801b4SVincent Knecht    https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
18*dbc801b4SVincent Knecht    https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
19*dbc801b4SVincent Knecht    https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
20*dbc801b4SVincent Knecht    https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
21*dbc801b4SVincent Knecht    https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf
22*dbc801b4SVincent Knecht
23*dbc801b4SVincent Knechtproperties:
24*dbc801b4SVincent Knecht  compatible:
25*dbc801b4SVincent Knecht    enum:
26*dbc801b4SVincent Knecht      - issi,is31fl3190
27*dbc801b4SVincent Knecht      - issi,is31fl3191
28*dbc801b4SVincent Knecht      - issi,is31fl3193
29*dbc801b4SVincent Knecht      - issi,is31fl3196
30*dbc801b4SVincent Knecht      - issi,is31fl3199
31*dbc801b4SVincent Knecht      - si-en,sn3199
32*dbc801b4SVincent Knecht
33*dbc801b4SVincent Knecht  reg:
34*dbc801b4SVincent Knecht    maxItems: 1
35*dbc801b4SVincent Knecht
36*dbc801b4SVincent Knecht  shutdown-gpios:
37*dbc801b4SVincent Knecht    maxItems: 1
38*dbc801b4SVincent Knecht    description: GPIO attached to the SDB pin.
39*dbc801b4SVincent Knecht
40*dbc801b4SVincent Knecht  audio-gain-db:
41*dbc801b4SVincent Knecht    $ref: /schemas/types.yaml#/definitions/uint32
42*dbc801b4SVincent Knecht    default: 0
43*dbc801b4SVincent Knecht    description: Audio gain selection for external analog modulation input.
44*dbc801b4SVincent Knecht    enum: [0, 3, 6, 9, 12, 15, 18, 21]
45*dbc801b4SVincent Knecht
46*dbc801b4SVincent Knecht  "#address-cells":
47*dbc801b4SVincent Knecht    const: 1
48*dbc801b4SVincent Knecht
49*dbc801b4SVincent Knecht  "#size-cells":
50*dbc801b4SVincent Knecht    const: 0
51*dbc801b4SVincent Knecht
52*dbc801b4SVincent KnechtpatternProperties:
53*dbc801b4SVincent Knecht  "^led@[1-9]$":
54*dbc801b4SVincent Knecht    type: object
55*dbc801b4SVincent Knecht    $ref: common.yaml#
56*dbc801b4SVincent Knecht
57*dbc801b4SVincent Knecht    properties:
58*dbc801b4SVincent Knecht      reg:
59*dbc801b4SVincent Knecht        description: Index of the LED.
60*dbc801b4SVincent Knecht        minimum: 1
61*dbc801b4SVincent Knecht        maximum: 9
62*dbc801b4SVincent Knecht
63*dbc801b4SVincent Knecht      led-max-microamp:
64*dbc801b4SVincent Knecht        default: 20000
65*dbc801b4SVincent Knecht        enum: [5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000]
66*dbc801b4SVincent Knecht        description:
67*dbc801b4SVincent Knecht          Note that a driver will take the lowest of all LED limits
68*dbc801b4SVincent Knecht          since the chip has a single global setting. The lowest value
69*dbc801b4SVincent Knecht          will be chosen due to the PWM specificity, where lower
70*dbc801b4SVincent Knecht          brightness is achieved by reducing the duty-cycle of pulses
71*dbc801b4SVincent Knecht          and not the current, which will always have its peak value
72*dbc801b4SVincent Knecht          equal to led-max-microamp.
73*dbc801b4SVincent Knecht
74*dbc801b4SVincent Knechtrequired:
75*dbc801b4SVincent Knecht  - compatible
76*dbc801b4SVincent Knecht  - reg
77*dbc801b4SVincent Knecht  - "#address-cells"
78*dbc801b4SVincent Knecht  - "#size-cells"
79*dbc801b4SVincent Knecht
80*dbc801b4SVincent KnechtadditionalProperties: false
81*dbc801b4SVincent Knecht
82*dbc801b4SVincent Knechtexamples:
83*dbc801b4SVincent Knecht  - |
84*dbc801b4SVincent Knecht    #include <dt-bindings/gpio/gpio.h>
85*dbc801b4SVincent Knecht    #include <dt-bindings/leds/common.h>
86*dbc801b4SVincent Knecht
87*dbc801b4SVincent Knecht    i2c0 {
88*dbc801b4SVincent Knecht        #address-cells = <1>;
89*dbc801b4SVincent Knecht        #size-cells = <0>;
90*dbc801b4SVincent Knecht
91*dbc801b4SVincent Knecht        led-controller@65 {
92*dbc801b4SVincent Knecht            compatible = "issi,is31fl3196";
93*dbc801b4SVincent Knecht            reg = <0x65>;
94*dbc801b4SVincent Knecht            #address-cells = <1>;
95*dbc801b4SVincent Knecht            #size-cells = <0>;
96*dbc801b4SVincent Knecht
97*dbc801b4SVincent Knecht            shutdown-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
98*dbc801b4SVincent Knecht
99*dbc801b4SVincent Knecht            led@1 {
100*dbc801b4SVincent Knecht                reg = <1>;
101*dbc801b4SVincent Knecht                label = "red:aux";
102*dbc801b4SVincent Knecht                led-max-microamp = <10000>;
103*dbc801b4SVincent Knecht            };
104*dbc801b4SVincent Knecht
105*dbc801b4SVincent Knecht            led@5 {
106*dbc801b4SVincent Knecht                reg = <5>;
107*dbc801b4SVincent Knecht                label = "green:power";
108*dbc801b4SVincent Knecht                linux,default-trigger = "default-on";
109*dbc801b4SVincent Knecht            };
110*dbc801b4SVincent Knecht        };
111*dbc801b4SVincent Knecht    };
112*dbc801b4SVincent Knecht...
113*dbc801b4SVincent Knecht
114