xref: /freebsd/sys/contrib/device-tree/Bindings/net/brcm,bcm7445-switch-v4.0.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1* Broadcom Starfighter 2 integrated swich
2
3Required properties:
4
5- compatible: should be one of
6	"brcm,bcm7445-switch-v4.0"
7	"brcm,bcm7278-switch-v4.0"
8	"brcm,bcm7278-switch-v4.8"
9- reg: addresses and length of the register sets for the device, must be 6
10  pairs of register addresses and lengths
11- interrupts: interrupts for the devices, must be two interrupts
12- #address-cells: must be 1, see dsa/dsa.txt
13- #size-cells: must be 0, see dsa/dsa.txt
14
15Deprecated binding required properties:
16
17- dsa,mii-bus: phandle to the MDIO bus controller, see dsa/dsa.txt
18- dsa,ethernet: phandle to the CPU network interface controller, see dsa/dsa.txt
19- #address-cells: must be 2, see dsa/dsa.txt
20
21Subnodes:
22
23The integrated switch subnode should be specified according to the binding
24described in dsa/dsa.txt.
25
26Optional properties:
27
28- reg-names: litteral names for the device base register addresses, when present
29  must be: "core", "reg", "intrl2_0", "intrl2_1", "fcb", "acb"
30
31- interrupt-names: litternal names for the device interrupt lines, when present
32  must be: "switch_0" and "switch_1"
33
34- brcm,num-gphy: specify the maximum number of integrated gigabit PHYs in the
35  switch
36
37- brcm,num-rgmii-ports: specify the maximum number of RGMII interfaces supported
38  by the switch
39
40- brcm,fcb-pause-override: boolean property, if present indicates that the switch
41  supports Failover Control Block pause override capability
42
43- brcm,acb-packets-inflight: boolean property, if present indicates that the switch
44  Admission Control Block supports reporting the number of packets in-flight in a
45  switch queue
46
47- resets: a single phandle and reset identifier pair. See
48  Documentation/devicetree/bindings/reset/reset.txt for details.
49
50- reset-names: If the "reset" property is specified, this property should have
51  the value "switch" to denote the switch reset line.
52
53Port subnodes:
54
55Optional properties:
56
57- brcm,use-bcm-hdr: boolean property, if present, indicates that the switch
58  port has Broadcom tags enabled (per-packet metadata)
59
60Example:
61
62switch_top@f0b00000 {
63	compatible = "simple-bus";
64	#size-cells = <1>;
65	#address-cells = <1>;
66	ranges = <0 0xf0b00000 0x40804>;
67
68	ethernet_switch@0 {
69		compatible = "brcm,bcm7445-switch-v4.0";
70		#size-cells = <0>;
71		#address-cells = <1>;
72		reg = <0x0 0x40000
73			0x40000 0x110
74			0x40340 0x30
75			0x40380 0x30
76			0x40400 0x34
77			0x40600 0x208>;
78		reg-names = "core", "reg", intrl2_0", "intrl2_1",
79			    "fcb, "acb";
80		interrupts = <0 0x18 0
81				0 0x19 0>;
82		brcm,num-gphy = <1>;
83		brcm,num-rgmii-ports = <2>;
84		brcm,fcb-pause-override;
85		brcm,acb-packets-inflight;
86
87		ports {
88			#address-cells = <1>;
89			#size-cells = <0>;
90
91			port@0 {
92				label = "gphy";
93				reg = <0>;
94			};
95		};
96	};
97};
98
99Example using the old DSA DeviceTree binding:
100
101switch_top@f0b00000 {
102	compatible = "simple-bus";
103	#size-cells = <1>;
104	#address-cells = <1>;
105	ranges = <0 0xf0b00000 0x40804>;
106
107	ethernet_switch@0 {
108		compatible = "brcm,bcm7445-switch-v4.0";
109		#size-cells = <0>;
110		#address-cells = <2>;
111		reg = <0x0 0x40000
112			0x40000 0x110
113			0x40340 0x30
114			0x40380 0x30
115			0x40400 0x34
116			0x40600 0x208>;
117		interrupts = <0 0x18 0
118				0 0x19 0>;
119		brcm,num-gphy = <1>;
120		brcm,num-rgmii-ports = <2>;
121		brcm,fcb-pause-override;
122		brcm,acb-packets-inflight;
123
124		...
125		switch@0 {
126			reg = <0 0>;
127			#size-cells = <0>;
128			#address-cells <1>;
129
130			port@0 {
131				label = "gphy";
132				reg = <0>;
133				brcm,use-bcm-hdr;
134			};
135			...
136		};
137	};
138};
139