diff mbox series

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

Message ID 20210430182941.915101-1-clabbe@baylibre.com
State Superseded
Headers show
Series [v3] dt-bindings: net: Convert mdio-gpio to yaml | expand

Commit Message

Corentin Labbe April 30, 2021, 6:29 p.m. UTC
Converts net/mdio-gpio.txt to yaml

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
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

Comments

Corentin Labbe May 3, 2021, 6:20 a.m. UTC | #1
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 <andrew@lunn.ch>
> > Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> > ---
> > 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 <andrew@lunn.ch>
> > +  - Florian Fainelli <f.fainelli@gmail.com>
> > +  - Heiner Kallweit <hkallweit1@gmail.com>
> > +
> > +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
Andrew Lunn May 3, 2021, 12:14 p.m. UTC | #2
> > 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.

The code gets the GPIOs via index. The index are defined in
include/linux/gpio-mdio.h as:

#define MDIO_GPIO_MDC	0
#define MDIO_GPIO_MDIO	1
#define MDIO_GPIO_MDO	2

So you can describe them MDC, MDIO, MDO.

   Andrew
diff mbox series

Patch

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 <andrew@lunn.ch>
+  - Florian Fainelli <f.fainelli@gmail.com>
+  - Heiner Kallweit <hkallweit1@gmail.com>
+
+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.
+
+#Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases"
+#node.
+unevaluatedProperties: false
+
+examples:
+  - |
+    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>;
+      ethphy0: ethernet-phy@0 {
+        reg = <0>;
+      };
+    };
+...