1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/backlight/lm3630a-backlight.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI LM3630A High-Efficiency Dual-String White LED
8
9maintainers:
10  - Lee Jones <lee@kernel.org>
11  - Daniel Thompson <daniel.thompson@linaro.org>
12  - Jingoo Han <jingoohan1@gmail.com>
13
14description: |
15  The LM3630A is a current-mode boost converter which supplies the power and
16  controls the current in up to two strings of 10 LEDs per string.
17  https://www.ti.com/product/LM3630A
18
19properties:
20  compatible:
21    const: ti,lm3630a
22
23  reg:
24    maxItems: 1
25
26  '#address-cells':
27    const: 1
28
29  '#size-cells':
30    const: 0
31
32  enable-gpios:
33    description: GPIO to use to enable/disable the backlight (HWEN pin).
34    maxItems: 1
35
36required:
37  - compatible
38  - reg
39  - '#address-cells'
40  - '#size-cells'
41
42patternProperties:
43  "^led@[01]$":
44    type: object
45    description: |
46      Properties for a string of connected LEDs.
47
48    properties:
49      reg:
50        description: |
51          The control bank that is used to program the two current sinks. The
52          LM3630A has two control banks (A and B) and are represented as 0 or 1
53          in this property. The two current sinks can be controlled
54          independently with both banks, or bank A can be configured to control
55          both sinks with the led-sources property.
56        minimum: 0
57        maximum: 1
58
59      label:
60        maxItems: 1
61
62      led-sources:
63        allOf:
64          - minItems: 1
65            maxItems: 2
66            items:
67              minimum: 0
68              maximum: 1
69
70      default-brightness:
71        description: Default brightness level on boot.
72        minimum: 0
73        maximum: 255
74
75      max-brightness:
76        description: Maximum brightness that is allowed during runtime.
77        minimum: 0
78        maximum: 255
79
80      ti,linear-mapping-mode:
81        description: |
82          Enable linear mapping mode. If disabled, then it will use exponential
83          mapping mode in which the ramp up/down appears to have a more uniform
84          transition to the human eye.
85        type: boolean
86
87    required:
88      - reg
89
90    additionalProperties: false
91
92additionalProperties: false
93
94examples:
95  - |
96    #include <dt-bindings/gpio/gpio.h>
97    i2c {
98        #address-cells = <1>;
99        #size-cells = <0>;
100
101        led-controller@38 {
102                compatible = "ti,lm3630a";
103                reg = <0x38>;
104                enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
105
106                #address-cells = <1>;
107                #size-cells = <0>;
108
109                led@0 {
110                        reg = <0>;
111                        led-sources = <0 1>;
112                        label = "lcd-backlight";
113                        default-brightness = <200>;
114                        max-brightness = <255>;
115                };
116        };
117    };
118  - |
119    i2c {
120        #address-cells = <1>;
121        #size-cells = <0>;
122
123        led-controller@38 {
124                compatible = "ti,lm3630a";
125                reg = <0x38>;
126
127                #address-cells = <1>;
128                #size-cells = <0>;
129
130                led@0 {
131                        reg = <0>;
132                        default-brightness = <150>;
133                        ti,linear-mapping-mode;
134                };
135
136                led@1 {
137                        reg = <1>;
138                        default-brightness = <225>;
139                        ti,linear-mapping-mode;
140                };
141        };
142    };
143