summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml
blob: 482fae71dd531ab22edb471b85c54f3a9453b516 (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
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/backlight/ti,lm3509.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI LM3509 High Efficiency Boost for White LED's and/or OLED Displays

maintainers:
  - Patrick Gansterer <paroga@paroga.com>

description:
  The LM3509 current mode boost converter offers two separate outputs.
  https://www.ti.com/product/LM3509

properties:
  compatible:
    const: ti,lm3509

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  reset-gpios:
    maxItems: 1

  ti,brightness-rate-of-change-us:
    description: Brightness Rate of Change in microseconds.
    enum: [51, 13000, 26000, 52000]

  ti,oled-mode:
    description: Enable OLED mode.
    type: boolean

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

    properties:
      reg:
        description:
          The control register that is used to program the two current sinks.
          The LM3509 has two registers (BMAIN and BSUB) and are represented
          as 0 or 1 in this property. The two current sinks can be controlled
          independently with both registers, or register BMAIN can be
          configured to control both sinks with the led-sources property.
        minimum: 0
        maximum: 1

      label: true

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

      default-brightness:
        minimum: 0
        maximum: 31
        default: 18

      max-brightness:
        minimum: 0
        maximum: 31
        default: 31

    required:
      - reg

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

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

        backlight@36 {
            compatible = "ti,lm3509";
            reg = <0x36>;
            reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;

            ti,oled-mode;
            ti,brightness-rate-of-change-us = <52000>;

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

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

        backlight@36 {
            compatible = "ti,lm3509";
            reg = <0x36>;

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

            led@0 {
                reg = <0>;
                default-brightness = <12>;
            };

            led@1 {
                reg = <1>;
                default-brightness = <15>;
            };
        };
    };