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

title: ISSI LED controllers bindings for IS31FL319{0,1,3,6,9}

maintainers:
  - Vincent Knecht <vincent.knecht@mailoo.org>

description: |
  The IS31FL319X are LED controllers with I2C interface.
  Previously known as Si-En SN319{0,1,3,6,9}.

  For more product information please see the links below:
    https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf

properties:
  compatible:
    enum:
      - issi,is31fl3190
      - issi,is31fl3191
      - issi,is31fl3193
      - issi,is31fl3196
      - issi,is31fl3199
      - si-en,sn3190
      - si-en,sn3191
      - si-en,sn3193
      - si-en,sn3196
      - si-en,sn3199

  reg:
    maxItems: 1

  shutdown-gpios:
    maxItems: 1
    description: GPIO attached to the SDB pin.

  audio-gain-db:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0
    description: Audio gain selection for external analog modulation input.
    enum: [0, 3, 6, 9, 12, 15, 18, 21]

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^led@[1-9]$":
    type: object
    $ref: common.yaml#

    properties:
      reg:
        description: Index of the LED.
        minimum: 1
        maximum: 9

      led-max-microamp:
        description:
          Note that a driver will take the lowest of all LED limits
          since the chip has a single global setting. The lowest value
          will be chosen due to the PWM specificity, where lower
          brightness is achieved by reducing the duty-cycle of pulses
          and not the current, which will always have its peak value
          equal to led-max-microamp.

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - issi,is31fl3190
              - issi,is31fl3191
              - issi,is31fl3193
              - si-en,sn3190
              - si-en,sn3191
              - si-en,sn3193
    then:
      properties:
        reg:
          enum: [0x68, 0x69, 0x6a, 0x6b]

        audio-gain-db: false

      patternProperties:
        "^led@[1-9]$":
          properties:
            led-max-microamp:
              default: 42000
              enum: [5000, 10000, 17500, 30000, 42000]
    else:
      properties:
        reg:
          enum: [0x64, 0x65, 0x66, 0x67]

      patternProperties:
        "^led@[1-9]$":
          properties:
            led-max-microamp:
              default: 20000
              enum: [5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000]
  - if:
      properties:
        compatible:
          contains:
            enum:
              - issi,is31fl3190
              - issi,is31fl3191
              - si-en,sn3190
              - si-en,sn3191
    then:
      patternProperties:
        "^led@[1-9]$":
          properties:
            reg:
              maximum: 1
  - if:
      properties:
        compatible:
          contains:
            enum:
              - issi,is31fl3193
              - si-en,sn3193
    then:
      patternProperties:
        "^led@[1-9]$":
          properties:
            reg:
              maximum: 3
  - if:
      properties:
        compatible:
          contains:
            enum:
              - issi,is31fl3196
              - si-en,sn3196
    then:
      patternProperties:
        "^led@[1-9]$":
          properties:
            reg:
              maximum: 6

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

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

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

        led-controller@65 {
            compatible = "issi,is31fl3196";
            reg = <0x65>;
            #address-cells = <1>;
            #size-cells = <0>;

            shutdown-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;

            led@1 {
                reg = <1>;
                label = "red:aux";
                led-max-microamp = <10000>;
            };

            led@5 {
                reg = <5>;
                label = "green:power";
                linux,default-trigger = "default-on";
            };
        };
    };
...

