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