Skip to contentSkip to conversation

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

PATCH Superseded Kael D'Alcamo 4 participants 8 messages Oct 4, 2025 – Oct 9, 2025

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema

---
 .../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
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +59 -0
new file mode 100644
index 000000000000..e9931bbdb88b
@@ -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 <[email protected]>
+
+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>;
+    };
Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt deleted +0 -24
deleted file mode 100644
index f98b37401e6e..000000000000
@@ -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>;
-}
Signature · 1 line
2.51.0
#2 lore raw
In reply to Kael D'Alcamo

Hi,

thanks for this conversion!

Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml line 17

Quoted 4 lines
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +4 -0
+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?

Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml line 36

Quoted 5 lines
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +5 -0
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0

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

Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml line 44

Quoted 7 lines
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +7 -0
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - "#address-cells"
+  - "#size-cells"

Same here for the last two?

Happy hacking,

Wolfram

#3 lore raw
Quoted 4 lines · Wolfram Sang

Hi,

thanks for this conversion!

Quoted 8 lines

Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml line 17

Quoted 4 lines
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +4 -0
+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.

Quoted 8 lines

Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml line 36

Quoted 6 lines
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +5 -0
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0

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

Yeah, these are redundant.

Quoted 10 lines

Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml line 44

Quoted 8 lines
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +7 -0
+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

#4 lore raw

v2 cover dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema

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
Signature · 1 line
2.51.0
#5 lore raw

PATCH v2 1/1 dt-bindings: i2c: hisilicon,hix5hd2-i2c convert to DT schema

Convert the Devicetree binding documentation for:
* hisilicon,hix5hd2-i2c
from plain text to DT binding 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
Documentation/devicetree/bindings/i2c/hisilicon,hix5hd2-i2c.yaml new file +51 -0
new file mode 100644
index 000000000000..3faa7954e411
@@ -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 <[email protected]>
+
+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>;
+    };
Documentation/devicetree/bindings/i2c/i2c-hix5hd2.txt deleted +0 -24
deleted file mode 100644
index f98b37401e6e..000000000000
@@ -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>;
-}
Signature · 1 line
2.51.0
Reviewed-by on v2 1/1
#6 lore raw
Quoted 6 lines · Kael D'Alcamo

Convert the Devicetree binding documentation for:
* hisilicon,hix5hd2-i2c
from plain text to DT binding schema.

---

<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