On Thu, Jun 18, 2020 at 04:44:13PM -0600, Rob Herring wrote:
Convert the common GPIO, LED, and PWM backlight bindings to DT schema format.
Given there's only 2 common properties and the descriptions are slightly different, I opted to not create a common backlight schema.
Cc: Lee Jones lee.jones@linaro.org Cc: Daniel Thompson daniel.thompson@linaro.org Cc: Jingoo Han jingoohan1@gmail.com Signed-off-by: Rob Herring robh@kernel.org
...
diff --git a/Documentation/devicetree/bindings/leds/backlight/led-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/led-backlight.yaml new file mode 100644 index 000000000000..ae50945d2798 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/backlight/led-backlight.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/backlight/led-backlight.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: led-backlight bindings
+maintainers:
- Lee Jones lee.jones@linaro.org
- Daniel Thompson daniel.thompson@linaro.org
- Jingoo Han jingoohan1@gmail.com
+description:
- This binding is used to describe a basic backlight device made of LEDs. It
- can also be used to describe a backlight device controlled by the output of
- a LED driver.
+properties:
- compatible:
- const: led-backlight
- leds:
- description: A list of LED nodes
- $ref: /schemas/types.yaml#/definitions/phandle-array
- brightness-levels:
- description: Array of distinct brightness levels. The levels must be
in the range accepted by the underlying LED devices. This is used
to translate a backlight brightness level into a LED brightness level.
If it is not provided, the identity mapping is used.
- $ref: /schemas/types.yaml#/definitions/uint32-array
- default-brightness-level:
- description: The default brightness level (index into the array defined
by the "brightness-levels" property).
- $ref: /schemas/types.yaml#/definitions/uint32
+dependencies:
- default-brightness-level: [brightness-levels]
I don't think there is a dependency here. default-brightness-level still makes sense with there is no mapping table present.
Based on Sam's feedback perhaps adding ("if one is provided") to the parenthetic text.
diff --git a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.yaml new file mode 100644 index 000000000000..7e1f109a38a4 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.yaml @@ -0,0 +1,98 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/backlight/pwm-backlight.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: pwm-backlight bindings
+maintainers:
- Lee Jones lee.jones@linaro.org
- Daniel Thompson daniel.thompson@linaro.org
- Jingoo Han jingoohan1@gmail.com
+properties:
- compatible:
- const: pwm-backlight
- pwms:
- maxItems: 1
- pwm-names: true
- power-supply:
- description: regulator for supply voltage
- enable-gpios:
- description: Contains a single GPIO specifier for the GPIO which enables
and disables the backlight
- maxItems: 1
- post-pwm-on-delay-ms:
- description: Delay in ms between setting an initial (non-zero) PWM and
enabling the backlight using GPIO.
- pwm-off-delay-ms:
- description: Delay in ms between disabling the backlight using GPIO
and setting PWM value to 0.
- brightness-levels:
- description: 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).
- $ref: /schemas/types.yaml#/definitions/uint32-array
- default-brightness-level:
- description: The default brightness level (index into the array defined
by the "brightness-levels" property).
- $ref: /schemas/types.yaml#/definitions/uint32
- num-interpolated-steps:
- description: 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.
- $ref: /schemas/types.yaml#/definitions/uint32
+dependencies:
- default-brightness-level: [brightness-levels]
- num-interpolated-steps: [brightness-levels]
Just for the record, these dependencies are OK. Iit isn't really a good idea to map 1:1 to a PWM since we end up with a gazillion indistinguishable levels so the bindings (and the driver) to not allow such a mode.
Daniel.