1*e338a05eSMartin Kurbanov# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*e338a05eSMartin Kurbanov%YAML 1.2
3*e338a05eSMartin Kurbanov---
4*e338a05eSMartin Kurbanov$id: http://devicetree.org/schemas/leds/awinic,aw200xx.yaml#
5*e338a05eSMartin Kurbanov$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e338a05eSMartin Kurbanov
7*e338a05eSMartin Kurbanovtitle: AWINIC AW200XX LED
8*e338a05eSMartin Kurbanov
9*e338a05eSMartin Kurbanovmaintainers:
10*e338a05eSMartin Kurbanov  - Martin Kurbanov <mmkurbanov@sberdevices.ru>
11*e338a05eSMartin Kurbanov
12*e338a05eSMartin Kurbanovdescription: |
13*e338a05eSMartin Kurbanov  This controller is present on AW20036/AW20054/AW20072.
14*e338a05eSMartin Kurbanov  It is a 3x12/6x9/6x12 matrix LED programmed via
15*e338a05eSMartin Kurbanov  an I2C interface, up to 36/54/72 LEDs or 12/18/24 RGBs,
16*e338a05eSMartin Kurbanov  3 pattern controllers for auto breathing or group dimming control.
17*e338a05eSMartin Kurbanov
18*e338a05eSMartin Kurbanov  For more product information please see the link below:
19*e338a05eSMartin Kurbanov  aw20036 - https://www.awinic.com/en/productDetail/AW20036QNR#tech-docs
20*e338a05eSMartin Kurbanov  aw20054 - https://www.awinic.com/en/productDetail/AW20054QNR#tech-docs
21*e338a05eSMartin Kurbanov  aw20072 - https://www.awinic.com/en/productDetail/AW20072QNR#tech-docs
22*e338a05eSMartin Kurbanov
23*e338a05eSMartin Kurbanovproperties:
24*e338a05eSMartin Kurbanov  compatible:
25*e338a05eSMartin Kurbanov    enum:
26*e338a05eSMartin Kurbanov      - awinic,aw20036
27*e338a05eSMartin Kurbanov      - awinic,aw20054
28*e338a05eSMartin Kurbanov      - awinic,aw20072
29*e338a05eSMartin Kurbanov
30*e338a05eSMartin Kurbanov  reg:
31*e338a05eSMartin Kurbanov    maxItems: 1
32*e338a05eSMartin Kurbanov
33*e338a05eSMartin Kurbanov  "#address-cells":
34*e338a05eSMartin Kurbanov    const: 1
35*e338a05eSMartin Kurbanov
36*e338a05eSMartin Kurbanov  "#size-cells":
37*e338a05eSMartin Kurbanov    const: 0
38*e338a05eSMartin Kurbanov
39*e338a05eSMartin Kurbanov  awinic,display-rows:
40*e338a05eSMartin Kurbanov    $ref: /schemas/types.yaml#/definitions/uint32
41*e338a05eSMartin Kurbanov    description:
42*e338a05eSMartin Kurbanov      Leds matrix size
43*e338a05eSMartin Kurbanov
44*e338a05eSMartin KurbanovpatternProperties:
45*e338a05eSMartin Kurbanov  "^led@[0-9a-f]$":
46*e338a05eSMartin Kurbanov    type: object
47*e338a05eSMartin Kurbanov    $ref: common.yaml#
48*e338a05eSMartin Kurbanov    unevaluatedProperties: false
49*e338a05eSMartin Kurbanov
50*e338a05eSMartin Kurbanov    properties:
51*e338a05eSMartin Kurbanov      reg:
52*e338a05eSMartin Kurbanov        description:
53*e338a05eSMartin Kurbanov          LED number
54*e338a05eSMartin Kurbanov        maxItems: 1
55*e338a05eSMartin Kurbanov
56*e338a05eSMartin Kurbanov      led-max-microamp:
57*e338a05eSMartin Kurbanov        default: 9780
58*e338a05eSMartin Kurbanov        description: |
59*e338a05eSMartin Kurbanov          Note that a driver will take the minimum of all LED limits
60*e338a05eSMartin Kurbanov          since the chip has a single global setting.
61*e338a05eSMartin Kurbanov          The maximum output current of each LED is calculated by the
62*e338a05eSMartin Kurbanov          following formula:
63*e338a05eSMartin Kurbanov            IMAXled = 160000 * (592 / 600.5) * (1 / display-rows)
64*e338a05eSMartin Kurbanov          And the minimum output current formula:
65*e338a05eSMartin Kurbanov            IMINled = 3300 * (592 / 600.5) * (1 / display-rows)
66*e338a05eSMartin Kurbanov
67*e338a05eSMartin Kurbanovrequired:
68*e338a05eSMartin Kurbanov  - compatible
69*e338a05eSMartin Kurbanov  - reg
70*e338a05eSMartin Kurbanov  - "#address-cells"
71*e338a05eSMartin Kurbanov  - "#size-cells"
72*e338a05eSMartin Kurbanov  - awinic,display-rows
73*e338a05eSMartin Kurbanov
74*e338a05eSMartin KurbanovallOf:
75*e338a05eSMartin Kurbanov  - if:
76*e338a05eSMartin Kurbanov      properties:
77*e338a05eSMartin Kurbanov        compatible:
78*e338a05eSMartin Kurbanov          contains:
79*e338a05eSMartin Kurbanov            const: awinic,aw20036
80*e338a05eSMartin Kurbanov    then:
81*e338a05eSMartin Kurbanov      properties:
82*e338a05eSMartin Kurbanov        awinic,display-rows:
83*e338a05eSMartin Kurbanov          enum: [1, 2, 3]
84*e338a05eSMartin Kurbanov    else:
85*e338a05eSMartin Kurbanov      properties:
86*e338a05eSMartin Kurbanov        awinic,display-rows:
87*e338a05eSMartin Kurbanov          enum: [1, 2, 3, 4, 5, 6, 7]
88*e338a05eSMartin Kurbanov
89*e338a05eSMartin KurbanovadditionalProperties: false
90*e338a05eSMartin Kurbanov
91*e338a05eSMartin Kurbanovexamples:
92*e338a05eSMartin Kurbanov  - |
93*e338a05eSMartin Kurbanov    #include <dt-bindings/leds/common.h>
94*e338a05eSMartin Kurbanov
95*e338a05eSMartin Kurbanov    i2c {
96*e338a05eSMartin Kurbanov        #address-cells = <1>;
97*e338a05eSMartin Kurbanov        #size-cells = <0>;
98*e338a05eSMartin Kurbanov
99*e338a05eSMartin Kurbanov        led-controller@3a {
100*e338a05eSMartin Kurbanov            compatible = "awinic,aw20036";
101*e338a05eSMartin Kurbanov            reg = <0x3a>;
102*e338a05eSMartin Kurbanov            #address-cells = <1>;
103*e338a05eSMartin Kurbanov            #size-cells = <0>;
104*e338a05eSMartin Kurbanov            awinic,display-rows = <3>;
105*e338a05eSMartin Kurbanov
106*e338a05eSMartin Kurbanov            led@0 {
107*e338a05eSMartin Kurbanov                reg = <0x0>;
108*e338a05eSMartin Kurbanov                color = <LED_COLOR_ID_RED>;
109*e338a05eSMartin Kurbanov                led-max-microamp = <9780>;
110*e338a05eSMartin Kurbanov            };
111*e338a05eSMartin Kurbanov
112*e338a05eSMartin Kurbanov            led@1 {
113*e338a05eSMartin Kurbanov                reg = <0x1>;
114*e338a05eSMartin Kurbanov                color = <LED_COLOR_ID_GREEN>;
115*e338a05eSMartin Kurbanov                led-max-microamp = <9780>;
116*e338a05eSMartin Kurbanov            };
117*e338a05eSMartin Kurbanov
118*e338a05eSMartin Kurbanov            led@2 {
119*e338a05eSMartin Kurbanov                reg = <0x2>;
120*e338a05eSMartin Kurbanov                color = <LED_COLOR_ID_BLUE>;
121*e338a05eSMartin Kurbanov                led-max-microamp = <9780>;
122*e338a05eSMartin Kurbanov            };
123*e338a05eSMartin Kurbanov        };
124*e338a05eSMartin Kurbanov    };
125*e338a05eSMartin Kurbanov
126*e338a05eSMartin Kurbanov...
127