On Wed, Aug 12, 2020 at 10:58:49AM +0200, Linus Walleij wrote: > This adds device tree bindings for the Kinetic KTD253 > white LED backlight driver. > > Cc: devicetree@xxxxxxxxxxxxxxx > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > ChangeLog v1->v2: > - Create common.yaml for backlight as suggested by Sam and > use that. > - Rename the GPIO line "enable-gpios" > --- > .../leds/backlight/kinetic,ktd253.yaml | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/backlight/kinetic,ktd253.yaml > > diff --git a/Documentation/devicetree/bindings/leds/backlight/kinetic,ktd253.yaml b/Documentation/devicetree/bindings/leds/backlight/kinetic,ktd253.yaml > new file mode 100644 > index 000000000000..e17f45a2a6bf > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/backlight/kinetic,ktd253.yaml > @@ -0,0 +1,48 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/backlight/kinetic,ktd253.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Kinetic Technologies KTD253 one-wire backlight > + > +maintainers: > + - Linus Walleij <linus.walleij@xxxxxxxxxx> > + > +description: | > + The Kinetic Technologies KTD253 is a white LED backlight that is > + controlled by a single GPIO line. If you just turn on the backlight > + it goes to maximum backlight then you can set the level of backlight > + using pulses on the enable wire. This is sometimes referred to as > + "expresswire". > + > +allOf: > + - $ref: common.yaml# > + > +properties: > + compatible: > + const: kinetic,ktd253 > + > + enable-gpios: > + description: GPIO to use to enable/disable and dim the backlight. > + maxItems: 1 > + > + default-on: true What use is default-on here? I'm guessing not much because there is no code in the driver to consume it! If there is a need to arrange a flicker-free backlight handover then we should only use DT to handle that if the approach taken by other drivers is not feasible (this is best demonstrated by pwm_backlight_initial_power_state() ). In short the approach is if not DT or no phandle link then turn the backlight on (because noone else will) otherwise look at the current state of the hardware and use that to inherit the power state (that is power state, not brightness level). To be honest flicker-free handover looks pretty hard for this driver. It looks like we would have to flicker at some point so that we can know exactly what brightness the hardware currently is. Daniel. > + default-brightness: true > + max-brightness: true > + > +required: > + - compatible > + - enable-gpios > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + backlight { > + compatible = "kinetic,ktd253"; > + enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; > + default-on; > + default-brightness = <160>; 160 is out of range... Daniel.