devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: "J. Neuschäfer" <j.ne@posteo.net>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] dt-bindings: net: Convert fsl,gianfar-{mdio,tbi} to YAML
Date: Fri, 21 Feb 2025 10:36:51 -0600	[thread overview]
Message-ID: <20250221163651.GA4130188-robh@kernel.org> (raw)
In-Reply-To: <20250220-gianfar-yaml-v1-1-0ba97fd1ef92@posteo.net>

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@posteo.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@posteo.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@24520 {
> +            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@24520 {
> -		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
> 

  reply	other threads:[~2025-02-21 16:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-20 17:29 [PATCH 0/3] net: Convert Gianfar (Triple Speed Ethernet Controller) bindings to YAML J. Neuschäfer via B4 Relay
2025-02-20 17:29 ` [PATCH 1/3] dt-bindings: net: Convert fsl,gianfar-{mdio,tbi} " J. Neuschäfer via B4 Relay
2025-02-21 16:36   ` Rob Herring [this message]
2025-02-24 20:58     ` J. Neuschäfer
2025-02-25 11:12       ` J. Neuschäfer
2025-02-26 13:31         ` Rob Herring
2025-02-26 14:59           ` J. Neuschäfer
2025-02-28 13:38             ` Rob Herring
2025-02-20 17:29 ` [PATCH 2/3] dt-bindings: net: fsl,gianfar-mdio: Update information about TBI J. Neuschäfer via B4 Relay
2025-02-21 23:23   ` Rob Herring (Arm)
2025-02-20 17:29 ` [PATCH 3/3] dt-bindings: net: Convert fsl,gianfar to YAML J. Neuschäfer via B4 Relay
2025-02-20 18:02   ` Andrew Lunn
2025-02-21 11:51     ` J. Neuschäfer
2025-02-20 19:01   ` Rob Herring (Arm)
2025-02-21 23:35   ` Rob Herring
2025-02-25 10:44     ` J. Neuschäfer
2025-02-28 13:52       ` Rob Herring
2025-02-27 13:10   ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250221163651.GA4130188-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=j.ne@posteo.net \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).