Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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};