# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/leds-lp55xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI/National Semiconductor LP55xx and LP8501 LED Drivers

maintainers:
  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
  - Pavel Machek <pavel@ucw.cz>

description: |
  Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel
  LED Drivers.

  For more product information please see the link below:
    https://www.ti.com/lit/gpn/lp5521
    https://www.ti.com/lit/gpn/lp5523
    https://www.ti.com/lit/gpn/lp55231
    https://www.ti.com/lit/gpn/lp5562
    https://www.ti.com/lit/gpn/lp8501

properties:
  compatible:
    enum:
      - national,lp5521
      - national,lp5523
      - ti,lp55231
      - ti,lp5562
      - ti,lp8501

  reg:
    maxItems: 1
    description: I2C slave address

  clock-mode:
    $ref: /schemas/types.yaml#definitions/uint8
    description: |
      Input clock mode
    enum:
      - 0 # automode
      - 1 # internal
      - 2 # external

  enable-gpio:
    maxItems: 1
    description: |
      GPIO attached to the chip's enable pin

  pwr-sel:
    $ref: /schemas/types.yaml#definitions/uint8
    description: |
      LP8501 specific property. Power selection for output channels.
    enum:
      - 0 # D1~9 are connected to VDD
      - 1 # D1~6 with VDD, D7~9 with VOUT
      - 2 # D1~6 with VOUT, D7~9 with VDD
      - 3 # D1~9 are connected to VOUT

patternProperties:
  "(^led@[0-9a-f]$|led)":
    type: object
    $ref: common.yaml#
    properties:
      led-cur:
        $ref: /schemas/types.yaml#definitions/uint8
        description: |
          Current setting at each LED channel (mA x10, 0 if LED is not connected)
        minimum: 0
        maximum: 255

      max-cur:
        $ref: /schemas/types.yaml#definitions/uint8
        description: Maximun current at each LED channel.

      reg:
        description: |
          Output channel for the LED.  This is zero based channel identifier and
          the data sheet is a one based channel identifier.
          reg value to output to LED output number
        enum:
          - 0 # LED output D1
          - 1 # LED output D2
          - 2 # LED output D3
          - 3 # LED output D4
          - 4 # LED output D5
          - 5 # LED output D6
          - 6 # LED output D7
          - 7 # LED output D8
          - 8 # LED output D9

      chan-name:
        $ref: /schemas/types.yaml#definitions/string
        description: name of channel

required:
  - compatible
  - reg

examples:
  - |
   #include <dt-bindings/leds/common.h>

   i2c {
       #address-cells = <1>;
       #size-cells = <0>;

       led-controller@32 {
           #address-cells = <1>;
           #size-cells = <0>;
           compatible = "ti,lp8501";
           reg = <0x32>;
           clock-mode = /bits/ 8 <2>;
           pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */

           led@0 {
               reg = <0>;
               chan-name = "d1";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@1 {
               reg = <1>;
               chan-name = "d2";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@2 {
               reg = <2>;
               chan-name = "d3";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@3 {
               reg = <3>;
               chan-name = "d4";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@4 {
               reg = <4>;
               chan-name = "d5";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@5 {
               reg = <5>;
               chan-name = "d6";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@6 {
               reg = <6>;
               chan-name = "d7";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@7 {
               reg = <7>;
               chan-name = "d8";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };

           led@8 {
               reg = <8>;
               chan-name = "d9";
               led-cur = /bits/ 8 <0x14>;
               max-cur = /bits/ 8 <0x20>;
           };
        };

       led-controller@33 {
           #address-cells = <1>;
           #size-cells = <0>;
           compatible = "national,lp5523";
           reg = <0x33>;
           clock-mode = /bits/ 8 <0>;

           multi-led@2 {
               #address-cells = <1>;
               #size-cells = <0>;
               reg = <0x2>;
               color = <LED_COLOR_ID_MULTI>;
               function = LED_FUNCTION_STANDBY;
               linux,default-trigger = "heartbeat";

               led@0 {
                   led-cur = /bits/ 8 <50>;
                   max-cur = /bits/ 8 <100>;
                   reg = <0x0>;
                   color = <LED_COLOR_ID_GREEN>;
               };

               led@1 {
                   led-cur = /bits/ 8 <50>;
                   max-cur = /bits/ 8 <100>;
                   reg = <0x1>;
                   color = <LED_COLOR_ID_BLUE>;
               };

               led@6 {
                   led-cur = /bits/ 8 <50>;
                   max-cur = /bits/ 8 <100>;
                   reg = <0x6>;
                   color = <LED_COLOR_ID_RED>;
               };
            };
        };
    };

...
