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