[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250221163651.GA4130188-robh@kernel.org>
Date: Fri, 21 Feb 2025 10:36:51 -0600
From: Rob Herring <robh@...nel.org>
To: J. Neuschäfer <j.ne@...teo.net>
Cc: Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Claudiu Manoil <claudiu.manoil@....com>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] dt-bindings: net: Convert fsl,gianfar-{mdio,tbi} to
YAML
On Thu, Feb 20, 2025 at 06:29:21PM +0100, J. Neuschäfer wrote:
> Move the information related to the Freescale Gianfar (TSEC) MDIO bus
> and the Ten-Bit Interface (TBI) from fsl-tsec-phy.txt to a new binding
> file in YAML format, fsl,gianfar-mdio.yaml.
>
> Signed-off-by: J. Neuschäfer <j.ne@...teo.net>
> ---
>
> dt-bindings: net: Convert fsl,gianfar-tbi to YAML
> ---
> .../devicetree/bindings/net/fsl,gianfar-mdio.yaml | 94 ++++++++++++++++++++++
> .../devicetree/bindings/net/fsl-tsec-phy.txt | 41 +---------
> 2 files changed, 96 insertions(+), 39 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml b/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..2dade7f48c366b7f5c7408e1f7de1a6f5fc80787
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml
> @@ -0,0 +1,94 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/fsl,gianfar-mdio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale Gianfar (TSEC) MDIO Device
> +
> +description:
> + This binding describes the MDIO is a bus to which the PHY devices are
> + connected. For each device that exists on this bus, a child node should be
> + created.
> +
> + As of this writing, every TSEC is associated with an internal Ten-Bit
> + Interface (TBI) PHY. This PHY is accessed through the local MDIO bus. These
> + buses are defined similarly to the mdio buses, except they are compatible
> + with "fsl,gianfar-tbi". The TBI PHYs underneath them are similar to normal
> + PHYs, but the reg property is considered instructive, rather than
> + descriptive. The reg property should be chosen so it doesn't interfere with
> + other PHYs on the bus.
> +
> +maintainers:
> + - J. Neuschäfer <j.ne@...teo.net>
> +
> +properties:
> + compatible:
> + enum:
> + - fsl,gianfar-tbi
> + - fsl,gianfar-mdio
> + - fsl,etsec2-tbi
> + - fsl,etsec2-mdio
> + - fsl,ucc-mdio
> + - gianfar
Can you just comment out this to avoid the duplicate issue.
Though I think if you write a custom 'select' which looks for
'device_type = "mdio"' with gianfar compatible and similar in the other
binding, then the warning will go away.
> + - ucc_geth_phy
> +
> + reg:
> + minItems: 1
> + items:
> + - description:
> + Offset and length of the register set for the device
> +
> + - description:
> + Optionally, the offset and length of the TBIPA register (TBI PHY
> + address register). If TBIPA register is not specified, the driver
> + will attempt to infer it from the register set specified (your
> + mileage may vary).
> +
> + device_type:
> + const: mdio
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
These are defined in mdio.yaml, so drop them here.
> +
> +required:
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> +
> +allOf:
> + - $ref: mdio.yaml#
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - gianfar
> + - ucc_geth_phy
> + then:
> + required:
> + - device_type
Essentially, move this to the 'select' schema and add that property
device_type must be 'mdio'. You won't need it here anymore because it
had to be true for the schema to be applied.
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + soc {
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + mdio@...20 {
> + reg = <0x24520 0x20>;
> + compatible = "fsl,gianfar-mdio";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ethernet-phy@0 {
> + reg = <0>;
> + };
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
> index 9c9668c1b6a24edff7b7cf625b9f14c3cbc2e0c8..0e55e0af7d6f59cfb571dd3fcff704b7f4c140d2 100644
> --- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
> +++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
> @@ -1,47 +1,10 @@
> * MDIO IO device
>
> -The MDIO is a bus to which the PHY devices are connected. For each
> -device that exists on this bus, a child node should be created. See
> -the definition of the PHY node in booting-without-of.txt for an example
> -of how to define a PHY.
> -
> -Required properties:
> - - reg : Offset and length of the register set for the device, and optionally
> - the offset and length of the TBIPA register (TBI PHY address
> - register). If TBIPA register is not specified, the driver will
> - attempt to infer it from the register set specified (your mileage may
> - vary).
> - - compatible : Should define the compatible device type for the
> - mdio. Currently supported strings/devices are:
> - - "fsl,gianfar-tbi"
> - - "fsl,gianfar-mdio"
> - - "fsl,etsec2-tbi"
> - - "fsl,etsec2-mdio"
> - - "fsl,ucc-mdio"
> - - "fsl,fman-mdio"
> - When device_type is "mdio", the following strings are also considered:
> - - "gianfar"
> - - "ucc_geth_phy"
> -
> -Example:
> -
> - mdio@...20 {
> - reg = <24520 20>;
> - compatible = "fsl,gianfar-mdio";
> -
> - ethernet-phy@0 {
> - ......
> - };
> - };
> +Refer to Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml
>
> * TBI Internal MDIO bus
>
> -As of this writing, every tsec is associated with an internal TBI PHY.
> -This PHY is accessed through the local MDIO bus. These buses are defined
> -similarly to the mdio buses, except they are compatible with "fsl,gianfar-tbi".
> -The TBI PHYs underneath them are similar to normal PHYs, but the reg property
> -is considered instructive, rather than descriptive. The reg property should
> -be chosen so it doesn't interfere with other PHYs on the bus.
> +Refer to Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml
>
> * Gianfar-compatible ethernet nodes
>
>
> --
> 2.48.0.rc1.219.gb6b6757d772
>
Powered by blists - more mailing lists