2023-04-23 12:42:16

by Stanislav Jakubek

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

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 <[email protected]>
---
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

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 <[email protected]>
+
+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>;
+ };
+...
--
2.25.1


2023-04-24 13:29:30

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML


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 <[email protected]>
> ---
> 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

2023-04-24 13:58:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

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 <[email protected]>

Best regards,
Krzysztof

2023-04-26 17:18:19

by Stanislav Jakubek

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

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 <[email protected]>
>
> Best regards,
> Krzysztof
>

2023-04-26 17:27:09

by Stanislav Jakubek

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

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 <[email protected]>
> > ---
> > 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

2023-04-27 15:59:58

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

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

2023-04-30 07:07:21

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML


> > 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 <[email protected]>


Attachments:
(No filename) (384.00 B)
signature.asc (849.00 B)
Download all attachments

2023-04-30 12:14:18

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

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 <[email protected]>

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

2023-05-03 15:55:28

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML


> 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!


Attachments:
(No filename) (226.00 B)
signature.asc (849.00 B)
Download all attachments

2023-05-04 04:51:58

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: i2c: brcm,kona-i2c: convert to YAML

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 <[email protected]>

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


Attachments:
(No filename) (605.00 B)
signature.asc (849.00 B)
Download all attachments