[v2,1/2] dt-bindings: leds: Convert PCA9532 to dtschema
Commit Message
Convert the PCA9532 LED dimmer to dtschema.
While at it, also update and the the example to match
recommended node names and the link to the product datasheet.
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
---
v2:
- Rename yaml file to match compatibles, nxp,pca953x.yaml
- Remove Jacek Anaszewski from maintainers list
- Remove color labels in example
- Restore labels/default-states from original example
- Drop reg description
- Add unevaluatedProperties to patternProperties scope
- Update description of type property & set default to 0
- Fix indentation in example
---
.../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
.../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
2 files changed, 85 insertions(+), 49 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
Comments
On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
> Convert the PCA9532 LED dimmer to dtschema.
> While at it, also update and the the example to match
> recommended node names and the link to the product datasheet.
>
> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
> ---
> v2:
> - Rename yaml file to match compatibles, nxp,pca953x.yaml
> - Remove Jacek Anaszewski from maintainers list
> - Remove color labels in example
> - Restore labels/default-states from original example
> - Drop reg description
> - Add unevaluatedProperties to patternProperties scope
> - Update description of type property & set default to 0
> - Fix indentation in example
> ---
> .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
> .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
> 2 files changed, 85 insertions(+), 49 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
> create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
>
Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.
Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.
Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
arch/arm/boot/dts/rk3288-phycore-rdk.dtb
leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
arch/arm/boot/dts/am335x-pdu001.dtb
pca9532@60: '#gpio-cells', 'gpio-controller' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
arch/arm/boot/dts/lpc3250-ea3250.dtb
pca9532@60: 'psc0', 'psc1', 'pwm0', 'pwm1', 'run.green@1', 'run.red@0', 's1.green@5', 's1.yellow@4', 's2.green@3', 's2.red@2' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
arch/arm/boot/dts/am335x-pdu001.dtb
On Wed, Jan 11, 2023 at 12:47 PM Rob Herring <robh@kernel.org> wrote:
>
>
> On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
> > Convert the PCA9532 LED dimmer to dtschema.
> > While at it, also update and the the example to match
> > recommended node names and the link to the product datasheet.
> >
> > Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
> > ---
> > v2:
> > - Rename yaml file to match compatibles, nxp,pca953x.yaml
> > - Remove Jacek Anaszewski from maintainers list
> > - Remove color labels in example
> > - Restore labels/default-states from original example
> > - Drop reg description
> > - Add unevaluatedProperties to patternProperties scope
> > - Update description of type property & set default to 0
> > - Fix indentation in example
> > ---
> > .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
> > .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
> > 2 files changed, 85 insertions(+), 49 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
> > create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
> >
>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
>
>
> leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> arch/arm/boot/dts/rk3288-phycore-rdk.dtb
>
> leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
>
> pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> arch/arm/boot/dts/am335x-pdu001.dtb
>
> pca9532@60: '#gpio-cells', 'gpio-controller' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> arch/arm/boot/dts/lpc3250-ea3250.dtb
Looks like GPIO properties need to be added as we have dts file and
the driver supports GPIO. It's fine to add in the conversion, just
mention it in the commit msg.
Also, your 2 patches in the series are unrelated and go to different
maintainers, so send them separately next time.
Rob
Am 11.01.23 um 19:51 schrieb Rob Herring:
> On Wed, Jan 11, 2023 at 12:47 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
>>> Convert the PCA9532 LED dimmer to dtschema.
>>> While at it, also update and the the example to match
>>> recommended node names and the link to the product datasheet.
>>>
>>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
>>> ---
>>> v2:
>>> - Rename yaml file to match compatibles, nxp,pca953x.yaml
>>> - Remove Jacek Anaszewski from maintainers list
>>> - Remove color labels in example
>>> - Restore labels/default-states from original example
>>> - Drop reg description
>>> - Add unevaluatedProperties to patternProperties scope
>>> - Update description of type property & set default to 0
>>> - Fix indentation in example
>>> ---
>>> .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
>>> .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
>>> 2 files changed, 85 insertions(+), 49 deletions(-)
>>> delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
>>> create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
>>>
>> Running 'make dtbs_check' with the schema in this patch gives the
>> following warnings. Consider if they are expected or the schema is
>> incorrect. These may not be new warnings.
>>
>> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
>> This will change in the future.
>>
>> Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
>>
>>
>> leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>> arch/arm/boot/dts/rk3288-phycore-rdk.dtb
>>
>> leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>> arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
>>
>> pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>> arch/arm/boot/dts/am335x-pdu001.dtb
How do I comply with the LED label warnings?
I am not sure about the proper convention. I was assuming led-<name> is correct.
The first two warnings can be fixed by dropping the '-' in the regex.
But I don't see how the last warning should comply with a proper LED node name.
Or can this be ignored?
>>
>> pca9532@60: '#gpio-cells', 'gpio-controller' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
>> arch/arm/boot/dts/lpc3250-ea3250.dtb
> Looks like GPIO properties need to be added as we have dts file and
> the driver supports GPIO. It's fine to add in the conversion, just
> mention it in the commit msg.
OK, thanks for pointing it out. I will add it in v3.
>
> Also, your 2 patches in the series are unrelated and go to different
> maintainers, so send them separately next time.
ok.
Regards,
Wadim
>
> Rob
On Fri, Jan 13, 2023 at 04:18:26PM +0000, Wadim Egorov wrote:
> Am 11.01.23 um 19:51 schrieb Rob Herring:
> > On Wed, Jan 11, 2023 at 12:47 PM Rob Herring <robh@kernel.org> wrote:
> >>
> >> On Wed, 11 Jan 2023 17:34:03 +0100, Wadim Egorov wrote:
> >>> Convert the PCA9532 LED dimmer to dtschema.
> >>> While at it, also update and the the example to match
> >>> recommended node names and the link to the product datasheet.
> >>>
> >>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
> >>> ---
> >>> v2:
> >>> - Rename yaml file to match compatibles, nxp,pca953x.yaml
> >>> - Remove Jacek Anaszewski from maintainers list
> >>> - Remove color labels in example
> >>> - Restore labels/default-states from original example
> >>> - Drop reg description
> >>> - Add unevaluatedProperties to patternProperties scope
> >>> - Update description of type property & set default to 0
> >>> - Fix indentation in example
> >>> ---
> >>> .../devicetree/bindings/leds/leds-pca9532.txt | 49 -----------
> >>> .../devicetree/bindings/leds/nxp,pca953x.yaml | 85 +++++++++++++++++++
> >>> 2 files changed, 85 insertions(+), 49 deletions(-)
> >>> delete mode 100644 Documentation/devicetree/bindings/leds/leds-pca9532.txt
> >>> create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca953x.yaml
> >>>
> >> Running 'make dtbs_check' with the schema in this patch gives the
> >> following warnings. Consider if they are expected or the schema is
> >> incorrect. These may not be new warnings.
> >>
> >> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> >> This will change in the future.
> >>
> >> Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230111163404.3526248-1-w.egorov@phytec.de
> >>
> >>
> >> leddimmer@62: 'led1', 'led2', 'led3', 'led4' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> >> arch/arm/boot/dts/rk3288-phycore-rdk.dtb
> >>
> >> leds@62: 'led1', 'led2', 'led3' do not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> >> arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb
> >>
> >> pca9530@61: 'tft-panel@0' does not match any of the regexes: '^led-[0-9a-z]+$', 'pinctrl-[0-9]+'
> >> arch/arm/boot/dts/am335x-pdu001.dtb
>
> How do I comply with the LED label warnings?
> I am not sure about the proper convention. I was assuming led-<name> is correct.
> The first two warnings can be fixed by dropping the '-' in the regex.
> But I don't see how the last warning should comply with a proper LED node name.
> Or can this be ignored?
Those dts files should be fixed, not the schema. You don't have to do
that.
Rob
deleted file mode 100644
@@ -1,49 +0,0 @@
-*NXP - pca9532 PWM LED Driver
-
-The PCA9532 family is SMBus I/O expander optimized for dimming LEDs.
-The PWM support 256 steps.
-
-Required properties:
- - compatible:
- "nxp,pca9530"
- "nxp,pca9531"
- "nxp,pca9532"
- "nxp,pca9533"
- - reg - I2C slave address
-
-Each led is represented as a sub-node of the nxp,pca9530.
-
-Optional sub-node properties:
- - label: see Documentation/devicetree/bindings/leds/common.txt
- - type: Output configuration, see dt-bindings/leds/leds-pca9532.h (default NONE)
- - linux,default-trigger: see Documentation/devicetree/bindings/leds/common.txt
- - default-state: see Documentation/devicetree/bindings/leds/common.txt
- This property is only valid for sub-nodes of type <PCA9532_TYPE_LED>.
-
-Example:
- #include <dt-bindings/leds/leds-pca9532.h>
-
- leds: pca9530@60 {
- compatible = "nxp,pca9530";
- reg = <0x60>;
-
- red-power {
- label = "pca:red:power";
- type = <PCA9532_TYPE_LED>;
- };
- green-power {
- label = "pca:green:power";
- type = <PCA9532_TYPE_LED>;
- };
- kernel-booting {
- type = <PCA9532_TYPE_LED>;
- default-state = "on";
- };
- sys-stat {
- type = <PCA9532_TYPE_LED>;
- default-state = "keep"; // don't touch, was set by U-Boot
- };
- };
-
-For more product information please see the link below:
-http://nxp.com/documents/data_sheet/PCA9532.pdf
new file mode 100644
@@ -0,0 +1,85 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/nxp,pca953x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP PCA9532 LED Dimmer
+
+maintainers:
+ - Riku Voipio <riku.voipio@iki.fi>
+
+description: |
+ The PCA9532 family is SMBus I/O expander optimized for dimming LEDs.
+ The PWM support 256 steps.
+
+ For more product information please see the link below:
+ https://www.nxp.com/docs/en/data-sheet/PCA9532.pdf
+
+properties:
+ compatible:
+ enum:
+ - nxp,pca9530
+ - nxp,pca9531
+ - nxp,pca9532
+ - nxp,pca9533
+
+ reg:
+ maxItems: 1
+
+patternProperties:
+ "^led-[0-9a-z]+$":
+ type: object
+ $ref: common.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ type:
+ description: |
+ Output configuration, see include/dt-bindings/leds/leds-pca9532.h
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 0
+ minimum: 0
+ maximum: 4
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/leds/leds-pca9532.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led-controller@62 {
+ compatible = "nxp,pca9533";
+ reg = <0x62>;
+
+ led-1 {
+ label = "pca:red:power";
+ type = <PCA9532_TYPE_LED>;
+ };
+
+ led-2 {
+ label = "pca:green:power";
+ type = <PCA9532_TYPE_LED>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_LED>;
+ default-state = "on";
+ };
+
+ led-4 {
+ type = <PCA9532_TYPE_LED>;
+ default-state = "keep";
+ };
+ };
+ };
+
+...