Message ID | 20240820183544.496419-1-Frank.Li@nxp.com |
---|---|
State | New |
Headers | show |
Series | [v2,1/1] dt-bindings: leds: convert leds-lm3692x to yaml format | expand |
On Tue, Aug 20, 2024 at 02:35:43PM -0400, Frank Li wrote: > Convert binding doc leds-lm3592x to yaml format. > Additional change > - Add ref to common.yaml for child node > - Add i2c node at example > > Fix below warning: > arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dtb: /soc@0/bus@30800000/i2c@30a40000/backlight@36: > failed to match any schema with compatible: ['ti,lm36922'] > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > diff --git a/Documentation/devicetree/bindings/leds/ti.lm36922.yaml b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml > new file mode 100644 > index 0000000000000..ac98547b78bd2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml > @@ -0,0 +1,100 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/ti.lm36922.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Texas Instruments - LM3692x Highly Efficient White LED Driver > + > +maintainers: > + - Dan Murphy <dmurphy@ti.com> > + > +description: | > + The LM3692x is an ultra-compact, highly efficient, > + white-LED driver designed for LCD display backlighting. > + > + The main difference between the LM36922 and LM36923 is the number of > + LED strings it supports. The LM36922 supports two strings while the LM36923 > + supports three strings. > + > + For more product information please see the link below: > + https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf > + > +properties: > + compatible: > + enum: > + - ti,lm36922 > + - ti,lm36923 > + > + reg: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + enable-gpios: > + description: gpio pin to enable/disable the device. I think the description could be replaced with just marking the property as "true", both here and for the supply. The descriptions are statements of the obvious. > + > + vled-supply: > + description: LED supply > + > + ti,ovp-microvolt: > + description: Overvoltage protection. > + default: 29000000 > + enum: [17000000, 21000000, 25000000, 29000000] > + > +patternProperties: > + '^led@[0-9a-f]+$': There's no need for such a permissive pattern here, since reg is limited to the range 0-3. Additionally, I would add an allOf: - if: properties: compatible: contains: const: ti,lm36922 then: properties: led@3: false or similar to restrict the third entry instead of doing so in prose. Thanks, Conor. > + type: object > + $ref: common.yaml > + properties: > + reg: > + enum: [0, 1, 2, 3] > + description: | > + 0 - Will enable all LED sync paths > + 1 - Will enable the LED1 sync > + 2 - Will enable the LED2 sync > + 3 - Will enable the LED3 sync (LM36923 only) > + > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - "#address-cells" > + - "#size-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/leds/common.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + led-controller@36 { > + compatible = "ti,lm36922"; > + reg = <0x36>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; > + vled-supply = <&vbatt>; > + ti,ovp-microvolt = <29000000>; > + > + led@0 { > + reg = <0>; > + function = LED_FUNCTION_BACKLIGHT; > + color = <LED_COLOR_ID_WHITE>; > + linux,default-trigger = "backlight"; > + led-max-microamp = <20000>; > + }; > + }; > + }; > + > -- > 2.34.1 >
On Wed, Aug 21, 2024 at 04:15:34PM +0100, Conor Dooley wrote: > On Tue, Aug 20, 2024 at 02:35:43PM -0400, Frank Li wrote: > > Convert binding doc leds-lm3592x to yaml format. > > Additional change > > - Add ref to common.yaml for child node > > - Add i2c node at example > > > > Fix below warning: > > arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dtb: /soc@0/bus@30800000/i2c@30a40000/backlight@36: > > failed to match any schema with compatible: ['ti,lm36922'] > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > diff --git a/Documentation/devicetree/bindings/leds/ti.lm36922.yaml b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml > > new file mode 100644 > > index 0000000000000..ac98547b78bd2 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml > > @@ -0,0 +1,100 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/leds/ti.lm36922.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Texas Instruments - LM3692x Highly Efficient White LED Driver > > + > > +maintainers: > > + - Dan Murphy <dmurphy@ti.com> > > + > > +description: | > > + The LM3692x is an ultra-compact, highly efficient, > > + white-LED driver designed for LCD display backlighting. > > + > > + The main difference between the LM36922 and LM36923 is the number of > > + LED strings it supports. The LM36922 supports two strings while the LM36923 > > + supports three strings. > > + > > + For more product information please see the link below: > > + https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf > > + > > +properties: > > + compatible: > > + enum: > > + - ti,lm36922 > > + - ti,lm36923 > > + > > + reg: > > + maxItems: 1 > > + > > + "#address-cells": > > + const: 1 > > + > > + "#size-cells": > > + const: 0 > > + > > + enable-gpios: > > + description: gpio pin to enable/disable the device. > > I think the description could be replaced with just marking the property > as "true", both here and for the supply. The descriptions are statements > of the obvious. > > > + > > + vled-supply: > > + description: LED supply > > + > > + ti,ovp-microvolt: > > + description: Overvoltage protection. > > + default: 29000000 > > + enum: [17000000, 21000000, 25000000, 29000000] > > + > > +patternProperties: > > + '^led@[0-9a-f]+$': > > There's no need for such a permissive pattern here, since reg is limited I am confused about it. I think it at least need led@X pattern. Do you means '^led@[0-3]+$' Frank > to the range 0-3. Additionally, I would add an > allOf: > - if: > properties: > compatible: > contains: > const: ti,lm36922 > then: > properties: > led@3: false > > or similar to restrict the third entry instead of doing so in prose. > > Thanks, > Conor. > > > + type: object > > + $ref: common.yaml > > + properties: > > + reg: > > + enum: [0, 1, 2, 3] > > + description: | > > + 0 - Will enable all LED sync paths > > + 1 - Will enable the LED1 sync > > + 2 - Will enable the LED2 sync > > + 3 - Will enable the LED3 sync (LM36923 only) > > + > > + unevaluatedProperties: false > > + > > +required: > > + - compatible > > + - reg > > + - "#address-cells" > > + - "#size-cells" > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/gpio/gpio.h> > > + #include <dt-bindings/leds/common.h> > > + > > + i2c { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + led-controller@36 { > > + compatible = "ti,lm36922"; > > + reg = <0x36>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; > > + vled-supply = <&vbatt>; > > + ti,ovp-microvolt = <29000000>; > > + > > + led@0 { > > + reg = <0>; > > + function = LED_FUNCTION_BACKLIGHT; > > + color = <LED_COLOR_ID_WHITE>; > > + linux,default-trigger = "backlight"; > > + led-max-microamp = <20000>; > > + }; > > + }; > > + }; > > + > > -- > > 2.34.1 > >
On Wed, Aug 21, 2024 at 12:37:18PM -0400, Frank Li wrote: > On Wed, Aug 21, 2024 at 04:15:34PM +0100, Conor Dooley wrote: > > On Tue, Aug 20, 2024 at 02:35:43PM -0400, Frank Li wrote: > > > Convert binding doc leds-lm3592x to yaml format. > > > Additional change > > > - Add ref to common.yaml for child node > > > - Add i2c node at example > > > > > > Fix below warning: > > > arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dtb: /soc@0/bus@30800000/i2c@30a40000/backlight@36: > > > failed to match any schema with compatible: ['ti,lm36922'] > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > > diff --git a/Documentation/devicetree/bindings/leds/ti.lm36922.yaml b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml > > > new file mode 100644 > > > index 0000000000000..ac98547b78bd2 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml > > > @@ -0,0 +1,100 @@ > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/leds/ti.lm36922.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Texas Instruments - LM3692x Highly Efficient White LED Driver > > > + > > > +maintainers: > > > + - Dan Murphy <dmurphy@ti.com> > > > + > > > +description: | > > > + The LM3692x is an ultra-compact, highly efficient, > > > + white-LED driver designed for LCD display backlighting. > > > + > > > + The main difference between the LM36922 and LM36923 is the number of > > > + LED strings it supports. The LM36922 supports two strings while the LM36923 > > > + supports three strings. > > > + > > > + For more product information please see the link below: > > > + https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf > > > + > > > +properties: > > > + compatible: > > > + enum: > > > + - ti,lm36922 > > > + - ti,lm36923 > > > + > > > + reg: > > > + maxItems: 1 > > > + > > > + "#address-cells": > > > + const: 1 > > > + > > > + "#size-cells": > > > + const: 0 > > > + > > > + enable-gpios: > > > + description: gpio pin to enable/disable the device. > > > > I think the description could be replaced with just marking the property > > as "true", both here and for the supply. The descriptions are statements > > of the obvious. > > > > > + > > > + vled-supply: > > > + description: LED supply > > > + > > > + ti,ovp-microvolt: > > > + description: Overvoltage protection. > > > + default: 29000000 > > > + enum: [17000000, 21000000, 25000000, 29000000] > > > + > > > +patternProperties: > > > + '^led@[0-9a-f]+$': > > > > There's no need for such a permissive pattern here, since reg is limited > > I am confused about it. I think it at least need led@X pattern. Do > you means > '^led@[0-3]+$' Yeah, that is what I meant - not that the pattern should be removed. The + I don't think you should have though, only a single digit is possible. > > Frank > > > to the range 0-3. Additionally, I would add an > > allOf: > > - if: > > properties: > > compatible: > > contains: > > const: ti,lm36922 > > then: > > properties: > > led@3: false > > > > or similar to restrict the third entry instead of doing so in prose. > > > > Thanks, > > Conor. > > > > > + type: object > > > + $ref: common.yaml > > > + properties: > > > + reg: > > > + enum: [0, 1, 2, 3] > > > + description: | > > > + 0 - Will enable all LED sync paths > > > + 1 - Will enable the LED1 sync > > > + 2 - Will enable the LED2 sync > > > + 3 - Will enable the LED3 sync (LM36923 only) > > > + > > > + unevaluatedProperties: false > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - "#address-cells" > > > + - "#size-cells" > > > + > > > +additionalProperties: false > > > + > > > +examples: > > > + - | > > > + #include <dt-bindings/gpio/gpio.h> > > > + #include <dt-bindings/leds/common.h> > > > + > > > + i2c { > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + led-controller@36 { > > > + compatible = "ti,lm36922"; > > > + reg = <0x36>; > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; > > > + vled-supply = <&vbatt>; > > > + ti,ovp-microvolt = <29000000>; > > > + > > > + led@0 { > > > + reg = <0>; > > > + function = LED_FUNCTION_BACKLIGHT; > > > + color = <LED_COLOR_ID_WHITE>; > > > + linux,default-trigger = "backlight"; > > > + led-max-microamp = <20000>; > > > + }; > > > + }; > > > + }; > > > + > > > -- > > > 2.34.1 > > > > >
diff --git a/Documentation/devicetree/bindings/leds/leds-lm3692x.txt b/Documentation/devicetree/bindings/leds/leds-lm3692x.txt deleted file mode 100644 index b1103d961d6ca..0000000000000 --- a/Documentation/devicetree/bindings/leds/leds-lm3692x.txt +++ /dev/null @@ -1,65 +0,0 @@ -* Texas Instruments - LM3692x Highly Efficient White LED Driver - -The LM3692x is an ultra-compact, highly efficient, -white-LED driver designed for LCD display backlighting. - -The main difference between the LM36922 and LM36923 is the number of -LED strings it supports. The LM36922 supports two strings while the LM36923 -supports three strings. - -Required properties: - - compatible: - "ti,lm36922" - "ti,lm36923" - - reg : I2C slave address - - #address-cells : 1 - - #size-cells : 0 - -Optional properties: - - enable-gpios : gpio pin to enable/disable the device. - - vled-supply : LED supply - - ti,ovp-microvolt: Overvoltage protection in - micro-volt, can be 17000000, 21000000, 25000000 or - 29000000. If ti,ovp-microvolt is not specified it - defaults to 29000000. - -Required child properties: - - reg : 0 - Will enable all LED sync paths - 1 - Will enable the LED1 sync - 2 - Will enable the LED2 sync - 3 - Will enable the LED3 sync (LM36923 only) - -Optional child properties: - - function : see Documentation/devicetree/bindings/leds/common.txt - - color : see Documentation/devicetree/bindings/leds/common.txt - - label : see Documentation/devicetree/bindings/leds/common.txt (deprecated) - - linux,default-trigger : - see Documentation/devicetree/bindings/leds/common.txt - - led-max-microamp : - see Documentation/devicetree/bindings/leds/common.txt - -Example: - -#include <dt-bindings/leds/common.h> - -led-controller@36 { - compatible = "ti,lm3692x"; - reg = <0x36>; - #address-cells = <1>; - #size-cells = <0>; - - enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; - vled-supply = <&vbatt>; - ti,ovp-microvolt = <29000000>; - - led@0 { - reg = <0>; - function = LED_FUNCTION_BACKLIGHT; - color = <LED_COLOR_ID_WHITE>; - linux,default-trigger = "backlight"; - led-max-microamp = <20000>; - }; -} - -For more product information please see the link below: -https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf diff --git a/Documentation/devicetree/bindings/leds/ti.lm36922.yaml b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml new file mode 100644 index 0000000000000..ac98547b78bd2 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/ti.lm36922.yaml @@ -0,0 +1,100 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/ti.lm36922.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments - LM3692x Highly Efficient White LED Driver + +maintainers: + - Dan Murphy <dmurphy@ti.com> + +description: | + The LM3692x is an ultra-compact, highly efficient, + white-LED driver designed for LCD display backlighting. + + The main difference between the LM36922 and LM36923 is the number of + LED strings it supports. The LM36922 supports two strings while the LM36923 + supports three strings. + + For more product information please see the link below: + https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf + +properties: + compatible: + enum: + - ti,lm36922 + - ti,lm36923 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + enable-gpios: + description: gpio pin to enable/disable the device. + + vled-supply: + description: LED supply + + ti,ovp-microvolt: + description: Overvoltage protection. + default: 29000000 + enum: [17000000, 21000000, 25000000, 29000000] + +patternProperties: + '^led@[0-9a-f]+$': + type: object + $ref: common.yaml + properties: + reg: + enum: [0, 1, 2, 3] + description: | + 0 - Will enable all LED sync paths + 1 - Will enable the LED1 sync + 2 - Will enable the LED2 sync + 3 - Will enable the LED3 sync (LM36923 only) + + unevaluatedProperties: false + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + led-controller@36 { + compatible = "ti,lm36922"; + reg = <0x36>; + #address-cells = <1>; + #size-cells = <0>; + + enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; + vled-supply = <&vbatt>; + ti,ovp-microvolt = <29000000>; + + led@0 { + reg = <0>; + function = LED_FUNCTION_BACKLIGHT; + color = <LED_COLOR_ID_WHITE>; + linux,default-trigger = "backlight"; + led-max-microamp = <20000>; + }; + }; + }; +
Convert binding doc leds-lm3592x to yaml format. Additional change - Add ref to common.yaml for child node - Add i2c node at example Fix below warning: arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dtb: /soc@0/bus@30800000/i2c@30a40000/backlight@36: failed to match any schema with compatible: ['ti,lm36922'] Signed-off-by: Frank Li <Frank.Li@nxp.com> --- Change from v1 to v2 - fix dtschema/dtc warnings/errors: Documentation/devicetree/bindings/leds/ti.lm36922.example.dtb: /example-0/i2c/led-controller@36: failed to match any schema with compatible: ['ti,lm3692x'] --- .../devicetree/bindings/leds/leds-lm3692x.txt | 65 ------------ .../devicetree/bindings/leds/ti.lm36922.yaml | 100 ++++++++++++++++++ 2 files changed, 100 insertions(+), 65 deletions(-) delete mode 100644 Documentation/devicetree/bindings/leds/leds-lm3692x.txt create mode 100644 Documentation/devicetree/bindings/leds/ti.lm36922.yaml