# 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

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

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

additionalProperties: false

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_RGB>;
               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>;
               };
            };
        };
    };

...
