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