WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / leds / backlight / pwm-backlight.yaml
blobfcb8429f3088cd6d7baf130d8ca4fb408e8ccb05
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#
7 title: pwm-backlight bindings
9 maintainers:
10   - Lee Jones <lee.jones@linaro.org>
11   - Daniel Thompson <daniel.thompson@linaro.org>
12   - Jingoo Han <jingoohan1@gmail.com>
14 properties:
15   compatible:
16     const: pwm-backlight
18   pwms:
19     maxItems: 1
21   pwm-names: true
23   power-supply:
24     description: regulator for supply voltage
26   enable-gpios:
27     description:
28       Contains a single GPIO specifier for the GPIO which enables and disables
29       the backlight.
30     maxItems: 1
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.
37   pwm-off-delay-ms:
38     description:
39       Delay in ms between disabling the backlight using GPIO and setting PWM
40       value to 0.
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
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
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
64 dependencies:
65   default-brightness-level: [brightness-levels]
66   num-interpolated-steps: [brightness-levels]
68 required:
69   - compatible
70   - pwms
71   - power-supply
73 additionalProperties: false
75 examples:
76   - |
77     backlight {
78         compatible = "pwm-backlight";
79         pwms = <&pwm 0 5000000>;
81         brightness-levels = <0 4 8 16 32 64 128 255>;
82         default-brightness-level = <6>;
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     };
90   - |
91     // Example using num-interpolation-steps:
92     backlight {
93         compatible = "pwm-backlight";
94         pwms = <&pwm 0 5000000>;
96         brightness-levels = <0 2048 4096 8192 16384 65535>;
97         num-interpolated-steps = <2048>;
98         default-brightness-level = <4096>;
100         power-supply = <&vdd_bl_reg>;
101         enable-gpios = <&gpio 58 0>;
102     };