xref: /freebsd/sys/contrib/device-tree/Bindings/leds/backlight/pwm-backlight.txt (revision af23369a6deaaeb612ab266eb88b8bb8d560c322)
1pwm-backlight bindings
2
3Required properties:
4  - compatible: "pwm-backlight"
5  - pwms: OF device-tree PWM specification (see PWM binding[0])
6  - power-supply: regulator for supply voltage
7
8Optional properties:
9  - pwm-names: a list of names for the PWM devices specified in the
10               "pwms" property (see PWM binding[0])
11  - enable-gpios: contains a single GPIO specifier for the GPIO which enables
12                  and disables the backlight (see GPIO binding[1])
13  - post-pwm-on-delay-ms: Delay in ms between setting an initial (non-zero) PWM
14                          and enabling the backlight using GPIO.
15  - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
16                      and setting PWM value to 0.
17  - brightness-levels: Array of distinct brightness levels. Typically these
18                       are in the range from 0 to 255, but any range starting at
19                       0 will do. The actual brightness level (PWM duty cycle)
20                       will be interpolated from these values. 0 means a 0% duty
21                       cycle (darkest/off), while the last value in the array
22                       represents a 100% duty cycle (brightest).
23  - default-brightness-level: The default brightness level (index into the
24                              array defined by the "brightness-levels" property).
25  - num-interpolated-steps: Number of interpolated steps between each value
26                            of brightness-levels table. This way a high
27                            resolution pwm duty cycle can be used without
28                            having to list out every possible value in the
29                            brightness-level array.
30
31[0]: Documentation/devicetree/bindings/pwm/pwm.txt
32[1]: Documentation/devicetree/bindings/gpio/gpio.txt
33
34Example:
35
36	backlight {
37		compatible = "pwm-backlight";
38		pwms = <&pwm 0 5000000>;
39
40		brightness-levels = <0 4 8 16 32 64 128 255>;
41		default-brightness-level = <6>;
42
43		power-supply = <&vdd_bl_reg>;
44		enable-gpios = <&gpio 58 0>;
45		post-pwm-on-delay-ms = <10>;
46		pwm-off-delay-ms = <10>;
47	};
48
49Example using num-interpolation-steps:
50
51	backlight {
52		compatible = "pwm-backlight";
53		pwms = <&pwm 0 5000000>;
54
55		brightness-levels = <0 2048 4096 8192 16384 65535>;
56		num-interpolated-steps = <2048>;
57		default-brightness-level = <4096>;
58
59		power-supply = <&vdd_bl_reg>;
60		enable-gpios = <&gpio 58 0>;
61	};
62