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 7title: pwm-backlight 8 9maintainers: 10 - Lee Jones <lee@kernel.org> 11 - Daniel Thompson <daniel.thompson@linaro.org> 12 - Jingoo Han <jingoohan1@gmail.com> 13 14properties: 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 64dependencies: 65 default-brightness-level: [brightness-levels] 66 num-interpolated-steps: [brightness-levels] 67 68required: 69 - compatible 70 - pwms 71 - power-supply 72 73additionalProperties: false 74 75examples: 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... 105