[PATCH] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema

Kael D'Alcamo posted 1 patch 2 months, 2 weeks ago
There is a newer version of this series
.../bindings/i2c/hisilicon,hix5hd2-i2c.yaml   | 59 +++++++++++++++++++
.../devicetree/bindings/i2c/i2c-hix5hd2.txt   | 24 --------
2 files changed, 59 insertions(+), 24 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt
[PATCH] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Kael D'Alcamo 2 months, 2 weeks ago
Signed-off-by: Kael D'Alcamo <dev@kael-k.io>
---
 .../bindings/i2c/hisilicon,hix5hd2-i2c.yaml   | 59 +++++++++++++++++++
 .../devicetree/bindings/i2c/i2c-hix5hd2.txt   | 24 --------
 2 files changed, 59 insertions(+), 24 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt

diff --git a/Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml b/Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
new file mode 100644
index 000000000000..e9931bbdb88b
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/hisilicon,hix5hd2-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: I2C for HiSilicon hix5hd2 chipset platform
+
+maintainers:
+  - Wei Yan <sledge.yanwei@huawei.com>
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - hisilicon,hix5hd2-i2c
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-frequency: 
+    description: Desired I2C bus frequency in Hz
+    default: 100000
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - "#address-cells"
+  - "#size-cells"
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/hix5hd2-clock.h>
+
+    i2c@f8b10000 {
+        compatible = "hisilicon,hix5hd2-i2c";
+        reg = <0xf8b10000 0x1000>;
+        interrupts = <0 38 4>;
+        clocks = <&clock HIX5HD2_I2C0_RST>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+    };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt b/Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt
deleted file mode 100644
index f98b37401e6e..000000000000
--- a/Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-I2C for Hisilicon hix5hd2 chipset platform
-
-Required properties:
-- compatible: Must be "hisilicon,hix5hd2-i2c"
-- reg: physical base address of the controller and length of memory mapped
-     region.
-- interrupts: interrupt number to the cpu.
-- #address-cells = <1>;
-- #size-cells = <0>;
-- clocks: phandles to input clocks.
-
-Optional properties:
-- clock-frequency: Desired I2C bus frequency in Hz, otherwise defaults to 100000
-- Child nodes conforming to i2c bus binding
-
-Examples:
-I2C0@f8b10000 {
-	compatible = "hisilicon,hix5hd2-i2c";
-	reg = <0xf8b10000 0x1000>;
-	interrupts = <0 38 4>;
-	clocks = <&clock HIX5HD2_I2C0_RST>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-}
-- 
2.51.0
Re: [PATCH] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Wolfram Sang 2 months, 1 week ago
Hi,

thanks for this conversion!

> +properties:
> +  compatible:
> +    enum:
> +      - hisilicon,hix5hd2-i2c

Question for DT maintainers: Is it preferred to start with 'enum' right
away or to start with 'const' and convert to 'enum' once a second user
appears?

> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0

These should be left out because they come from i2c-controller.yaml?

> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - "#address-cells"
> +  - "#size-cells"

Same here for the last two?

Happy hacking,

   Wolfram

Re: [PATCH] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Krzysztof Kozlowski 2 months, 1 week ago
On 08/10/2025 16:22, Wolfram Sang wrote:
> Hi,
> 
> thanks for this conversion!
> 
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - hisilicon,hix5hd2-i2c
> 
> Question for DT maintainers: Is it preferred to start with 'enum' right
> away or to start with 'const' and convert to 'enum' once a second user
> appears?


I don't have preference except: I would suggest using enum if you
already think there will be second variant, because it would save one
re-indent/rewrite of the line.

But in this case of old schema this is unlikely, so really does not
matter for me.

> 
>> +  "#address-cells":
>> +    const: 1
>> +
>> +  "#size-cells":
>> +    const: 0
> 
> These should be left out because they come from i2c-controller.yaml?

Yeah, these are redundant.

> 
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clocks
>> +  - "#address-cells"
>> +  - "#size-cells"
> 
> Same here for the last two?

i2c-controller.yaml does not require these I think for a reason - you
could have enabled empty I2C controller node for user space and having
these required without actual children causes dtc W=1 or W=2 warning.

so yeah, I would propose to drop these as well.


Best regards,
Krzysztof
[PATCH v2 0/1] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Kael D'Alcamo 2 months, 1 week ago
Thanks everybody for your feedback, here is the updated patch.

Changelog v1 -> v2:
* removed redundant "#address-cells" and "#size-cells" properties

