2021-10-18 03:46:39

by David Heidelberg

[permalink] [raw]
Subject: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml

Convert bindings for NXP PN544 NFC driver to YAML syntax.

Signed-off-by: David Heidelberg <[email protected]>
---
v2
- Krzysztof is a maintainer
- pintctrl dropped
- 4 space indent for example
- nfc node name
v3
- remove whole pinctrl
v4
- drop clock-frequency, which is inherited by i2c bus

.../bindings/net/nfc/nxp,pn544.yaml | 56 +++++++++++++++++++
.../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
2 files changed, 56 insertions(+), 33 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
delete mode 100644 Documentation/devicetree/bindings/net/nfc/pn544.txt

diff --git a/Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml b/Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
new file mode 100644
index 000000000000..4592d1194a71
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/nfc/nxp,pn544.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP Semiconductors PN544 NFC Controller
+
+maintainers:
+ - Krzysztof Kozlowski <[email protected]>
+
+properties:
+ compatible:
+ const: nxp,pn544-i2c
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ enable-gpios:
+ description: Output GPIO pin used for enabling/disabling the PN544
+
+ firmware-gpios:
+ description: Output GPIO pin used to enter firmware download mode
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - enable-gpios
+ - firmware-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ nfc@28 {
+ compatible = "nxp,pn544-i2c";
+ reg = <0x28>;
+
+ interrupt-parent = <&gpio1>;
+ interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
+
+ enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+ firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/net/nfc/pn544.txt b/Documentation/devicetree/bindings/net/nfc/pn544.txt
deleted file mode 100644
index 2bd82562ce8e..000000000000
--- a/Documentation/devicetree/bindings/net/nfc/pn544.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-* NXP Semiconductors PN544 NFC Controller
-
-Required properties:
-- compatible: Should be "nxp,pn544-i2c".
-- clock-frequency: I²C work frequency.
-- reg: address on the bus
-- interrupts: GPIO interrupt to which the chip is connected
-- enable-gpios: Output GPIO pin used for enabling/disabling the PN544
-- firmware-gpios: Output GPIO pin used to enter firmware download mode
-
-Optional SoC Specific Properties:
-- pinctrl-names: Contains only one value - "default".
-- pintctrl-0: Specifies the pin control groups used for this controller.
-
-Example (for ARM-based BeagleBone with PN544 on I2C2):
-
-&i2c2 {
-
-
- pn544: pn544@28 {
-
- compatible = "nxp,pn544-i2c";
-
- reg = <0x28>;
- clock-frequency = <400000>;
-
- interrupt-parent = <&gpio1>;
- interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
-
- enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
- firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
- };
-};
--
2.33.0


2021-10-18 12:16:51

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml

On Sun, 17 Oct 2021 18:02:10 +0200, David Heidelberg wrote:
> Convert bindings for NXP PN544 NFC driver to YAML syntax.
>
> Signed-off-by: David Heidelberg <[email protected]>
> ---
> v2
> - Krzysztof is a maintainer
> - pintctrl dropped
> - 4 space indent for example
> - nfc node name
> v3
> - remove whole pinctrl
> v4
> - drop clock-frequency, which is inherited by i2c bus
>
> .../bindings/net/nfc/nxp,pn544.yaml | 56 +++++++++++++++++++
> .../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
> 2 files changed, 56 insertions(+), 33 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
> delete mode 100644 Documentation/devicetree/bindings/net/nfc/pn544.txt
>

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/patch/1542257


nfc@28: 'clock-frequency' does not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dt.yaml
arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dt.yaml

nfc@2a: 'clock-frequency' does not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dt.yaml

2021-10-18 13:07:01

by David Heidelberg

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml




On Mon, Oct 18 2021 at 07:13:53 -0500, Rob Herring <[email protected]>
wrote:
> On Sun, 17 Oct 2021 18:02:10 +0200, David Heidelberg wrote:
>> Convert bindings for NXP PN544 NFC driver to YAML syntax.
>>
>> Signed-off-by: David Heidelberg <[email protected]>
>> ---
>> v2
>> - Krzysztof is a maintainer
>> - pintctrl dropped
>> - 4 space indent for example
>> - nfc node name
>> v3
>> - remove whole pinctrl
>> v4
>> - drop clock-frequency, which is inherited by i2c bus
>>
>> .../bindings/net/nfc/nxp,pn544.yaml | 56
>> +++++++++++++++++++
>> .../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
>> 2 files changed, 56 insertions(+), 33 deletions(-)
>> create mode 100644
>> Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
>> delete mode 100644
>> Documentation/devicetree/bindings/net/nfc/pn544.txt
>>
Full log is available here: https://patchwork.ozlabs.org/patch/1542257
>
> 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.
>
>
>
> nfc@28: 'clock-frequency' does not match any of the regexes:
> 'pinctrl-[0-9]+'
> arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dt.yaml
> arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dt.yaml
>
> nfc@2a: 'clock-frequency' does not match any of the regexes:
> 'pinctrl-[0-9]+'
> arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dt.yaml
>

Patches for this are already in grate repository and will be sent to
mainline soon! :)

