On Tue, Jun 30, 2020 at 02:01:11PM -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@xxxxxxxxxx> > Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> > Cc: Jingoo Han <jingoohan1@xxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > --- > v2: > - Reformat descriptions > - drop default-brightness-level dependency on brightness-levels for > led-backlight > --- > .../leds/backlight/gpio-backlight.txt | 16 --- > .../leds/backlight/gpio-backlight.yaml | 41 +++++++ > .../bindings/leds/backlight/led-backlight.txt | 28 ----- > .../leds/backlight/led-backlight.yaml | 57 ++++++++++ > .../bindings/leds/backlight/pwm-backlight.txt | 61 ---------- > .../leds/backlight/pwm-backlight.yaml | 104 ++++++++++++++++++ > 6 files changed, 202 insertions(+), 105 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/leds/backlight/gpio-backlight.txt > create mode 100644 Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml > delete mode 100644 Documentation/devicetree/bindings/leds/backlight/led-backlight.txt > create mode 100644 Documentation/devicetree/bindings/leds/backlight/led-backlight.yaml > delete mode 100644 Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > create mode 100644 Documentation/devicetree/bindings/leds/backlight/pwm-backlight.yaml > > diff --git a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.txt > deleted file mode 100644 > index 321be6640533..000000000000 > --- a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.txt > +++ /dev/null > @@ -1,16 +0,0 @@ > -gpio-backlight bindings > - > -Required properties: > - - compatible: "gpio-backlight" > - - gpios: describes the gpio that is used for enabling/disabling the backlight. > - refer to bindings/gpio/gpio.txt for more details. > - > -Optional properties: > - - default-on: enable the backlight at boot. > - > -Example: > - backlight { > - compatible = "gpio-backlight"; > - gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>; > - default-on; > - }; > diff --git a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml > new file mode 100644 > index 000000000000..75cc569b9c55 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml > @@ -0,0 +1,41 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/backlight/gpio-backlight.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: gpio-backlight bindings > + > +maintainers: > + - Lee Jones <lee.jones@xxxxxxxxxx> > + - Daniel Thompson <daniel.thompson@xxxxxxxxxx> > + - Jingoo Han <jingoohan1@xxxxxxxxx> > + > +properties: > + compatible: > + const: gpio-backlight > + > + gpios: > + description: The gpio that is used for enabling/disabling the backlight. > + maxItems: 1 > + > + default-on: > + description: enable the backlight at boot. > + type: boolean > + > +required: > + - compatible > + - gpios > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + backlight { > + compatible = "gpio-backlight"; > + gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>; > + default-on; > + }; > + > +... > diff --git a/Documentation/devicetree/bindings/leds/backlight/led-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/led-backlight.txt > deleted file mode 100644 > index 4c7dfbe7f67a..000000000000 > --- a/Documentation/devicetree/bindings/leds/backlight/led-backlight.txt > +++ /dev/null > @@ -1,28 +0,0 @@ > -led-backlight bindings > - > -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. > - > -Required properties: > - - compatible: "led-backlight" > - - leds: a list of LEDs > - > -Optional properties: > - - brightness-levels: 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. > - > - - default-brightness-level: The default brightness level. > - > -Example: > - > - backlight { > - compatible = "led-backlight"; > - > - leds = <&led1>, <&led2>; > - brightness-levels = <0 4 8 16 32 64 128 255>; > - default-brightness-level = <6>; > - }; > 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..625082bf3892 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/backlight/led-backlight.yaml > @@ -0,0 +1,57 @@ > +# 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@xxxxxxxxxx> > + - Daniel Thompson <daniel.thompson@xxxxxxxxxx> > + - Jingoo Han <jingoohan1@xxxxxxxxx> > + > +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 > + > +required: > + - compatible > + - leds > + > +additionalProperties: false > + > +examples: > + - | > + backlight { > + compatible = "led-backlight"; > + > + leds = <&led1>, <&led2>; > + brightness-levels = <0 4 8 16 32 64 128 255>; > + default-brightness-level = <6>; > + }; > + > +... > diff --git a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > deleted file mode 100644 > index 64fa2fbd98c9..000000000000 > --- a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > +++ /dev/null > @@ -1,61 +0,0 @@ > -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>; > - }; > 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..fcb8429f3088 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.yaml > @@ -0,0 +1,104 @@ > +# 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@xxxxxxxxxx> > + - Daniel Thompson <daniel.thompson@xxxxxxxxxx> > + - Jingoo Han <jingoohan1@xxxxxxxxx> > + > +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] > + > +required: > + - compatible > + - pwms > + - power-supply > + > +additionalProperties: false > + > +examples: > + - | > + 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>; > + }; > + > +... > -- > 2.25.1