162d77ff7SMaxime Ripard# SPDX-License-Identifier: GPL-2.0
262d77ff7SMaxime Ripard%YAML 1.2
362d77ff7SMaxime Ripard---
462d77ff7SMaxime Ripard$id: http://devicetree.org/schemas/net/mdio.yaml#
562d77ff7SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
662d77ff7SMaxime Ripard
762d77ff7SMaxime Ripardtitle: MDIO Bus Generic Binding
862d77ff7SMaxime Ripard
962d77ff7SMaxime Ripardmaintainers:
1062d77ff7SMaxime Ripard  - Andrew Lunn <andrew@lunn.ch>
1162d77ff7SMaxime Ripard  - Florian Fainelli <f.fainelli@gmail.com>
1262d77ff7SMaxime Ripard  - Heiner Kallweit <hkallweit1@gmail.com>
1362d77ff7SMaxime Ripard
1462d77ff7SMaxime Riparddescription:
1562d77ff7SMaxime Ripard  These are generic properties that can apply to any MDIO bus. Any
1662d77ff7SMaxime Ripard  MDIO bus must have a list of child nodes, one per device on the
1762d77ff7SMaxime Ripard  bus. These should follow the generic ethernet-phy.yaml document, or
1862d77ff7SMaxime Ripard  a device specific binding document.
1962d77ff7SMaxime Ripard
2062d77ff7SMaxime Ripardproperties:
214c2c04c2SMaxime Ripard  $nodename:
224c2c04c2SMaxime Ripard    pattern: "^mdio(@.*)?"
234c2c04c2SMaxime Ripard
24960ebc8aSMaxime Ripard  "#address-cells":
25960ebc8aSMaxime Ripard    const: 1
26960ebc8aSMaxime Ripard
27960ebc8aSMaxime Ripard  "#size-cells":
28960ebc8aSMaxime Ripard    const: 0
29960ebc8aSMaxime Ripard
3062d77ff7SMaxime Ripard  reset-gpios:
3162d77ff7SMaxime Ripard    maxItems: 1
3262d77ff7SMaxime Ripard    description:
3362d77ff7SMaxime Ripard      The phandle and specifier for the GPIO that controls the RESET
3462d77ff7SMaxime Ripard      lines of all PHYs on that MDIO bus.
3562d77ff7SMaxime Ripard
3662d77ff7SMaxime Ripard  reset-delay-us:
3762d77ff7SMaxime Ripard    description:
3862d77ff7SMaxime Ripard      RESET pulse width in microseconds. It applies to all PHY devices
3962d77ff7SMaxime Ripard      and must therefore be appropriately determined based on all PHY
4062d77ff7SMaxime Ripard      requirements (maximum value of all per-PHY RESET pulse widths).
4162d77ff7SMaxime Ripard
425b19b6c3SMaxime RipardpatternProperties:
435b19b6c3SMaxime Ripard  "^ethernet-phy@[0-9a-f]+$":
445b19b6c3SMaxime Ripard    type: object
455b19b6c3SMaxime Ripard
465b19b6c3SMaxime Ripard    properties:
475b19b6c3SMaxime Ripard      reg:
485b19b6c3SMaxime Ripard        minimum: 0
495b19b6c3SMaxime Ripard        maximum: 31
505b19b6c3SMaxime Ripard        description:
515b19b6c3SMaxime Ripard          The ID number for the PHY.
525b19b6c3SMaxime Ripard
535b19b6c3SMaxime Ripard    required:
545b19b6c3SMaxime Ripard      - reg
555b19b6c3SMaxime Ripard
5662d77ff7SMaxime Ripardexamples:
5762d77ff7SMaxime Ripard  - |
5862d77ff7SMaxime Ripard    davinci_mdio: mdio@5c030000 {
5962d77ff7SMaxime Ripard        compatible = "ti,davinci_mdio";
6062d77ff7SMaxime Ripard        reg = <0x5c030000 0x1000>;
6162d77ff7SMaxime Ripard        #address-cells = <1>;
6262d77ff7SMaxime Ripard        #size-cells = <0>;
6362d77ff7SMaxime Ripard
6462d77ff7SMaxime Ripard        reset-gpios = <&gpio2 5 1>;
6562d77ff7SMaxime Ripard        reset-delay-us = <2>;
6662d77ff7SMaxime Ripard
6762d77ff7SMaxime Ripard        ethphy0: ethernet-phy@1 {
6862d77ff7SMaxime Ripard            reg = <1>;
6962d77ff7SMaxime Ripard        };
7062d77ff7SMaxime Ripard
7162d77ff7SMaxime Ripard        ethphy1: ethernet-phy@3 {
7262d77ff7SMaxime Ripard            reg = <3>;
7362d77ff7SMaxime Ripard        };
7462d77ff7SMaxime Ripard    };
75