18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/leds/leds-lp55xx.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: TI/National Semiconductor LP55xx and LP8501 LED Drivers
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
118c2ecf20Sopenharmony_ci  - Pavel Machek <pavel@ucw.cz>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: |
148c2ecf20Sopenharmony_ci  Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel
158c2ecf20Sopenharmony_ci  LED Drivers.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  For more product information please see the link below:
188c2ecf20Sopenharmony_ci    https://www.ti.com/lit/gpn/lp5521
198c2ecf20Sopenharmony_ci    https://www.ti.com/lit/gpn/lp5523
208c2ecf20Sopenharmony_ci    https://www.ti.com/lit/gpn/lp55231
218c2ecf20Sopenharmony_ci    https://www.ti.com/lit/gpn/lp5562
228c2ecf20Sopenharmony_ci    https://www.ti.com/lit/gpn/lp8501
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciproperties:
258c2ecf20Sopenharmony_ci  compatible:
268c2ecf20Sopenharmony_ci    enum:
278c2ecf20Sopenharmony_ci      - national,lp5521
288c2ecf20Sopenharmony_ci      - national,lp5523
298c2ecf20Sopenharmony_ci      - ti,lp55231
308c2ecf20Sopenharmony_ci      - ti,lp5562
318c2ecf20Sopenharmony_ci      - ti,lp8501
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  reg:
348c2ecf20Sopenharmony_ci    maxItems: 1
358c2ecf20Sopenharmony_ci    description: I2C slave address
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  clock-mode:
388c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#definitions/uint8
398c2ecf20Sopenharmony_ci    description: |
408c2ecf20Sopenharmony_ci      Input clock mode
418c2ecf20Sopenharmony_ci    enum:
428c2ecf20Sopenharmony_ci      - 0 # automode
438c2ecf20Sopenharmony_ci      - 1 # internal
448c2ecf20Sopenharmony_ci      - 2 # external
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  enable-gpio:
478c2ecf20Sopenharmony_ci    maxItems: 1
488c2ecf20Sopenharmony_ci    description: |
498c2ecf20Sopenharmony_ci      GPIO attached to the chip's enable pin
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  pwr-sel:
528c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#definitions/uint8
538c2ecf20Sopenharmony_ci    description: |
548c2ecf20Sopenharmony_ci      LP8501 specific property. Power selection for output channels.
558c2ecf20Sopenharmony_ci    enum:
568c2ecf20Sopenharmony_ci      - 0 # D1~9 are connected to VDD
578c2ecf20Sopenharmony_ci      - 1 # D1~6 with VDD, D7~9 with VOUT
588c2ecf20Sopenharmony_ci      - 2 # D1~6 with VOUT, D7~9 with VDD
598c2ecf20Sopenharmony_ci      - 3 # D1~9 are connected to VOUT
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  '#address-cells':
628c2ecf20Sopenharmony_ci    const: 1
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  '#size-cells':
658c2ecf20Sopenharmony_ci    const: 0
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_cipatternProperties:
688c2ecf20Sopenharmony_ci  "(^led@[0-9a-f]$|led)":
698c2ecf20Sopenharmony_ci    type: object
708c2ecf20Sopenharmony_ci    $ref: common.yaml#
718c2ecf20Sopenharmony_ci    properties:
728c2ecf20Sopenharmony_ci      led-cur:
738c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#definitions/uint8
748c2ecf20Sopenharmony_ci        description: |
758c2ecf20Sopenharmony_ci          Current setting at each LED channel (mA x10, 0 if LED is not connected)
768c2ecf20Sopenharmony_ci        minimum: 0
778c2ecf20Sopenharmony_ci        maximum: 255
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci      max-cur:
808c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#definitions/uint8
818c2ecf20Sopenharmony_ci        description: Maximun current at each LED channel.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci      reg:
848c2ecf20Sopenharmony_ci        description: |
858c2ecf20Sopenharmony_ci          Output channel for the LED.  This is zero based channel identifier and
868c2ecf20Sopenharmony_ci          the data sheet is a one based channel identifier.
878c2ecf20Sopenharmony_ci          reg value to output to LED output number
888c2ecf20Sopenharmony_ci        enum:
898c2ecf20Sopenharmony_ci          - 0 # LED output D1
908c2ecf20Sopenharmony_ci          - 1 # LED output D2
918c2ecf20Sopenharmony_ci          - 2 # LED output D3
928c2ecf20Sopenharmony_ci          - 3 # LED output D4
938c2ecf20Sopenharmony_ci          - 4 # LED output D5
948c2ecf20Sopenharmony_ci          - 5 # LED output D6
958c2ecf20Sopenharmony_ci          - 6 # LED output D7
968c2ecf20Sopenharmony_ci          - 7 # LED output D8
978c2ecf20Sopenharmony_ci          - 8 # LED output D9
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci      chan-name:
1008c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#definitions/string
1018c2ecf20Sopenharmony_ci        description: name of channel
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_cirequired:
1048c2ecf20Sopenharmony_ci  - compatible
1058c2ecf20Sopenharmony_ci  - reg
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ciadditionalProperties: false
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciexamples:
1108c2ecf20Sopenharmony_ci  - |
1118c2ecf20Sopenharmony_ci   #include <dt-bindings/leds/common.h>
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci   i2c {
1148c2ecf20Sopenharmony_ci       #address-cells = <1>;
1158c2ecf20Sopenharmony_ci       #size-cells = <0>;
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci       led-controller@32 {
1188c2ecf20Sopenharmony_ci           #address-cells = <1>;
1198c2ecf20Sopenharmony_ci           #size-cells = <0>;
1208c2ecf20Sopenharmony_ci           compatible = "ti,lp8501";
1218c2ecf20Sopenharmony_ci           reg = <0x32>;
1228c2ecf20Sopenharmony_ci           clock-mode = /bits/ 8 <2>;
1238c2ecf20Sopenharmony_ci           pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci           led@0 {
1268c2ecf20Sopenharmony_ci               reg = <0>;
1278c2ecf20Sopenharmony_ci               chan-name = "d1";
1288c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1298c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1308c2ecf20Sopenharmony_ci           };
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci           led@1 {
1338c2ecf20Sopenharmony_ci               reg = <1>;
1348c2ecf20Sopenharmony_ci               chan-name = "d2";
1358c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1368c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1378c2ecf20Sopenharmony_ci           };
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci           led@2 {
1408c2ecf20Sopenharmony_ci               reg = <2>;
1418c2ecf20Sopenharmony_ci               chan-name = "d3";
1428c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1438c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1448c2ecf20Sopenharmony_ci           };
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci           led@3 {
1478c2ecf20Sopenharmony_ci               reg = <3>;
1488c2ecf20Sopenharmony_ci               chan-name = "d4";
1498c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1508c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1518c2ecf20Sopenharmony_ci           };
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci           led@4 {
1548c2ecf20Sopenharmony_ci               reg = <4>;
1558c2ecf20Sopenharmony_ci               chan-name = "d5";
1568c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1578c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1588c2ecf20Sopenharmony_ci           };
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci           led@5 {
1618c2ecf20Sopenharmony_ci               reg = <5>;
1628c2ecf20Sopenharmony_ci               chan-name = "d6";
1638c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1648c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1658c2ecf20Sopenharmony_ci           };
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci           led@6 {
1688c2ecf20Sopenharmony_ci               reg = <6>;
1698c2ecf20Sopenharmony_ci               chan-name = "d7";
1708c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1718c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1728c2ecf20Sopenharmony_ci           };
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci           led@7 {
1758c2ecf20Sopenharmony_ci               reg = <7>;
1768c2ecf20Sopenharmony_ci               chan-name = "d8";
1778c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1788c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1798c2ecf20Sopenharmony_ci           };
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci           led@8 {
1828c2ecf20Sopenharmony_ci               reg = <8>;
1838c2ecf20Sopenharmony_ci               chan-name = "d9";
1848c2ecf20Sopenharmony_ci               led-cur = /bits/ 8 <0x14>;
1858c2ecf20Sopenharmony_ci               max-cur = /bits/ 8 <0x20>;
1868c2ecf20Sopenharmony_ci           };
1878c2ecf20Sopenharmony_ci        };
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci       led-controller@33 {
1908c2ecf20Sopenharmony_ci           #address-cells = <1>;
1918c2ecf20Sopenharmony_ci           #size-cells = <0>;
1928c2ecf20Sopenharmony_ci           compatible = "national,lp5523";
1938c2ecf20Sopenharmony_ci           reg = <0x33>;
1948c2ecf20Sopenharmony_ci           clock-mode = /bits/ 8 <0>;
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ci           multi-led@2 {
1978c2ecf20Sopenharmony_ci               #address-cells = <1>;
1988c2ecf20Sopenharmony_ci               #size-cells = <0>;
1998c2ecf20Sopenharmony_ci               reg = <0x2>;
2008c2ecf20Sopenharmony_ci               color = <LED_COLOR_ID_RGB>;
2018c2ecf20Sopenharmony_ci               function = LED_FUNCTION_STANDBY;
2028c2ecf20Sopenharmony_ci               linux,default-trigger = "heartbeat";
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci               led@0 {
2058c2ecf20Sopenharmony_ci                   led-cur = /bits/ 8 <50>;
2068c2ecf20Sopenharmony_ci                   max-cur = /bits/ 8 <100>;
2078c2ecf20Sopenharmony_ci                   reg = <0x0>;
2088c2ecf20Sopenharmony_ci                   color = <LED_COLOR_ID_GREEN>;
2098c2ecf20Sopenharmony_ci               };
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci               led@1 {
2128c2ecf20Sopenharmony_ci                   led-cur = /bits/ 8 <50>;
2138c2ecf20Sopenharmony_ci                   max-cur = /bits/ 8 <100>;
2148c2ecf20Sopenharmony_ci                   reg = <0x1>;
2158c2ecf20Sopenharmony_ci                   color = <LED_COLOR_ID_BLUE>;
2168c2ecf20Sopenharmony_ci               };
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci               led@6 {
2198c2ecf20Sopenharmony_ci                   led-cur = /bits/ 8 <50>;
2208c2ecf20Sopenharmony_ci                   max-cur = /bits/ 8 <100>;
2218c2ecf20Sopenharmony_ci                   reg = <0x6>;
2228c2ecf20Sopenharmony_ci                   color = <LED_COLOR_ID_RED>;
2238c2ecf20Sopenharmony_ci               };
2248c2ecf20Sopenharmony_ci            };
2258c2ecf20Sopenharmony_ci        };
2268c2ecf20Sopenharmony_ci    };
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ci...
229