>


2021-10-18 18:37:41

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml

On Mon, Oct 18, 2021 at 03:04:03PM +0200, David Heidelberg wrote:
>
>
>
> On Mon, Oct 18 2021 at 07:13:53 -0500, Rob Herring <[email protected]> wrote:
> > On Sun, 17 Oct 2021 18:02:10 +0200, David Heidelberg wrote:
> > > Convert bindings for NXP PN544 NFC driver to YAML syntax.
> > >
> > > Signed-off-by: David Heidelberg <[email protected]>
> > > ---
> > > v2
> > > - Krzysztof is a maintainer
> > > - pintctrl dropped
> > > - 4 space indent for example
> > > - nfc node name
> > > v3
> > > - remove whole pinctrl
> > > v4
> > > - drop clock-frequency, which is inherited by i2c bus
> > >
> > > .../bindings/net/nfc/nxp,pn544.yaml | 56
> > > +++++++++++++++++++
> > > .../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
> > > 2 files changed, 56 insertions(+), 33 deletions(-)
> > > create mode 100644
> > > Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
> > > delete mode 100644
> > > Documentation/devicetree/bindings/net/nfc/pn544.txt
> > >
> Full log is available here: https://patchwork.ozlabs.org/patch/1542257
> >
> > 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.
> >
> >
> >
> > nfc@28: 'clock-frequency' does not match any of the regexes:
> > 'pinctrl-[0-9]+'
> > arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dt.yaml
> > arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dt.yaml
> >
> > nfc@2a: 'clock-frequency' does not match any of the regexes:
> > 'pinctrl-[0-9]+'
> > arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dt.yaml
> >
>
> Patches for this are already in grate repository and will be sent to
> mainline soon! :)

Okay. I was under the impression 'clock-frequency' was removed thinking
it is in the i2c bus schema already. It is, but unfortunately you need
it here too if used because all properties for a node have to be listed
in the schema for the node. 'unevaluatedProperties' can't evaluate
properties in the child nodes of the parent schema with the properties
of the child schema.

Rob

2021-10-23 22:13:28

by David Heidelberg

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml

Well, but the nxp,pn544 won't using `clock-frequency`. So do I have to
keep the property there anyway?

David


On Mon, Oct 18 2021 at 13:34:47 -0500, Rob Herring <[email protected]>
wrote:
> On Mon, Oct 18, 2021 at 03:04:03PM +0200, David Heidelberg wrote:
>>
>>
>>
>> On Mon, Oct 18 2021 at 07:13:53 -0500, Rob Herring
>> <[email protected]> wrote:
>> > On Sun, 17 Oct 2021 18:02:10 +0200, David Heidelberg wrote:
>> > > Convert bindings for NXP PN544 NFC driver to YAML syntax.
>> > >
>> > > Signed-off-by: David Heidelberg <[email protected]>
>> > > ---
>> > > v2
>> > > - Krzysztof is a maintainer
>> > > - pintctrl dropped
>> > > - 4 space indent for example
>> > > - nfc node name
>> > > v3
>> > > - remove whole pinctrl
>> > > v4
>> > > - drop clock-frequency, which is inherited by i2c bus
>> > >
>> > > .../bindings/net/nfc/nxp,pn544.yaml | 56
>> > > +++++++++++++++++++
>> > > .../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
>> > > 2 files changed, 56 insertions(+), 33 deletions(-)
>> > > create mode 100644
>> > > Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
>> > > delete mode 100644
>> > > Documentation/devicetree/bindings/net/nfc/pn544.txt
>> > >
>> Full log is available here:
>> https://patchwork.ozlabs.org/patch/1542257
>> >
>> > 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.
>> >
>> >
>> >
>> > nfc@28: 'clock-frequency' does not match any of the regexes:
>> > 'pinctrl-[0-9]+'
>> > arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dt.yaml
>> > arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dt.yaml
>> >
>> > nfc@2a: 'clock-frequency' does not match any of the regexes:
>> > 'pinctrl-[0-9]+'
>> > arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dt.yaml
>> >
>>
>> Patches for this are already in grate repository and will be sent to
>> mainline soon! :)
>
> Okay. I was under the impression 'clock-frequency' was removed
> thinking
> it is in the i2c bus schema already. It is, but unfortunately you need
> it here too if used because all properties for a node have to be
> listed
> in the schema for the node. 'unevaluatedProperties' can't evaluate
> properties in the child nodes of the parent schema with the properties
> of the child schema.
>
> Rob


