diff mbox series

dt-bindings: i2c: brcm,bcm2835-i2c: convert to YAML schema

Message ID 20211206184613.100809-1-david@ixit.cz
State Accepted
Headers show
Series dt-bindings: i2c: brcm,bcm2835-i2c: convert to YAML schema | expand

Commit Message

David Heidelberg Dec. 6, 2021, 6:46 p.m. UTC
Switch the DT binding to a YAML schema to enable the DT validation.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 .../bindings/i2c/brcm,bcm2835-i2c.txt         | 22 --------
 .../bindings/i2c/brcm,bcm2835-i2c.yaml        | 54 +++++++++++++++++++
 2 files changed, 54 insertions(+), 22 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.yaml

Comments

Florian Fainelli Dec. 6, 2021, 10:27 p.m. UTC | #1
On 12/6/21 10:46 AM, David Heidelberg wrote:
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Signed-off-by: David Heidelberg <david@ixit.cz>

Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>

Let me know if you are planning on converting more of the bcm2835
binding so we don't overlap. Thanks!
David Heidelberg Dec. 7, 2021, 8:46 a.m. UTC | #2
Hello Florian,

thanks for looking into patch. Currently I'm picking missing and broken bindings, which has biggest impact on arm64 make dtbs_check output, to give developers chance to use it to find their problems instead of being overwhelmed by thousands lines of usually irrelevant warnings not related to DTS their writing. So feel free to continue, I'm very happy that there is more people trying make dtbs_check output clean and DT validated :)

David


-------- Původní zpráva --------
Odesílatel: Florian Fainelli <f.fainelli@gmail.com>
Odesláno: 6. prosince 2021 22:27:49 UTC
Komu: David Heidelberg <david@ixit.cz>, Rob Herring <robh+dt@kernel.org>, Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>, bcm-kernel-feedback-list@broadcom.com, Nicolas Saenz Julienne <nsaenz@kernel.org>, Stephen Warren <swarren@wwwdotorg.org>
Kopie: ~okias/devicetree@lists.sr.ht, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Předmět: Re: [PATCH] dt-bindings: i2c: brcm,bcm2835-i2c: convert to YAML schema

On 12/6/21 10:46 AM, David Heidelberg wrote:
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Signed-off-by: David Heidelberg <david@ixit.cz>

Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>

Let me know if you are planning on converting more of the bcm2835
binding so we don't overlap. Thanks!
Wolfram Sang Dec. 9, 2021, 8:56 a.m. UTC | #3
On Mon, Dec 06, 2021 at 07:46:12PM +0100, David Heidelberg wrote:
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Signed-off-by: David Heidelberg <david@ixit.cz>

Applied to for-next, thanks!

David: Please quote only relevant parts of the messages when replying.
You quoted Florian's tags as well and so they ended up twice. Also, it
is easier to read, then.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt b/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt
deleted file mode 100644
index a8a35df41951..000000000000
--- a/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt
+++ /dev/null
@@ -1,22 +0,0 @@ 
-Broadcom BCM2835 I2C controller
-
-Required properties:
-- compatible : Should be one of:
-	"brcm,bcm2711-i2c"
-	"brcm,bcm2835-i2c"
-- reg: Should contain register location and length.
-- interrupts: Should contain interrupt.
-- clocks : The clock feeding the I2C controller.
-
-Recommended properties:
-- clock-frequency : desired I2C bus clock frequency in Hz.
-
-Example:
-
-i2c@7e205000 {
-	compatible = "brcm,bcm2835-i2c";
-	reg = <0x7e205000 0x1000>;
-	interrupts = <2 21>;
-	clocks = <&clk_i2c>;
-	clock-frequency = <100000>;
-};
diff --git a/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.yaml b/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.yaml
new file mode 100644
index 000000000000..8256490a7af2
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.yaml
@@ -0,0 +1,54 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/brcm,bcm2835-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom BCM2835 I2C controller
+
+maintainers:
+  - Stephen Warren <swarren@wwwdotorg.org>
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - brcm,bcm2835-i2c
+      - items:
+          - const: brcm,bcm2711-i2c
+          - const: brcm,bcm2835-i2c
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clock-names:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-frequency: true
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c@7e205000 {
+        compatible = "brcm,bcm2835-i2c";
+        reg = <0x7e205000 0x1000>;
+        interrupts = <2 21>;
+        clocks = <&clk_i2c>;
+        clock-frequency = <100000>;
+    };