diff mbox series

[v2,2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

Message ID 72ba28004afb733224f7294a146fc2a6a5a834a7.1682252615.git.stano.jakubek@gmail.com
State New
Headers show
Series [v2,1/2] ARM: dts: bcm23550: Add SoC-specific I2C compatible | expand

Commit Message

Stanislav Jakubek April 23, 2023, 12:40 p.m. UTC
Convert Broadcom Kona family I2C bindings to DT schema.

Changes during conversion:
  - add used, but previously undocumented SoC-specific compatibles
  - drop references to SoCs that are not upstream
  - add supported clock frequencies according to the Linux driver [1]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/i2c/busses/i2c-bcm-kona.c#n731

Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
---
Changes in v2:
 - add missing arm-gic.h include
 - fix indentation to 4 spaces
 
 .../devicetree/bindings/i2c/brcm,kona-i2c.txt | 35 -----------
 .../bindings/i2c/brcm,kona-i2c.yaml           | 59 +++++++++++++++++++
 2 files changed, 59 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/brcm,kona-i2c.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/brcm,kona-i2c.yaml

Comments

Rob Herring (Arm) April 24, 2023, 1:28 p.m. UTC | #1
On Sun, 23 Apr 2023 14:40:18 +0200, Stanislav Jakubek wrote:
> Convert Broadcom Kona family I2C bindings to DT schema.
> 
> Changes during conversion:
>   - add used, but previously undocumented SoC-specific compatibles
>   - drop references to SoCs that are not upstream
>   - add supported clock frequencies according to the Linux driver [1]
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/i2c/busses/i2c-bcm-kona.c#n731
> 
> Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
> ---
> Changes in v2:
>  - add missing arm-gic.h include
>  - fix indentation to 4 spaces
> 
>  .../devicetree/bindings/i2c/brcm,kona-i2c.txt | 35 -----------
>  .../bindings/i2c/brcm,kona-i2c.yaml           | 59 +++++++++++++++++++
>  2 files changed, 59 insertions(+), 35 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/i2c/brcm,kona-i2c.txt
>  create mode 100644 Documentation/devicetree/bindings/i2c/brcm,kona-i2c.yaml
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/72ba28004afb733224f7294a146fc2a6a5a834a7.1682252615.git.stano.jakubek@gmail.com


i2c@16000: compatible:0: 'brcm,kona-i2c' is not one of ['brcm,bcm11351-i2c', 'brcm,bcm21664-i2c', 'brcm,bcm23550-i2c']
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@16000: compatible: ['brcm,kona-i2c'] is too short
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@17000: compatible:0: 'brcm,kona-i2c' is not one of ['brcm,bcm11351-i2c', 'brcm,bcm21664-i2c', 'brcm,bcm23550-i2c']
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@17000: compatible: ['brcm,kona-i2c'] is too short
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@18000: compatible:0: 'brcm,kona-i2c' is not one of ['brcm,bcm11351-i2c', 'brcm,bcm21664-i2c', 'brcm,bcm23550-i2c']
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@18000: compatible: ['brcm,kona-i2c'] is too short
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@1c000: compatible:0: 'brcm,kona-i2c' is not one of ['brcm,bcm11351-i2c', 'brcm,bcm21664-i2c', 'brcm,bcm23550-i2c']
	arch/arm/boot/dts/bcm23550-sparrow.dtb

i2c@1c000: compatible: ['brcm,kona-i2c'] is too short
	arch/arm/boot/dts/bcm23550-sparrow.dtb
Wolfram Sang May 4, 2023, 4:22 a.m. UTC | #2
On Sun, Apr 23, 2023 at 02:40:18PM +0200, Stanislav Jakubek wrote:
> Convert Broadcom Kona family I2C bindings to DT schema.
> 
> Changes during conversion:
>   - add used, but previously undocumented SoC-specific compatibles
>   - drop references to SoCs that are not upstream
>   - add supported clock frequencies according to the Linux driver [1]
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/i2c/busses/i2c-bcm-kona.c#n731
> 
> Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>

Applied to for-current with the link removed, thanks!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/i2c/brcm,kona-i2c.txt b/Documentation/devicetree/bindings/i2c/brcm,kona-i2c.txt
deleted file mode 100644
index 1b87b741fa8e..000000000000
--- a/Documentation/devicetree/bindings/i2c/brcm,kona-i2c.txt
+++ /dev/null
@@ -1,35 +0,0 @@ 
-Broadcom Kona Family I2C
-=========================
-
-This I2C controller is used in the following Broadcom SoCs:
-
-  BCM11130
-  BCM11140
-  BCM11351
-  BCM28145
-  BCM28155
-
-Required Properties
--------------------
-- compatible: "brcm,bcm11351-i2c", "brcm,kona-i2c"
-- reg: Physical base address and length of controller registers
-- interrupts: The interrupt number used by the controller
-- clocks: clock specifier for the kona i2c external clock
-- clock-frequency: The I2C bus frequency in Hz
-- #address-cells: Should be <1>
-- #size-cells: Should be <0>
-
-Refer to clocks/clock-bindings.txt for generic clock consumer
-properties.
-
-Example:
-
-i2c@3e016000 {
-	compatible = "brcm,bcm11351-i2c","brcm,kona-i2c";
-	reg = <0x3e016000 0x80>;
-	interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
-	clocks = <&bsc1_clk>;
-	clock-frequency = <400000>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-};
diff --git a/Documentation/devicetree/bindings/i2c/brcm,kona-i2c.yaml b/Documentation/devicetree/bindings/i2c/brcm,kona-i2c.yaml
new file mode 100644
index 000000000000..7a694af90fc6
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/brcm,kona-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/brcm,kona-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom Kona family I2C controller
+
+maintainers:
+  - Florian Fainelli <f.fainelli@gmail.com>
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - brcm,bcm11351-i2c
+          - brcm,bcm21664-i2c
+          - brcm,bcm23550-i2c
+      - const: brcm,kona-i2c
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-frequency:
+    enum: [ 100000, 400000, 1000000, 3400000 ]
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-frequency
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c@3e016000 {
+        compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
+        reg = <0x3e016000 0x80>;
+        interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&bsc1_clk>;
+        clock-frequency = <400000>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+    };
+...