Merge tag 'spi-fix-v5.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
[linux-2.6-microblaze.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 bindings
8
9 maintainers:
10   - Lee Jones <lee.jones@linaro.org>
11   - Daniel Thompson <daniel.thompson@linaro.org>
12   - Jingoo Han <jingoohan1@gmail.com>
13
14 properties:
15   compatible:
16     const: pwm-backlight
17
18   pwms:
19     maxItems: 1
20
21   pwm-names: true
22
23   power-supply:
24     description: regulator for supply voltage
25
26   enable-gpios:
27     description:
28       Contains a single GPIO specifier for the GPIO which enables and disables
29       the backlight.
30     maxItems: 1
31
32   post-pwm-on-delay-ms:
33     description:
34       Delay in ms between setting an initial (non-zero) PWM and enabling the
35       backlight using GPIO.
36
37   pwm-off-delay-ms:
38     description:
39       Delay in ms between disabling the backlight using GPIO and setting PWM
40       value to 0.
41
42   brightness-levels:
43     description:
44       Array of distinct brightness levels. Typically these are in the range
45       from 0 to 255, but any range starting at 0 will do. The actual brightness
46       level (PWM duty cycle) will be interpolated from these values. 0 means a
47       0% duty cycle (darkest/off), while the last value in the array represents
48       a 100% duty cycle (brightest).
49     $ref: /schemas/types.yaml#/definitions/uint32-array
50
51   default-brightness-level:
52     description:
53       The default brightness level (index into the array defined by the
54       "brightness-levels" property).
55     $ref: /schemas/types.yaml#/definitions/uint32
56
57   num-interpolated-steps:
58     description:
59       Number of interpolated steps between each value of brightness-levels
60       table. This way a high resolution pwm duty cycle can be used without
61       having to list out every possible value in the brightness-level array.
62     $ref: /schemas/types.yaml#/definitions/uint32
63
64 dependencies:
65   default-brightness-level: [brightness-levels]
66   num-interpolated-steps: [brightness-levels]
67
68 required:
69   - compatible
70   - pwms
71   - power-supply
72
73 additionalProperties: false
74
75 examples:
76   - |
77     backlight {
78         compatible = "pwm-backlight";
79         pwms = <&pwm 0 5000000>;
80
81         brightness-levels = <0 4 8 16 32 64 128 255>;
82         default-brightness-level = <6>;
83
84         power-supply = <&vdd_bl_reg>;
85         enable-gpios = <&gpio 58 0>;
86         post-pwm-on-delay-ms = <10>;
87         pwm-off-delay-ms = <10>;
88     };
89
90   - |
91     // Example using num-interpolation-steps:
92     backlight {
93         compatible = "pwm-backlight";
94         pwms = <&pwm 0 5000000>;
95
96         brightness-levels = <0 2048 4096 8192 16384 65535>;
97         num-interpolated-steps = <2048>;
98         default-brightness-level = <4096>;
99
100         power-supply = <&vdd_bl_reg>;
101         enable-gpios = <&gpio 58 0>;
102     };
103
104 ...