Merge tag 'docs-4.9-2' of git://git.lwn.net/linux
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / net / brcm,bcm7445-switch-v4.0.txt
1 * Broadcom Starfighter 2 integrated swich
2
3 Required properties:
4
5 - compatible: should be "brcm,bcm7445-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
12 Deprecated 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
18 Subnodes:
19
20 The integrated switch subnode should be specified according to the binding
21 described in dsa/dsa.txt.
22
23 Optional 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
44 Example:
45
46 switch_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
83 Example using the old DSA DeviceTree binding:
84
85 switch_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 };