2021-10-27 12:45:03

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml

On Sun, Oct 17, 2021 at 06:02:10PM +0200, David Heidelberg wrote:
> Convert bindings for NXP PN544 NFC driver to YAML syntax.
>
> Signed-off-by: David Heidelberg <[email protected]>
> ---
> v2
> - Krzysztof is a maintainer
> - pintctrl dropped
> - 4 space indent for example
> - nfc node name
> v3
> - remove whole pinctrl
> v4
> - drop clock-frequency, which is inherited by i2c bus
>
> .../bindings/net/nfc/nxp,pn544.yaml | 56 +++++++++++++++++++
> .../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
> 2 files changed, 56 insertions(+), 33 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
> delete mode 100644 Documentation/devicetree/bindings/net/nfc/pn544.txt
>
> diff --git a/Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml b/Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
> new file mode 100644
> index 000000000000..4592d1194a71
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/nfc/nxp,pn544.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP Semiconductors PN544 NFC Controller
> +
> +maintainers:
> + - Krzysztof Kozlowski <[email protected]>
> +
> +properties:
> + compatible:
> + const: nxp,pn544-i2c
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + enable-gpios:
> + description: Output GPIO pin used for enabling/disabling the PN544
> +
> + firmware-gpios:
> + description: Output GPIO pin used to enter firmware download mode

*-gpios needs to say how many (maxItems: 1). I'll fix when applying.

> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - enable-gpios
> + - firmware-gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + nfc@28 {
> + compatible = "nxp,pn544-i2c";
> + reg = <0x28>;
> +
> + interrupt-parent = <&gpio1>;
> + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
> +
> + enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
> + firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/net/nfc/pn544.txt b/Documentation/devicetree/bindings/net/nfc/pn544.txt
> deleted file mode 100644
> index 2bd82562ce8e..000000000000
> --- a/Documentation/devicetree/bindings/net/nfc/pn544.txt
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -* NXP Semiconductors PN544 NFC Controller
> -
> -Required properties:
> -- compatible: Should be "nxp,pn544-i2c".
> -- clock-frequency: I?C work frequency.
> -- reg: address on the bus
> -- interrupts: GPIO interrupt to which the chip is connected
> -- enable-gpios: Output GPIO pin used for enabling/disabling the PN544
> -- firmware-gpios: Output GPIO pin used to enter firmware download mode
> -
> -Optional SoC Specific Properties:
> -- pinctrl-names: Contains only one value - "default".
> -- pintctrl-0: Specifies the pin control groups used for this controller.
> -
> -Example (for ARM-based BeagleBone with PN544 on I2C2):
> -
> -&i2c2 {
> -
> -
> - pn544: pn544@28 {
> -
> - compatible = "nxp,pn544-i2c";
> -
> - reg = <0x28>;
> - clock-frequency = <400000>;
> -
> - interrupt-parent = <&gpio1>;
> - interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
> -
> - enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
> - firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
> - };
> -};
> --
> 2.33.0
>
>

2021-10-27 12:45:36

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml

On Sun, 17 Oct 2021 18:02:10 +0200, David Heidelberg wrote:
> Convert bindings for NXP PN544 NFC driver to YAML syntax.
>
> Signed-off-by: David Heidelberg <[email protected]>
> ---
> v2
> - Krzysztof is a maintainer
> - pintctrl dropped
> - 4 space indent for example
> - nfc node name
> v3
> - remove whole pinctrl
> v4
> - drop clock-frequency, which is inherited by i2c bus
>
> .../bindings/net/nfc/nxp,pn544.yaml | 56 +++++++++++++++++++
> .../devicetree/bindings/net/nfc/pn544.txt | 33 -----------
> 2 files changed, 56 insertions(+), 33 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/nfc/nxp,pn544.yaml
> delete mode 100644 Documentation/devicetree/bindings/net/nfc/pn544.txt
>

Applied, thanks!