Subject: Re: [PATCH v3] dt-bindings: net: Convert mdio-gpio to yaml

From: LABBE Corentin <[email-masked]>
Date: Mon, 3 May 2021 08:20:45 +0200

Le Fri, Apr 30, 2021 at 04:53:25PM -0500, Rob Herring a écrit :
> On Fri, Apr 30, 2021 at 06:29:41PM +0000, Corentin Labbe wrote:
> > Converts net/mdio-gpio.txt to yaml
> > 
> > Reviewed-by: Andrew Lunn <[email-masked]>
> > Signed-off-by: Corentin Labbe <[email-masked]>
> > ---
> > Changes since v1:
> > - fixes yamllint warning about indent
> > - added maxItems 3
> > 
> > Changes since v2:
> > - fixed example (gpios need 2 entries)
> > 
> >  .../devicetree/bindings/net/mdio-gpio.txt     | 27 ---------
> >  .../devicetree/bindings/net/mdio-gpio.yaml    | 57 +++++++++++++++++++
> >  2 files changed, 57 insertions(+), 27 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/net/mdio-gpio.txt
> >  create mode 100644 Documentation/devicetree/bindings/net/mdio-gpio.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/net/mdio-gpio.txt b/Documentation/devicetree/bindings/net/mdio-gpio.txt
> > deleted file mode 100644
> > index 4d91a36c5cf5..000000000000
> > --- a/Documentation/devicetree/bindings/net/mdio-gpio.txt
> > +++ /dev/null
> > @@ -1,27 +0,0 @@
> > -MDIO on GPIOs
> > -
> > -Currently defined compatibles:
> > -- virtual,gpio-mdio
> > -- microchip,mdio-smi0
> > -
> > -MDC and MDIO lines connected to GPIO controllers are listed in the
> > -gpios property as described in section VIII.1 in the following order:
> > -
> > -MDC, MDIO.
> > -
> > -Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases"
> > -node.
> > -
> > -Example:
> > -
> > -aliases {
> > -	mdio-gpio0 = &mdio0;
> > -};
> > -
> > -mdio0: mdio {
> > -	compatible = "virtual,mdio-gpio";
> > -	#address-cells = <1>;
> > -	#size-cells = <0>;
> > -	gpios = <&qe_pio_a 11
> > -		 &qe_pio_c 6>;
> > -};
> > diff --git a/Documentation/devicetree/bindings/net/mdio-gpio.yaml b/Documentation/devicetree/bindings/net/mdio-gpio.yaml
> > new file mode 100644
> > index 000000000000..183cf248d597
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/mdio-gpio.yaml
> > @@ -0,0 +1,57 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/mdio-gpio.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MDIO on GPIOs
> > +
> > +maintainers:
> > +  - Andrew Lunn <[email-masked]>
> > +  - Florian Fainelli <[email-masked]>
> > +  - Heiner Kallweit <[email-masked]>
> > +
> > +allOf:
> > +  - $ref: "mdio.yaml#"
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - virtual,mdio-gpio
> > +      - microchip,mdio-smi0
> > +
> > +  "#address-cells":
> > +    const: 1
> > +
> > +  "#size-cells":
> > +    const: 0
> > +
> > +  gpios:
> > +    minItems: 2
> > +    maxItems: 3
> > +    description: |
> > +      MDC and MDIO lines connected to GPIO controllers are listed in
> > +      the gpios property as described in section VIII.1 in the
> > +      following order: MDC, MDIO.
> 
> section VIII.1 of what? Might be in DT spec, but if so the section is 
> different for sure.
> 

It cames from Documentation/powerpc/booting-without-of.txt and was removed more than 10 years ago.
So the reference could be removed.

> What's the order with 3 lines? In any case, define the order with 
> schema:
> 
> minItems:
> items:
>   - description: MDC signal
>   - description: MDIO or ?? signal
>   - description: ?? signal
> 

I dont know what to write in the third line, I added the "maxItems: 3" by request of Andrew Lunn.
But I have no example at hand.

Andrew could you give me an example of:	"You often find with x86 machines you don't have GPIOs, just GPI
and GPO, and you need to combine two to form the MDIO line of the MDIO bus."
Or could I drop the "maxItems: 3" until a board need it.

Regards