GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / leds / backlight / pwm-backlight.yaml
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/leds/backlight/pwm-backlight.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: pwm-backlight
8
9 maintainers:
10   - Lee Jones <lee@kernel.org>
11   - Daniel Thompson <daniel.thompson@linaro.org>
12   - Jingoo Han <jingoohan1@gmail.com>
13
14 allOf:
15   - $ref: common.yaml#
16
17 properties:
18   compatible:
19     const: pwm-backlight
20
21   pwms:
22     maxItems: 1
23
24   pwm-names: true
25
26   power-supply:
27     description: regulator for supply voltage
28
29   enable-gpios:
30     description:
31       Contains a single GPIO specifier for the GPIO which enables and disables
32       the backlight.
33     maxItems: 1
34
35   post-pwm-on-delay-ms:
36     description:
37       Delay in ms between setting an initial (non-zero) PWM and enabling the
38       backlight using GPIO.
39
40   pwm-off-delay-ms:
41     description:
42       Delay in ms between disabling the backlight using GPIO and setting PWM
43       value to 0.
44
45   num-interpolated-steps:
46     description:
47       Number of interpolated steps between each value of brightness-levels
48       table. This way a high resolution pwm duty cycle can be used without
49       having to list out every possible value in the brightness-level array.
50     $ref: /schemas/types.yaml#/definitions/uint32
51
52 dependencies:
53   default-brightness-level: [brightness-levels]
54   num-interpolated-steps: [brightness-levels]
55
56 required:
57   - compatible
58   - pwms
59
60 unevaluatedProperties: false
61
62 examples:
63   - |
64     backlight {
65         compatible = "pwm-backlight";
66         pwms = <&pwm 0 5000000>;
67
68         brightness-levels = <0 4 8 16 32 64 128 255>;
69         default-brightness-level = <6>;
70
71         power-supply = <&vdd_bl_reg>;
72         enable-gpios = <&gpio 58 0>;
73         post-pwm-on-delay-ms = <10>;
74         pwm-off-delay-ms = <10>;
75     };
76
77   - |
78     // Example using num-interpolation-steps:
79     backlight {
80         compatible = "pwm-backlight";
81         pwms = <&pwm 0 5000000>;
82
83         brightness-levels = <0 2048 4096 8192 16384 65535>;
84         num-interpolated-steps = <2048>;
85         default-brightness-level = <4096>;
86
87         power-supply = <&vdd_bl_reg>;
88         enable-gpios = <&gpio 58 0>;
89     };
90
91 ...