summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/leds/backlight/lm3630a-backlight.yaml
blob: 3c9b4054ed9a57d85571e24f44dddf1a5f41564b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# 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@kernel.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;
                };
        };
    };