[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220516181639.GB2997786-robh@kernel.org>
Date: Mon, 16 May 2022 13:16:39 -0500
From: Rob Herring <robh@...nel.org>
To: Chris Packham <chris.packham@...iedtelesis.co.nz>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, krzysztof.kozlowski+dt@...aro.org,
andrew@...n.ch, netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] dt-bindings: net: orion-mdio: Convert to JSON schema
On Fri, May 06, 2022 at 09:06:20AM +1200, Chris Packham wrote:
> Convert the marvell,orion-mdio binding to JSON schema.
>
> Signed-off-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> ---
>
> Notes:
> This does throw up the following dtbs_check warnings for turris-mox:
>
> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@...04: switch0@10:reg: [[16], [0]] is too long
> From schema: Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@...04: switch0@2:reg: [[2], [0]] is too long
> From schema: Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@...04: switch1@11:reg: [[17], [0]] is too long
> From schema: Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@...04: switch1@2:reg: [[2], [0]] is too long
> From schema: Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@...04: switch2@12:reg: [[18], [0]] is too long
> From schema: Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@...04: switch2@2:reg: [[2], [0]] is too long
> From schema: Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
>
> I think they're all genuine but I'm hesitant to leap in and fix them
> without being able to test them.
>
> I also need to set unevaluatedProperties: true to cater for the L2
> switch on turris-mox (and probably others). That might be better tackled
> in the core mdio.yaml schema but I wasn't planning on touching that.
>
> Changes in v2:
> - Add Andrew as maintainer (thanks for volunteering)
>
> .../bindings/net/marvell,orion-mdio.yaml | 60 +++++++++++++++++++
> .../bindings/net/marvell-orion-mdio.txt | 54 -----------------
> 2 files changed, 60 insertions(+), 54 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> delete mode 100644 Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
>
> diff --git a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> new file mode 100644
> index 000000000000..fe3a3412f093
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> @@ -0,0 +1,60 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/marvell,orion-mdio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell MDIO Ethernet Controller interface
> +
> +maintainers:
> + - Andrew Lunn <andrew@...n.ch>
> +
> +description: |
> + The Ethernet controllers of the Marvel Kirkwood, Dove, Orion5x, MV78xx0,
> + Armada 370, Armada XP, Armada 7k and Armada 8k have an identical unit that
> + provides an interface with the MDIO bus. Additionally, Armada 7k and Armada
> + 8k has a second unit which provides an interface with the xMDIO bus. This
> + driver handles these interfaces.
> +
> +allOf:
> + - $ref: "mdio.yaml#"
> +
> +properties:
> + compatible:
> + enum:
> + - marvell,orion-mdio
> + - marvell,xmdio
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + minItems: 1
> + maxItems: 4
Really this should be better defined, but the original was not.
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: true
This must be false.
> +
> +examples:
> + - |
> + mdio@...72004 {
> + compatible = "marvell,orion-mdio";
> + reg = <0xd0072004 0x4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + interrupts = <30>;
> +
> + phy0: ethernet-phy@0 {
> + reg = <0>;
> + };
> +
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/net/marvell-orion-mdio.txt b/Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
> deleted file mode 100644
> index 3f3cfc1d8d4d..000000000000
> --- a/Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -* Marvell MDIO Ethernet Controller interface
> -
> -The Ethernet controllers of the Marvel Kirkwood, Dove, Orion5x,
> -MV78xx0, Armada 370, Armada XP, Armada 7k and Armada 8k have an
> -identical unit that provides an interface with the MDIO bus.
> -Additionally, Armada 7k and Armada 8k has a second unit which
> -provides an interface with the xMDIO bus. This driver handles
> -these interfaces.
> -
> -Required properties:
> -- compatible: "marvell,orion-mdio" or "marvell,xmdio"
> -- reg: address and length of the MDIO registers. When an interrupt is
> - not present, the length is the size of the SMI register (4 bytes)
> - otherwise it must be 0x84 bytes to cover the interrupt control
> - registers.
> -
> -Optional properties:
> -- interrupts: interrupt line number for the SMI error/done interrupt
> -- clocks: phandle for up to four required clocks for the MDIO instance
> -
> -The child nodes of the MDIO driver are the individual PHY devices
> -connected to this MDIO bus. They must have a "reg" property given the
> -PHY address on the MDIO bus.
> -
> -Example at the SoC level without an interrupt property:
> -
> -mdio {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "marvell,orion-mdio";
> - reg = <0xd0072004 0x4>;
> -};
> -
> -Example with an interrupt property:
> -
> -mdio {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "marvell,orion-mdio";
> - reg = <0xd0072004 0x84>;
> - interrupts = <30>;
> -};
> -
> -And at the board level:
> -
> -mdio {
> - phy0: ethernet-phy@0 {
> - reg = <0>;
> - };
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> -}
> --
> 2.36.0
>
>
Powered by blists - more mailing lists