]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/net/brcm,bcm7445-switch-v4.0.txt
DTS: Update the device-tree files to Linux 5.5
[FreeBSD/FreeBSD.git] / Bindings / net / brcm,bcm7445-switch-v4.0.txt
1 * Broadcom Starfighter 2 integrated swich
2
3 Required 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
15 Deprecated 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
21 Subnodes:
22
23 The integrated switch subnode should be specified according to the binding
24 described in dsa/dsa.txt.
25
26 Optional 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/binding/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
53 Port subnodes:
54
55 Optional 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
60 Example:
61
62 switch_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
99 Example using the old DSA DeviceTree binding:
100
101 switch_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 };