Merge branch 'i2c/for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / net / mdio.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/mdio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: MDIO Bus Generic Binding
8
9 maintainers:
10   - Andrew Lunn <andrew@lunn.ch>
11   - Florian Fainelli <f.fainelli@gmail.com>
12   - Heiner Kallweit <hkallweit1@gmail.com>
13
14 description:
15   These are generic properties that can apply to any MDIO bus. Any
16   MDIO bus must have a list of child nodes, one per device on the
17   bus. These should follow the generic ethernet-phy.yaml document, or
18   a device specific binding document.
19
20 properties:
21   $nodename:
22     pattern: "^mdio(@.*)?"
23
24   "#address-cells":
25     const: 1
26
27   "#size-cells":
28     const: 0
29
30   reset-gpios:
31     maxItems: 1
32     description:
33       The phandle and specifier for the GPIO that controls the RESET
34       lines of all devices on that MDIO bus.
35
36   reset-delay-us:
37     description:
38       RESET pulse width in microseconds. It applies to all MDIO devices
39       and must therefore be appropriately determined based on all devices
40       requirements (maximum value of all per-device RESET pulse widths).
41
42   clock-frequency:
43     description:
44       Desired MDIO bus clock frequency in Hz. Values greater than IEEE 802.3
45       defined 2.5MHz should only be used when all devices on the bus support
46       the given clock speed.
47
48   suppress-preamble:
49     description:
50       The 32 bit preamble should be suppressed. In order for this to
51       work, all devices on the bus must support suppressed preamble.
52     type: boolean
53
54 patternProperties:
55   "^ethernet-phy@[0-9a-f]+$":
56     type: object
57
58     properties:
59       reg:
60         minimum: 0
61         maximum: 31
62         description:
63           The ID number for the device.
64
65       broken-turn-around:
66         $ref: /schemas/types.yaml#definitions/flag
67         description:
68           If set, indicates the MDIO device does not correctly release
69           the turn around line low at end of the control phase of the
70           MDIO transaction.
71
72       resets:
73         maxItems: 1
74
75       reset-names:
76         const: phy
77
78       reset-gpios:
79         maxItems: 1
80         description:
81           The GPIO phandle and specifier for the MDIO reset signal.
82
83       reset-assert-us:
84         description:
85           Delay after the reset was asserted in microseconds. If this
86           property is missing the delay will be skipped.
87
88       reset-deassert-us:
89         description:
90           Delay after the reset was deasserted in microseconds. If
91           this property is missing the delay will be skipped.
92
93     required:
94       - reg
95
96 examples:
97   - |
98     davinci_mdio: mdio@5c030000 {
99         reg = <0x5c030000 0x1000>;
100         #address-cells = <1>;
101         #size-cells = <0>;
102
103         reset-gpios = <&gpio2 5 1>;
104         reset-delay-us = <2>;
105
106         ethphy0: ethernet-phy@1 {
107             reg = <1>;
108         };
109
110         ethphy1: ethernet-phy@3 {
111             reg = <3>;
112         };
113     };