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
34630c3ff8SFlorian Fainelli      lines of all devices on that MDIO bus.
3562d77ff7SMaxime Ripard
3662d77ff7SMaxime Ripard  reset-delay-us:
3762d77ff7SMaxime Ripard    description:
38630c3ff8SFlorian Fainelli      RESET pulse width in microseconds. It applies to all MDIO devices
39630c3ff8SFlorian Fainelli      and must therefore be appropriately determined based on all devices
40630c3ff8SFlorian Fainelli      requirements (maximum value of all per-device RESET pulse widths).
4162d77ff7SMaxime Ripard
42c44a1b91SBruno Thomsen  reset-post-delay-us:
43c44a1b91SBruno Thomsen    description:
44c44a1b91SBruno Thomsen      Delay after reset deassert in microseconds. It applies to all MDIO
45c44a1b91SBruno Thomsen      devices and it's determined by how fast all devices are ready for
46c44a1b91SBruno Thomsen      communication. This delay happens just before e.g. Ethernet PHY
47c44a1b91SBruno Thomsen      type ID auto detection.
48c44a1b91SBruno Thomsen
493e782985SAndrew Lunn  clock-frequency:
503e782985SAndrew Lunn    description:
513e782985SAndrew Lunn      Desired MDIO bus clock frequency in Hz. Values greater than IEEE 802.3
523e782985SAndrew Lunn      defined 2.5MHz should only be used when all devices on the bus support
533e782985SAndrew Lunn      the given clock speed.
543e782985SAndrew Lunn
553c01eb62SAndrew Lunn  suppress-preamble:
563c01eb62SAndrew Lunn    description:
573c01eb62SAndrew Lunn      The 32 bit preamble should be suppressed. In order for this to
583c01eb62SAndrew Lunn      work, all devices on the bus must support suppressed preamble.
593c01eb62SAndrew Lunn    type: boolean
603c01eb62SAndrew Lunn
615b19b6c3SMaxime RipardpatternProperties:
62*ad31ce56SRob Herring  '@[0-9a-f]+$':
635b19b6c3SMaxime Ripard    type: object
645b19b6c3SMaxime Ripard
655b19b6c3SMaxime Ripard    properties:
665b19b6c3SMaxime Ripard      reg:
675b19b6c3SMaxime Ripard        minimum: 0
685b19b6c3SMaxime Ripard        maximum: 31
695b19b6c3SMaxime Ripard        description:
70630c3ff8SFlorian Fainelli          The ID number for the device.
715b19b6c3SMaxime Ripard
72b92d905fSFlorian Fainelli      broken-turn-around:
73d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/flag
74b92d905fSFlorian Fainelli        description:
75b92d905fSFlorian Fainelli          If set, indicates the MDIO device does not correctly release
76b92d905fSFlorian Fainelli          the turn around line low at end of the control phase of the
77b92d905fSFlorian Fainelli          MDIO transaction.
78b92d905fSFlorian Fainelli
79b92d905fSFlorian Fainelli      resets:
80b92d905fSFlorian Fainelli        maxItems: 1
81b92d905fSFlorian Fainelli
82b92d905fSFlorian Fainelli      reset-names:
83b92d905fSFlorian Fainelli        const: phy
84b92d905fSFlorian Fainelli
85b92d905fSFlorian Fainelli      reset-gpios:
86b92d905fSFlorian Fainelli        maxItems: 1
87b92d905fSFlorian Fainelli        description:
88b92d905fSFlorian Fainelli          The GPIO phandle and specifier for the MDIO reset signal.
89b92d905fSFlorian Fainelli
90b92d905fSFlorian Fainelli      reset-assert-us:
91b92d905fSFlorian Fainelli        description:
92b92d905fSFlorian Fainelli          Delay after the reset was asserted in microseconds. If this
93b92d905fSFlorian Fainelli          property is missing the delay will be skipped.
94b92d905fSFlorian Fainelli
95b92d905fSFlorian Fainelli      reset-deassert-us:
96b92d905fSFlorian Fainelli        description:
97b92d905fSFlorian Fainelli          Delay after the reset was deasserted in microseconds. If
98b92d905fSFlorian Fainelli          this property is missing the delay will be skipped.
99b92d905fSFlorian Fainelli
1005b19b6c3SMaxime Ripard    required:
1015b19b6c3SMaxime Ripard      - reg
1025b19b6c3SMaxime Ripard
1036a0e321eSRob HerringadditionalProperties: true
1046a0e321eSRob Herring
10562d77ff7SMaxime Ripardexamples:
10662d77ff7SMaxime Ripard  - |
10762d77ff7SMaxime Ripard    davinci_mdio: mdio@5c030000 {
10862d77ff7SMaxime Ripard        reg = <0x5c030000 0x1000>;
10962d77ff7SMaxime Ripard        #address-cells = <1>;
11062d77ff7SMaxime Ripard        #size-cells = <0>;
11162d77ff7SMaxime Ripard
11262d77ff7SMaxime Ripard        reset-gpios = <&gpio2 5 1>;
11362d77ff7SMaxime Ripard        reset-delay-us = <2>;
11462d77ff7SMaxime Ripard
11562d77ff7SMaxime Ripard        ethphy0: ethernet-phy@1 {
11662d77ff7SMaxime Ripard            reg = <1>;
11762d77ff7SMaxime Ripard        };
11862d77ff7SMaxime Ripard
11962d77ff7SMaxime Ripard        ethphy1: ethernet-phy@3 {
12062d77ff7SMaxime Ripard            reg = <3>;
12162d77ff7SMaxime Ripard        };
12262d77ff7SMaxime Ripard    };
123