devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML
@ 2022-09-20  5:20 Sergio Paracuellos
  2022-09-21  6:47 ` Krzysztof Kozlowski
  2022-09-26 19:08 ` Rob Herring
  0 siblings, 2 replies; 4+ messages in thread
From: Sergio Paracuellos @ 2022-09-20  5:20 UTC (permalink / raw)
  To: devicetree; +Cc: tsbogend, robh+dt, krzysztof.kozlowski+dt, arinc.unal, sr

SoC MT7621 I2C bindings used text format, so migrate them to YAML.
There are some additions to the binding that were not in the original
txt file. This binding is used in MT7621 and MT7628a Ralink SoCs. To
properly match both dts nodes in tree we need to add to the schema
'clocks', 'clock-names' and 'reset-names'. Both 'clock-names' and
'reset-names' use 'i2c' as string so maintain that as const in
the schema. Also, Properly update MAINTAINERS file to align the
changes.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
---
Changes in v3:
- Address review comment from Krzysztof:
    - Rebase onto last kernel version.
    - Drop address-cells and size-cells.
    - Properly explain deviations from txt in commit message.
    - Drop reset-names as required property.
    - Squash previous series two commits in one to be bisectable.

Changes in v2:
- Maintain current maintainer Stefan Rose as listed in kernel MAINTAINERS file.
 .../devicetree/bindings/i2c/i2c-mt7621.txt    | 25 --------
 .../bindings/i2c/mediatek,mt7621-i2c.yaml     | 61 +++++++++++++++++++
 MAINTAINERS                                   |  2 +-
 3 files changed, 62 insertions(+), 26 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mt7621.txt b/Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
