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

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

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 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
  
Krzysztof Kozlowski April 24, 2023, 1:53 p.m. UTC | #2
On 23/04/2023 14:40, 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

This line points to moving reference in next, so might no be accurate
later. If you need external reference, then it should be some stable
tag. But anyway if this is in mainline (is this?) then, why referencing
via external link?


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

Best regards,
Krzysztof
  
Stanislav Jakubek April 26, 2023, 5:16 p.m. UTC | #3
On Mon, Apr 24, 2023 at 03:53:07PM +0200, Krzysztof Kozlowski wrote:
> On 23/04/2023 14:40, 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
> 
> This line points to moving reference in next, so might no be accurate
> later. If you need external reference, then it should be some stable
> tag. But anyway if this is in mainline (is this?) then, why referencing
> via external link?

Yes, it's in mainline since 2013. I just pointed to linux-next since
that was what I had open at the time.

Just to make sure if I understood correctly, if it's in mainline then
there's no need to reference it via link? Or should I point to some tag
instead, e.g.:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/i2c/busses/i2c-bcm-kona.c?h=v6.3#n731

Thank you for the review,
Stanislav

> 
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> Best regards,
> Krzysztof
>
  
Stanislav Jakubek April 26, 2023, 5:23 p.m. UTC | #4
On Mon, Apr 24, 2023 at 08:28:08AM -0500, Rob Herring wrote:
> 
> 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
> 

These warnings are fixed by the first patch in the series.
Maybe it didn't apply?

Regards,
Stanislav
  
Krzysztof Kozlowski April 27, 2023, 3:54 p.m. UTC | #5
On 26/04/2023 19:16, Stanislav Jakubek wrote:
> On Mon, Apr 24, 2023 at 03:53:07PM +0200, Krzysztof Kozlowski wrote:
>> On 23/04/2023 14:40, 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
>>
>> This line points to moving reference in next, so might no be accurate
>> later. If you need external reference, then it should be some stable
>> tag. But anyway if this is in mainline (is this?) then, why referencing
>> via external link?
> 
> Yes, it's in mainline since 2013. I just pointed to linux-next since
> that was what I had open at the time.
> 
> Just to make sure if I understood correctly, if it's in mainline then
> there's no need to reference it via link? Or should I point to some tag
> instead, e.g.:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/i2c/busses/i2c-bcm-kona.c?h=v6.3#n731

Yes, this would be better but I propose still to drop the link entirely.
If you know the commit SHA which introduced this, mention it.

Best regards,
Krzysztof
  
Wolfram Sang April 30, 2023, 6:55 a.m. UTC | #6
> > i2c@1c000: compatible: ['brcm,kona-i2c'] is too short
> > 	arch/arm/boot/dts/bcm23550-sparrow.dtb
> > 
> 
> These warnings are fixed by the first patch in the series.
> Maybe it didn't apply?

So, this depends on patch 1 but I2C doesn't pick up DT changes. So,
shall this go via arm-soc, then? Or DT? Anyway, for any route:

Acked-by: Wolfram Sang <wsa@kernel.org>
  
Krzysztof Kozlowski April 30, 2023, 12:12 p.m. UTC | #7
On 30/04/2023 08:55, Wolfram Sang wrote:
> 
>>> i2c@1c000: compatible: ['brcm,kona-i2c'] is too short
>>> 	arch/arm/boot/dts/bcm23550-sparrow.dtb
>>>
>>
>> These warnings are fixed by the first patch in the series.
>> Maybe it didn't apply?
> 
> So, this depends on patch 1 but I2C doesn't pick up DT changes. So,
> shall this go via arm-soc, then? Or DT? Anyway, for any route:
> 
> Acked-by: Wolfram Sang <wsa@kernel.org>

The dtbs warnings - if fixed via any other pactch - can be safely
ignored. They do not affect bisectability. Please grab this patch via
I2C. The DTS will go separately via arm-soc.

Best regards,
Krzysztof
  
Wolfram Sang May 3, 2023, 3:38 p.m. UTC | #8
> The dtbs warnings - if fixed via any other pactch - can be safely
> ignored. They do not affect bisectability. Please grab this patch via
> I2C. The DTS will go separately via arm-soc.

OK, thanks for the heads up!
  
Wolfram Sang May 4, 2023, 4:22 a.m. UTC | #9
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!
  

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>;
+    };
+...