Message ID | 20240330145931.729116-2-paroga@paroga.com |
---|---|
State | Superseded |
Headers | show |
Series | backlight: Add new lm3509 backlight driver | expand |
On Sat, Mar 30, 2024 at 03:59:24PM +0100, Patrick Gansterer wrote: > Add Device Tree bindings for Texas Instruments LM3509 - a > High Efficiency Boost for White LED's and/or OLED Displays > > Signed-off-by: Patrick Gansterer <paroga@paroga.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> > --- > .../bindings/leds/backlight/ti,lm3509.yaml | 139 ++++++++++++++++++ > 1 file changed, 139 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml > > diff --git a/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml b/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml > new file mode 100644 > index 000000000000..b67f67648852 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml > @@ -0,0 +1,139 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/backlight/ti,lm3509.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI LM3509 High Efficiency Boost for White LED's and/or OLED Displays > + > +maintainers: > + - Patrick Gansterer <paroga@paroga.com> > + > +description: > + The LM3509 current mode boost converter offers two separate outputs. > + https://www.ti.com/product/LM3509 > + > +properties: > + compatible: > + const: ti,lm3509 > + > + reg: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + reset-gpios: > + maxItems: 1 > + > + ti,brightness-rate-of-change-us: > + description: Brightness Rate of Change in microseconds. > + enum: [51, 13000, 26000, 52000] > + > + ti,oled-mode: > + description: Enable OLED mode. > + type: boolean > + > +patternProperties: > + "^led@[01]$": > + type: object > + description: Properties for a string of connected LEDs. > + > + allOf: You don't need allOf here. > + - $ref: common.yaml# > + > + properties: > + reg: > + description: > + The control register that is used to program the two current sinks. > + The LM3509 has two registers (BMAIN and BSUB) and are represented > + as 0 or 1 in this property. The two current sinks can be controlled > + independently with both registers, or register BMAIN can be > + configured to control both sinks with the led-sources property. > + minimum: 0 > + maximum: 1 > + > + label: true > + > + led-sources: > + allOf: Or here. > + - minItems: 1 > + maxItems: 2 > + items: > + minimum: 0 > + maximum: 1
diff --git a/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml b/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml new file mode 100644 index 000000000000..b67f67648852 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/backlight/ti,lm3509.yaml @@ -0,0 +1,139 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/backlight/ti,lm3509.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI LM3509 High Efficiency Boost for White LED's and/or OLED Displays + +maintainers: + - Patrick Gansterer <paroga@paroga.com> + +description: + The LM3509 current mode boost converter offers two separate outputs. + https://www.ti.com/product/LM3509 + +properties: + compatible: + const: ti,lm3509 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + reset-gpios: + maxItems: 1 + + ti,brightness-rate-of-change-us: + description: Brightness Rate of Change in microseconds. + enum: [51, 13000, 26000, 52000] + + ti,oled-mode: + description: Enable OLED mode. + type: boolean + +patternProperties: + "^led@[01]$": + type: object + description: Properties for a string of connected LEDs. + + allOf: + - $ref: common.yaml# + + properties: + reg: + description: + The control register that is used to program the two current sinks. + The LM3509 has two registers (BMAIN and BSUB) and are represented + as 0 or 1 in this property. The two current sinks can be controlled + independently with both registers, or register BMAIN can be + configured to control both sinks with the led-sources property. + minimum: 0 + maximum: 1 + + label: true + + led-sources: + allOf: + - minItems: 1 + maxItems: 2 + items: + minimum: 0 + maximum: 1 + + default-brightness: + minimum: 0 + maximum: 31 + default: 18 + + max-brightness: + minimum: 0 + maximum: 31 + default: 31 + + required: + - reg + + additionalProperties: false + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + backlight@36 { + compatible = "ti,lm3509"; + reg = <0x36>; + reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + + ti,oled-mode; + ti,brightness-rate-of-change-us = <52000>; + + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + led-sources = <0 1>; + label = "lcd-backlight"; + default-brightness = <12>; + max-brightness = <31>; + }; + }; + }; + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + backlight@36 { + compatible = "ti,lm3509"; + reg = <0x36>; + + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + default-brightness = <12>; + }; + + led@1 { + reg = <1>; + default-brightness = <15>; + }; + }; + };