xref: /freebsd/sys/contrib/device-tree/Bindings/net/brcm,bcmgenet.txt (revision ebacd8013fe5f7fdf9f6a5b286f6680dd2891036)
1* Broadcom BCM7xxx Ethernet Controller (GENET)
2
3Required properties:
4- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
5  "brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5", "brcm,bcm2711-genet-v5" or
6  "brcm,bcm7712-genet-v5".
7- reg: address and length of the register set for the device
8- interrupts and/or interrupts-extended: must be two cells, the first cell
9  is the general purpose interrupt line, while the second cell is the
10  interrupt for the ring RX and TX queues operating in ring mode.  An
11  optional third interrupt cell for Wake-on-LAN can be specified.
12  See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
13  for information on the property specifics.
14- phy-mode: see ethernet.txt file in the same directory
15- #address-cells: should be 1
16- #size-cells: should be 1
17
18Optional properties:
19- clocks: When provided, must be two phandles to the functional clocks nodes
20  of the GENET block. The first phandle is the main GENET clock used during
21  normal operation, while the second phandle is the Wake-on-LAN clock.
22- clock-names: When provided, names of the functional clock phandles, first
23  name should be "enet" and second should be "enet-wol".
24
25- phy-handle: See ethernet.txt file in the same directory; used to describe
26  configurations where a PHY (internal or external) is used.
27
28- fixed-link: When the GENET interface is connected to a MoCA hardware block or
29  when operating in a RGMII to RGMII type of connection, or when the MDIO bus is
30  voluntarily disabled, this property should be used to describe the "fixed link".
31  See Documentation/devicetree/bindings/net/fixed-link.txt for information on
32  the property specifics
33
34Required child nodes:
35
36- mdio bus node: this node should always be present regardless of the PHY
37  configuration of the GENET instance
38
39MDIO bus node required properties:
40
41- compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
42  "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5", the version
43  has to match the parent node compatible property (e.g: brcm,genet-v4 pairs
44  with brcm,genet-mdio-v4)
45- reg: address and length relative to the parent node base register address
46- #address-cells: address cell for MDIO bus addressing, should be 1
47- #size-cells: size of the cells for MDIO bus addressing, should be 0
48
49Ethernet PHY node properties:
50
51See Documentation/devicetree/bindings/net/phy.txt for the list of required and
52optional properties.
53
54Internal Gigabit PHY example:
55
56ethernet@f0b60000 {
57	phy-mode = "internal";
58	phy-handle = <&phy1>;
59	mac-address = [ 00 10 18 36 23 1a ];
60	compatible = "brcm,genet-v4";
61	#address-cells = <0x1>;
62	#size-cells = <0x1>;
63	reg = <0xf0b60000 0xfc4c>;
64	interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
65
66	mdio@e14 {
67		compatible = "brcm,genet-mdio-v4";
68		#address-cells = <0x1>;
69		#size-cells = <0x0>;
70		reg = <0xe14 0x8>;
71
72		phy1: ethernet-phy@1 {
73			max-speed = <1000>;
74			reg = <0x1>;
75			compatible = "ethernet-phy-ieee802.3-c22";
76		};
77	};
78};
79
80MoCA interface / MAC to MAC example:
81
82ethernet@f0b80000 {
83	phy-mode = "moca";
84	fixed-link = <1 0 1000 0 0>;
85	mac-address = [ 00 10 18 36 24 1a ];
86	compatible = "brcm,genet-v4";
87	#address-cells = <0x1>;
88	#size-cells = <0x1>;
89	reg = <0xf0b80000 0xfc4c>;
90	interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
91
92	mdio@e14 {
93		compatible = "brcm,genet-mdio-v4";
94		#address-cells = <0x1>;
95		#size-cells = <0x0>;
96		reg = <0xe14 0x8>;
97	};
98};
99
100
101External MDIO-connected Gigabit PHY/switch:
102
103ethernet@f0ba0000 {
104	phy-mode = "rgmii";
105	phy-handle = <&phy0>;
106	mac-address = [ 00 10 18 36 26 1a ];
107	compatible = "brcm,genet-v4";
108	#address-cells = <0x1>;
109	#size-cells = <0x1>;
110	reg = <0xf0ba0000 0xfc4c>;
111	interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
112
113	mdio@e14 {
114		compatible = "brcm,genet-mdio-v4";
115		#address-cells = <0x1>;
116		#size-cells = <0x0>;
117		reg = <0xe14 0x8>;
118
119		phy0: ethernet-phy@0 {
120			max-speed = <1000>;
121			reg = <0x0>;
122			compatible = "ethernet-phy-ieee802.3-c22";
123		};
124	};
125};
126