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
47Port subnodes:
48
49Optional properties:
50
51- brcm,use-bcm-hdr: boolean property, if present, indicates that the switch
52  port has Broadcom tags enabled (per-packet metadata)
53
54Example:
55
56switch_top@f0b00000 {
57	compatible = "simple-bus";
58	#size-cells = <1>;
59	#address-cells = <1>;
60	ranges = <0 0xf0b00000 0x40804>;
61
62	ethernet_switch@0 {
63		compatible = "brcm,bcm7445-switch-v4.0";
64		#size-cells = <0>;
65		#address-cells = <1>;
66		reg = <0x0 0x40000
67			0x40000 0x110
68			0x40340 0x30
69			0x40380 0x30
70			0x40400 0x34
71			0x40600 0x208>;
72		reg-names = "core", "reg", intrl2_0", "intrl2_1",
73			    "fcb, "acb";
74		interrupts = <0 0x18 0
75				0 0x19 0>;
76		brcm,num-gphy = <1>;
77		brcm,num-rgmii-ports = <2>;
78		brcm,fcb-pause-override;
79		brcm,acb-packets-inflight;
80
81		ports {
82			#address-cells = <1>;
83			#size-cells = <0>;
84
85			port@0 {
86				label = "gphy";
87				reg = <0>;
88			};
89		};
90	};
91};
92
93Example using the old DSA DeviceTree binding:
94
95switch_top@f0b00000 {
96	compatible = "simple-bus";
97	#size-cells = <1>;
98	#address-cells = <1>;
99	ranges = <0 0xf0b00000 0x40804>;
100
101	ethernet_switch@0 {
102		compatible = "brcm,bcm7445-switch-v4.0";
103		#size-cells = <0>;
104		#address-cells = <2>;
105		reg = <0x0 0x40000
106			0x40000 0x110
107			0x40340 0x30
108			0x40380 0x30
109			0x40400 0x34
110			0x40600 0x208>;
111		interrupts = <0 0x18 0
112				0 0x19 0>;
113		brcm,num-gphy = <1>;
114		brcm,num-rgmii-ports = <2>;
115		brcm,fcb-pause-override;
116		brcm,acb-packets-inflight;
117
118		...
119		switch@0 {
120			reg = <0 0>;
121			#size-cells = <0>;
122			#address-cells <1>;
123
124			port@0 {
125				label = "gphy";
126				reg = <0>;
127				brcm,use-bcm-hdr;
128			};
129			...
130		};
131	};
132};
133