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

From: Rob Herring
Date: Fri Apr 30 2021 - 17:53:31 EST


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@xxxxxxx>
> Signed-off-by: Corentin Labbe <clabbe@xxxxxxxxxxxx>
> ---
> 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@xxxxxxx>
> + - Florian Fainelli <f.fainelli@xxxxxxxxx>
> + - Heiner Kallweit <hkallweit1@xxxxxxxxx>
> +
> +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.

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

> +
> +#Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases"
> +#node.
> +unevaluatedProperties: false

additionalProperties:
type: object

To say anything else has to be a child node.

> +
> +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>;
> + };
> + };
> +...
> --
> 2.26.3
>