hc
2023-10-25 6c2073b7aa40e29d0eca7d571dd7bc590c7ecaa7
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>;
   };