summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
blob: 64fa2fbd98c9e6a48fc9031423acffbe96e766a1 (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
pwm-backlight bindings

Required properties:
  - compatible: "pwm-backlight"
  - pwms: OF device-tree PWM specification (see PWM binding[0])
  - power-supply: regulator for supply voltage

Optional properties:
  - pwm-names: a list of names for the PWM devices specified in the
               "pwms" property (see PWM binding[0])
  - enable-gpios: contains a single GPIO specifier for the GPIO which enables
                  and disables the backlight (see GPIO binding[1])
  - post-pwm-on-delay-ms: Delay in ms between setting an initial (non-zero) PWM
                          and enabling the backlight using GPIO.
  - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
                      and setting PWM value to 0.
  - brightness-levels: Array of distinct brightness levels. Typically these
                       are in the range from 0 to 255, but any range starting at
                       0 will do. The actual brightness level (PWM duty cycle)
                       will be interpolated from these values. 0 means a 0% duty
                       cycle (darkest/off), while the last value in the array
                       represents a 100% duty cycle (brightest).
  - default-brightness-level: The default brightness level (index into the
                              array defined by the "brightness-levels" property).
  - num-interpolated-steps: Number of interpolated steps between each value
                            of brightness-levels table. This way a high
                            resolution pwm duty cycle can be used without
                            having to list out every possible value in the
                            brightness-level array.

[0]: Documentation/devicetree/bindings/pwm/pwm.txt
[1]: Documentation/devicetree/bindings/gpio/gpio.txt

Example:

	backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm 0 5000000>;

		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;

		power-supply = <&vdd_bl_reg>;
		enable-gpios = <&gpio 58 0>;
		post-pwm-on-delay-ms = <10>;
		pwm-off-delay-ms = <10>;
	};

Example using num-interpolation-steps:

	backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm 0 5000000>;

		brightness-levels = <0 2048 4096 8192 16384 65535>;
		num-interpolated-steps = <2048>;
		default-brightness-level = <4096>;

		power-supply = <&vdd_bl_reg>;
		enable-gpios = <&gpio 58 0>;
	};