deleted file mode 100644
index bc36f0eb94cd..000000000000
--- a/Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-MediaTek MT7621/MT7628 I2C master controller
-
-Required properties:
-
-- compatible: Should be one of the following:
-  - "mediatek,mt7621-i2c": for MT7621/MT7628/MT7688 platforms
-- #address-cells: should be 1.
-- #size-cells: should be 0.
-- reg: Address and length of the register set for the device
-- resets: phandle to the reset controller asserting this device in
-          reset
-  See ../reset/reset.txt for details.
-
-Optional properties :
-
-Example:
-
-i2c: i2c@900 {
-	compatible = "mediatek,mt7621-i2c";
-	reg = <0x900 0x100>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-	resets = <&rstctrl 16>;
-	reset-names = "i2c";
-};
diff --git a/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml b/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
new file mode 100644
index 000000000000..118ec00fc190
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/mediatek,mt7621-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+maintainers:
+  - Stefan Roese <sr@denx.de>
+
+title: Mediatek MT7621/MT7628 I2C master controller
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    const: mediatek,mt7621-i2c
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    const: i2c
+
+  resets:
+    maxItems: 1
+
+  reset-names:
+    const: i2c
+
+required:
+  - compatible
+  - reg
+  - resets
+  - "#address-cells"
+  - "#size-cells"
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/mt7621-clk.h>
+    #include <dt-bindings/reset/mt7621-reset.h>
+
+    i2c: i2c@900 {
+      compatible = "mediatek,mt7621-i2c";
+      reg = <0x900 0x100>;
+      clocks = <&sysc MT7621_CLK_I2C>;
+      clock-names = "i2c";
+      resets = <&sysc MT7621_RST_I2C>;
+      reset-names = "i2c";
+
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      pinctrl-names = "default";
+      pinctrl-0 = <&i2c_pins>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 08620b9a44fc..bac21d599181 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12669,7 +12669,7 @@ MEDIATEK MT7621/28/88 I2C DRIVER
 M:	Stefan Roese <sr@denx.de>
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
-F:	Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
+F:	Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
 F:	drivers/i2c/busses/i2c-mt7621.c
 
 MEDIATEK MT7621 PCIE CONTROLLER DRIVER
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML
  2022-09-20  5:20 [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML Sergio Paracuellos
@ 2022-09-21  6:47 ` Krzysztof Kozlowski
  2022-09-21  7:07   ` Sergio Paracuellos
  2022-09-26 19:08 ` Rob Herring
  1 sibling, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-21  6:47 UTC (permalink / raw)
  To: Sergio Paracuellos, devicetree
  Cc: tsbogend, robh+dt, krzysztof.kozlowski+dt, arinc.unal, sr

On 20/09/2022 07:20, Sergio Paracuellos wrote:
> SoC MT7621 I2C bindings used text format, so migrate them to YAML.
> There are some additions to the binding that were not in the original
> txt file. This binding is used in MT7621 and MT7628a Ralink SoCs. To
> properly match both dts nodes in tree we need to add to the schema
> 'clocks', 'clock-names' and 'reset-names'. Both 'clock-names' and
> 'reset-names' use 'i2c' as string so maintain that as const in
> the schema. Also, Properly update MAINTAINERS file to align the
> changes.
> 
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

plus two comments:

> ---
> Changes in v3:
> - Address review comment from Krzysztof:
>     - Rebase onto last kernel version.
>     - Drop address-cells and size-cells.
>     - Properly explain deviations from txt in commit message.
>     - Drop reset-names as required property.
>     - Squash previous series two commits in one to be bisectable.
> 

(...)

> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
> @@ -0,0 +1,61 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/i2c/mediatek,mt7621-i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +maintainers:
> +  - Stefan Roese <sr@denx.de>

You can also add yourself if you have the interest, the hardware or the
datasheets.

> +
> +title: Mediatek MT7621/MT7628 I2C master controller
> +
> +allOf:
> +  - $ref: /schemas/i2c/i2c-controller.yaml#
> +
> +properties:
> +  compatible:
> +    const: mediatek,mt7621-i2c
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    const: i2c
> +
> +  resets:
> +    maxItems: 1
> +
> +  reset-names:
> +    const: i2c
> +
> +required:
> +  - compatible
> +  - reg
> +  - resets
> +  - "#address-cells"
> +  - "#size-cells"

Similarly to spi, the clocks might be added to required properties, if
they are really needed.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML
  2022-09-21  6:47 ` Krzysztof Kozlowski
@ 2022-09-21  7:07   ` Sergio Paracuellos
  0 siblings, 0 replies; 4+ messages in thread
From: Sergio Paracuellos @ 2022-09-21  7:07 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Thomas Bogendoerfer, Rob Herring, Krzysztof Kozlowski,
	Arınç ÜNAL, sr

On Wed, Sep 21, 2022 at 8:47 AM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 20/09/2022 07:20, Sergio Paracuellos wrote:
> > SoC MT7621 I2C bindings used text format, so migrate them to YAML.
> > There are some additions to the binding that were not in the original
> > txt file. This binding is used in MT7621 and MT7628a Ralink SoCs. To
> > properly match both dts nodes in tree we need to add to the schema
> > 'clocks', 'clock-names' and 'reset-names'. Both 'clock-names' and
> > 'reset-names' use 'i2c' as string so maintain that as const in
> > the schema. Also, Properly update MAINTAINERS file to align the
> > changes.
> >
> > Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Thanks!

>
> plus two comments:
>
> > ---
> > Changes in v3:
> > - Address review comment from Krzysztof:
> >     - Rebase onto last kernel version.
> >     - Drop address-cells and size-cells.
> >     - Properly explain deviations from txt in commit message.
> >     - Drop reset-names as required property.
> >     - Squash previous series two commits in one to be bisectable.
> >
>
> (...)
>
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
> > @@ -0,0 +1,61 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/i2c/mediatek,mt7621-i2c.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +maintainers:
> > +  - Stefan Roese <sr@denx.de>
>
> You can also add yourself if you have the interest, the hardware or the
> datasheets.

Ok, thanks.

>
> > +
> > +title: Mediatek MT7621/MT7628 I2C master controller
> > +
> > +allOf:
> > +  - $ref: /schemas/i2c/i2c-controller.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    const: mediatek,mt7621-i2c
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    maxItems: 1
> > +
> > +  clock-names:
> > +    const: i2c
> > +
> > +  resets:
> > +    maxItems: 1
> > +
> > +  reset-names:
> > +    const: i2c
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - resets
> > +  - "#address-cells"
> > +  - "#size-cells"
>
> Similarly to spi, the clocks might be added to required properties, if
> they are really needed.

CLocks are required by MT7621 SoC but MT7628 is not using them in current DTS:

https://elixir.bootlin.com/linux/v6.0-rc5/source/arch/mips/boot/dts/ralink/mt7628a.dtsi#L203

That is the reason to not include them as required.

Thanks,
    Sergio Paracuellos

>
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML
  2022-09-20  5:20 [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML Sergio Paracuellos
  2022-09-21  6:47 ` Krzysztof Kozlowski
@ 2022-09-26 19:08 ` Rob Herring
  1 sibling, 0 replies; 4+ messages in thread
From: Rob Herring @ 2022-09-26 19:08 UTC (permalink / raw)
  To: Sergio Paracuellos
  Cc: sr, krzysztof.kozlowski+dt, arinc.unal, tsbogend, devicetree,
	robh+dt

On Tue, 20 Sep 2022 07:20:50 +0200, Sergio Paracuellos wrote:
> SoC MT7621 I2C bindings used text format, so migrate them to YAML.
> There are some additions to the binding that were not in the original
> txt file. This binding is used in MT7621 and MT7628a Ralink SoCs. To
> properly match both dts nodes in tree we need to add to the schema
> 'clocks', 'clock-names' and 'reset-names'. Both 'clock-names' and
> 'reset-names' use 'i2c' as string so maintain that as const in
> the schema. Also, Properly update MAINTAINERS file to align the
> changes.
> 
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
> ---
> Changes in v3:
> - Address review comment from Krzysztof:
>     - Rebase onto last kernel version.
>     - Drop address-cells and size-cells.
>     - Properly explain deviations from txt in commit message.
>     - Drop reset-names as required property.
>     - Squash previous series two commits in one to be bisectable.
> 
> Changes in v2:
> - Maintain current maintainer Stefan Rose as listed in kernel MAINTAINERS file.
>  .../devicetree/bindings/i2c/i2c-mt7621.txt    | 25 --------
>  .../bindings/i2c/mediatek,mt7621-i2c.yaml     | 61 +++++++++++++++++++
>  MAINTAINERS                                   |  2 +-
>  3 files changed, 62 insertions(+), 26 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
>  create mode 100644 Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
> 

Applied, thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-09-26 19:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-20  5:20 [PATCH v3] dt-bindings: i2c: migrate mt7621 text bindings to YAML Sergio Paracuellos
2022-09-21  6:47 ` Krzysztof Kozlowski
2022-09-21  7:07   ` Sergio Paracuellos
2022-09-26 19:08 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).