.../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
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
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
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
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
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
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!
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
© 2016 - 2025 Red Hat, Inc.