Kael D'Alcamo (1):
  dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema

 .../bindings/i2c/hisilicon,hix5hd2-i2c.yaml   | 51 +++++++++++++++++++
 .../devicetree/bindings/i2c/i2c-hix5hd2.txt   | 24 ---------
 2 files changed, 51 insertions(+), 24 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt

-- 
2.51.0
[PATCH v2 1/1] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Kael D'Alcamo 2 months, 1 week ago
Convert the Devicetree binding documentation for:
* hisilicon,hix5hd2-i2c
from plain text to DT binding schema.

Signed-off-by: Kael D'Alcamo <dev@kael-k.io>
---
 .../bindings/i2c/hisilicon,hix5hd2-i2c.yaml   | 51 +++++++++++++++++++
 .../devicetree/bindings/i2c/i2c-hix5hd2.txt   | 24 ---------
 2 files changed, 51 insertions(+), 24 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt

diff --git a/Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml b/Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
new file mode 100644
index 000000000000..3faa7954e411
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/hisilicon,hix5hd2-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: I2C for HiSilicon hix5hd2 chipset platform
+
+maintainers:
+  - Wei Yan <sledge.yanwei@huawei.com>
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - hisilicon,hix5hd2-i2c
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-frequency:
+    description: Desired I2C bus frequency in Hz
+    default: 100000
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/hix5hd2-clock.h>
+
+    i2c@f8b10000 {
+        compatible = "hisilicon,hix5hd2-i2c";
+        reg = <0xf8b10000 0x1000>;
+        interrupts = <0 38 4>;
+        clocks = <&clock HIX5HD2_I2C0_RST>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+    };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt b/Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt
deleted file mode 100644
index f98b37401e6e..000000000000
--- a/Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-I2C for Hisilicon hix5hd2 chipset platform
-
-Required properties:
-- compatible: Must be "hisilicon,hix5hd2-i2c"
-- reg: physical base address of the controller and length of memory mapped
-     region.
-- interrupts: interrupt number to the cpu.
-- #address-cells = <1>;
-- #size-cells = <0>;
-- clocks: phandles to input clocks.
-
-Optional properties:
-- clock-frequency: Desired I2C bus frequency in Hz, otherwise defaults to 100000
-- Child nodes conforming to i2c bus binding
-
-Examples:
-I2C0@f8b10000 {
-	compatible = "hisilicon,hix5hd2-i2c";
-	reg = <0xf8b10000 0x1000>;
-	interrupts = <0 38 4>;
-	clocks = <&clock HIX5HD2_I2C0_RST>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-}
-- 
2.51.0
Re: [PATCH v2 1/1] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Wolfram Sang 2 months, 1 week ago
On Wed, Oct 08, 2025 at 10:04:27PM +0200, Kael D'Alcamo wrote:
> Convert the Devicetree binding documentation for:
> * hisilicon,hix5hd2-i2c
> from plain text to DT binding schema.
> 
> Signed-off-by: Kael D'Alcamo <dev@kael-k.io>

Applied to for-next, thanks!

Re: [PATCH v2 1/1] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Krzysztof Kozlowski 2 months, 1 week ago
On 09/10/2025 05:04, Kael D'Alcamo wrote:
> Convert the Devicetree binding documentation for:
> * hisilicon,hix5hd2-i2c
> from plain text to DT binding schema.
> 
> Signed-off-by: Kael D'Alcamo <dev@kael-k.io>
> ---

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

<form letter>
This is an automated instruction, just in case, because many review tags
are being ignored. If you know the process, just skip it entirely
(please do not feel offended by me posting it here - no bad intentions
intended, no patronizing, I just want to avoid wasted efforts). If you
do not know the process, here is a short explanation:

Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions
of patchset, under or above your Signed-off-by tag, unless patch changed
significantly (e.g. new properties added to the DT bindings). Tag is
"received", when provided in a message replied to you on the mailing
list. Tools like b4 can help here ('b4 trailers -u ...'). However,
there's no need to repost patches *only* to add the tags. The upstream
maintainer will do that for tags received on the version they apply.

Full context and explanation:
https://elixir.bootlin.com/linux/v6.15/source/Documentation/process/submitting-patches.rst#L591
</form letter>

Best regards,
Krzysztof
Re: [PATCH] dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema
Posted by Conor Dooley 2 months, 1 week ago
On Sat, Oct 04, 2025 at 05:48:02PM +0200, Kael D'Alcamo wrote:
> Signed-off-by: Kael D'Alcamo <dev@kael-k.io>

With a commit body,
Acked-by: Conor Dooley <conor.dooley@microchip.com>