xref: /freebsd/sys/contrib/device-tree/Bindings/net/brcm,unimac-mdio.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1* Broadcom UniMAC MDIO bus controller
2
3Required properties:
4- compatible: should one from "brcm,genet-mdio-v1", "brcm,genet-mdio-v2",
5  "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5" or
6  "brcm,unimac-mdio"
7- reg: address and length of the register set for the device, first one is the
8  base register, and the second one is optional and for indirect accesses to
9  larger than 16-bits MDIO transactions
10- reg-names: name(s) of the register must be "mdio" and optional "mdio_indir_rw"
11- #size-cells: must be 1
12- #address-cells: must be 0
13
14Optional properties:
15- interrupts: must be one if the interrupt is shared with the Ethernet MAC or
16  Ethernet switch this MDIO block is integrated from, or must be two, if there
17  are two separate interrupts, first one must be "mdio done" and second must be
18  for "mdio error"
19- interrupt-names: must be "mdio_done_error" when there is a share interrupt fed
20  to this hardware block, or must be "mdio_done" for the first interrupt and
21  "mdio_error" for the second when there are separate interrupts
22- clocks: A reference to the clock supplying the MDIO bus controller
23- clock-frequency: the MDIO bus clock that must be output by the MDIO bus
24  hardware, if absent, the default hardware values are used
25
26Child nodes of this MDIO bus controller node are standard Ethernet PHY device
27nodes as described in Documentation/devicetree/bindings/net/phy.txt
28
29Example:
30
31mdio@403c0 {
32	compatible = "brcm,unimac-mdio";
33	reg = <0x403c0 0x8 0x40300 0x18>;
34	reg-names = "mdio", "mdio_indir_rw";
35	#size-cells = <1>;
36	#address-cells = <0>;
37
38	...
39	phy@0 {
40		compatible = "ethernet-phy-ieee802.3-c22";
41		reg = <0>;
42	};
43};
44