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

title: TI LM3630A High-Efficiency Dual-String White LED

maintainers:
  - Lee Jones <lee.jones@linaro.org>
  - Daniel Thompson <daniel.thompson@linaro.org>
  - Jingoo Han <jingoohan1@gmail.com>

description: |
  The LM3630A is a current-mode boost converter which supplies the power and
  controls the current in up to two strings of 10 LEDs per string.
  https://www.ti.com/product/LM3630A

properties:
  compatible:
    const: ti,lm3630a

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  enable-gpios:
    description: GPIO to use to enable/disable the backlight (HWEN pin).
    maxItems: 1

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

patternProperties:
  "^led@[01]$":
    type: object
    description: |
      Properties for a string of connected LEDs.

    properties:
      reg:
        description: |
          The control bank that is used to program the two current sinks. The
          LM3630A has two control banks (A and B) and are represented as 0 or 1
          in this property. The two current sinks can be controlled
          independently with both banks, or bank A can be configured to control
          both sinks with the led-sources property.
        minimum: 0
        maximum: 1

      label:
        maxItems: 1

      led-sources:
        allOf:
          - minItems: 1
            maxItems: 2
            items:
              minimum: 0
              maximum: 1

      default-brightness:
        description: Default brightness level on boot.
        minimum: 0
        maximum: 255

      max-brightness:
        description: Maximum brightness that is allowed during runtime.
        minimum: 0
        maximum: 255

      ti,linear-mapping-mode:
        description: |
          Enable linear mapping mode. If disabled, then it will use exponential
          mapping mode in which the ramp up/down appears to have a more uniform
          transition to the human eye.
        type: boolean

    required:
      - reg

    additionalProperties: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        led-controller@38 {
                compatible = "ti,lm3630a";
                reg = <0x38>;
                enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;

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

                led@0 {
                        reg = <0>;
                        led-sources = <0 1>;
                        label = "lcd-backlight";
                        default-brightness = <200>;
                        max-brightness = <255>;
                };
        };
    };
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        led-controller@38 {
                compatible = "ti,lm3630a";
                reg = <0x38>;

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

                led@0 {
                        reg = <0>;
                        default-brightness = <150>;
                        ti,linear-mapping-mode;
                };

                led@1 {
                        reg = <1>;
                        default-brightness = <225>;
                        ti,linear-mapping-mode;
                };
        };
    };
