1*d30e82a6SCorentin Labbe# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*d30e82a6SCorentin Labbe%YAML 1.2
3*d30e82a6SCorentin Labbe---
4*d30e82a6SCorentin Labbe$id: http://devicetree.org/schemas/net/mdio-gpio.yaml#
5*d30e82a6SCorentin Labbe$schema: http://devicetree.org/meta-schemas/core.yaml#
6*d30e82a6SCorentin Labbe
7*d30e82a6SCorentin Labbetitle: MDIO on GPIOs
8*d30e82a6SCorentin Labbe
9*d30e82a6SCorentin Labbemaintainers:
10*d30e82a6SCorentin Labbe  - Andrew Lunn <andrew@lunn.ch>
11*d30e82a6SCorentin Labbe  - Heiner Kallweit <hkallweit1@gmail.com>
12*d30e82a6SCorentin Labbe  - Russell King <linux@armlinux.org.uk>
13*d30e82a6SCorentin Labbe
14*d30e82a6SCorentin LabbeallOf:
15*d30e82a6SCorentin Labbe  - $ref: "mdio.yaml#"
16*d30e82a6SCorentin Labbe
17*d30e82a6SCorentin Labbeproperties:
18*d30e82a6SCorentin Labbe  compatible:
19*d30e82a6SCorentin Labbe    enum:
20*d30e82a6SCorentin Labbe      - virtual,mdio-gpio
21*d30e82a6SCorentin Labbe      - microchip,mdio-smi0
22*d30e82a6SCorentin Labbe
23*d30e82a6SCorentin Labbe  "#address-cells":
24*d30e82a6SCorentin Labbe    const: 1
25*d30e82a6SCorentin Labbe
26*d30e82a6SCorentin Labbe  "#size-cells":
27*d30e82a6SCorentin Labbe    const: 0
28*d30e82a6SCorentin Labbe
29*d30e82a6SCorentin Labbe  gpios:
30*d30e82a6SCorentin Labbe    minItems: 2
31*d30e82a6SCorentin Labbe    maxItems: 3
32*d30e82a6SCorentin Labbe    items:
33*d30e82a6SCorentin Labbe      - description: MDC
34*d30e82a6SCorentin Labbe      - description: MDIO
35*d30e82a6SCorentin Labbe      - description: MDO
36*d30e82a6SCorentin Labbe
37*d30e82a6SCorentin Labbe#Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases"
38*d30e82a6SCorentin Labbe#node.
39*d30e82a6SCorentin LabbeadditionalProperties:
40*d30e82a6SCorentin Labbe  type: object
41*d30e82a6SCorentin Labbe
42*d30e82a6SCorentin Labbeexamples:
43*d30e82a6SCorentin Labbe  - |
44*d30e82a6SCorentin Labbe    aliases {
45*d30e82a6SCorentin Labbe        mdio-gpio0 = &mdio0;
46*d30e82a6SCorentin Labbe    };
47*d30e82a6SCorentin Labbe
48*d30e82a6SCorentin Labbe    mdio0: mdio {
49*d30e82a6SCorentin Labbe      compatible = "virtual,mdio-gpio";
50*d30e82a6SCorentin Labbe      #address-cells = <1>;
51*d30e82a6SCorentin Labbe      #size-cells = <0>;
52*d30e82a6SCorentin Labbe      gpios = <&qe_pio_a 11>,
53*d30e82a6SCorentin Labbe              <&qe_pio_c 6>;
54*d30e82a6SCorentin Labbe      ethphy0: ethernet-phy@0 {
55*d30e82a6SCorentin Labbe        reg = <0>;
56*d30e82a6SCorentin Labbe      };
57*d30e82a6SCorentin Labbe    };
58*d30e82a6SCorentin Labbe...
59