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