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