xref: /freebsd/sys/contrib/device-tree/Bindings/net/cavium-mdio.txt (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1* System Management Interface (SMI) / MDIO
2
3Properties:
4- compatible: One of:
5
6   "cavium,octeon-3860-mdio": Compatibility with all cn3XXX, cn5XXX
7                       and cn6XXX SOCs.
8
9   "cavium,thunder-8890-mdio": Compatibility with all cn8XXX SOCs.
10
11- reg: The base address of the MDIO bus controller register bank.
12
13- #address-cells: Must be <1>.
14
15- #size-cells: Must be <0>.  MDIO addresses have no size component.
16
17Typically an MDIO bus might have several children.
18
19Example:
20	mdio@1180000001800 {
21		compatible = "cavium,octeon-3860-mdio";
22		#address-cells = <1>;
23		#size-cells = <0>;
24		reg = <0x11800 0x00001800 0x0 0x40>;
25
26		ethernet-phy@0 {
27			...
28			reg = <0>;
29		};
30	};
31
32
33* System Management Interface (SMI) / MDIO Nexus
34
35  Several mdio buses may be gathered as children of a single PCI
36  device, this PCI device is the nexus of the buses.
37
38Properties:
39
40- compatible: "cavium,thunder-8890-mdio-nexus";
41
42- reg: The PCI device and function numbers of the nexus device.
43
44- #address-cells: Must be <2>.
45
46- #size-cells: Must be <2>.
47
48- ranges: As needed for mapping of the MDIO bus device registers.
49
50- assigned-addresses: As needed for mapping of the MDIO bus device registers.
51
52Example:
53
54        mdio-nexus@1,3 {
55                compatible = "cavium,thunder-8890-mdio-nexus";
56                #address-cells = <2>;
57                #size-cells = <2>;
58                reg = <0x0b00 0 0 0 0>; /* DEVFN = 0x0b (1:3) */
59                assigned-addresses = <0x03000000 0x87e0 0x05000000 0x0 0x800000>;
60                ranges = <0x87e0 0x05000000 0x03000000 0x87e0 0x05000000 0x0 0x800000>;
61
62                mdio0@87e0,05003800 {
63                        compatible = "cavium,thunder-8890-mdio";
64                        #address-cells = <1>;
65                        #size-cells = <0>;
66                        reg = <0x87e0 0x05003800 0x0 0x30>;
67
68                        ethernet-phy@0 {
69                                ...
70                                reg = <0>;
71                        };
72                };
73                mdio0@87e0,05003880 {
74                        compatible = "cavium,thunder-8890-mdio";
75                        #address-cells = <1>;
76                        #size-cells = <0>;
77                        reg = <0x87e0 0x05003880 0x0 0x30>;
78
79                        ethernet-phy@0 {
80                                ...
81                                reg = <0>;
82                        };
83                };
84        };
85