1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/dsa/brcm,b53.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom BCM53xx Ethernet switches
8
9 maintainers:
10 - Florian Fainelli <f.fainelli@gmail.com>
11
12 description:
13 Broadcom BCM53xx Ethernet switches
14
15 properties:
16 compatible:
17 oneOf:
18 - const: brcm,bcm5325
19 - const: brcm,bcm53115
20 - const: brcm,bcm53125
21 - const: brcm,bcm53128
22 - const: brcm,bcm5365
23 - const: brcm,bcm5395
24 - const: brcm,bcm5389
25 - const: brcm,bcm5397
26 - const: brcm,bcm5398
27 - items:
28 - const: brcm,bcm11360-srab
29 - const: brcm,cygnus-srab
30 - items:
31 - enum:
32 - brcm,bcm53010-srab
33 - brcm,bcm53011-srab
34 - brcm,bcm53012-srab
35 - brcm,bcm53018-srab
36 - brcm,bcm53019-srab
37 - const: brcm,bcm5301x-srab
38 - items:
39 - enum:
40 - brcm,bcm11404-srab
41 - brcm,bcm11407-srab
42 - brcm,bcm11409-srab
43 - brcm,bcm58310-srab
44 - brcm,bcm58311-srab
45 - brcm,bcm58313-srab
46 - const: brcm,omega-srab
47 - items:
48 - enum:
49 - brcm,bcm58522-srab
50 - brcm,bcm58523-srab
51 - brcm,bcm58525-srab
52 - brcm,bcm58622-srab
53 - brcm,bcm58623-srab
54 - brcm,bcm58625-srab
55 - brcm,bcm88312-srab
56 - const: brcm,nsp-srab
57 - items:
58 - enum:
59 - brcm,bcm3384-switch
60 - brcm,bcm6328-switch
61 - brcm,bcm6368-switch
62 - const: brcm,bcm63xx-switch
63
64 required:
65 - compatible
66 - reg
67
68 allOf:
69 - $ref: dsa.yaml#
70 - if:
71 properties:
72 compatible:
73 contains:
74 enum:
75 - brcm,bcm5325
76 - brcm,bcm53115
77 - brcm,bcm53125
78 - brcm,bcm53128
79 - brcm,bcm5365
80 - brcm,bcm5395
81 - brcm,bcm5397
82 - brcm,bcm5398
83 then:
84 $ref: /schemas/spi/spi-peripheral-props.yaml
85
86 # BCM585xx/586xx/88312 SoCs
87 - if:
88 properties:
89 compatible:
90 contains:
91 enum:
92 - brcm,bcm58522-srab
93 - brcm,bcm58523-srab
94 - brcm,bcm58525-srab
95 - brcm,bcm58622-srab
96 - brcm,bcm58623-srab
97 - brcm,bcm58625-srab
98 - brcm,bcm88312-srab
99 then:
100 properties:
101 reg:
102 minItems: 3
103 maxItems: 3
104 reg-names:
105 items:
106 - const: srab
107 - const: mux_config
108 - const: sgmii_config
109 interrupts:
110 minItems: 13
111 maxItems: 13
112 interrupt-names:
113 items:
114 - const: link_state_p0
115 - const: link_state_p1
116 - const: link_state_p2
117 - const: link_state_p3
118 - const: link_state_p4
119 - const: link_state_p5
120 - const: link_state_p7
121 - const: link_state_p8
122 - const: phy
123 - const: ts
124 - const: imp_sleep_timer_p5
125 - const: imp_sleep_timer_p7
126 - const: imp_sleep_timer_p8
127 required:
128 - interrupts
129 else:
130 properties:
131 reg:
132 maxItems: 1
133
134 unevaluatedProperties: false
135
136 examples:
137 - |
138 mdio {
139 #address-cells = <1>;
140 #size-cells = <0>;
141
142 ethernet-switch@1e {
143 compatible = "brcm,bcm53125";
144 reg = <30>;
145
146 ethernet-ports {
147 #address-cells = <1>;
148 #size-cells = <0>;
149
150 port@0 {
151 reg = <0>;
152 label = "lan1";
153 };
154
155 port@1 {
156 reg = <1>;
157 label = "lan2";
158 };
159
160 port@5 {
161 reg = <5>;
162 label = "cable-modem";
163 phy-mode = "rgmii-txid";
164 fixed-link {
165 speed = <1000>;
166 full-duplex;
167 };
168 };
169
170 port@8 {
171 reg = <8>;
172 label = "cpu";
173 phy-mode = "rgmii-txid";
174 ethernet = <ð0>;
175 fixed-link {
176 speed = <1000>;
177 full-duplex;
178 };
179 };
180 };
181 };
182 };
183 - |
184 #include <dt-bindings/interrupt-controller/arm-gic.h>
185 #include <dt-bindings/interrupt-controller/irq.h>
186
187 axi {
188 #address-cells = <1>;
189 #size-cells = <1>;
190
191 switch@36000 {
192 compatible = "brcm,bcm58623-srab", "brcm,nsp-srab";
193 reg = <0x36000 0x1000>,
194 <0x3f308 0x8>,
195 <0x3f410 0xc>;
196 reg-names = "srab", "mux_config", "sgmii_config";
197 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
198 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
199 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
200 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
201 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
202 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
203 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
204 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
205 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
206 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
207 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
208 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
209 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
210 interrupt-names = "link_state_p0",
211 "link_state_p1",
212 "link_state_p2",
213 "link_state_p3",
214 "link_state_p4",
215 "link_state_p5",
216 "link_state_p7",
217 "link_state_p8",
218 "phy",
219 "ts",
220 "imp_sleep_timer_p5",
221 "imp_sleep_timer_p7",
222 "imp_sleep_timer_p8";
223
224 ethernet-ports {
225 #address-cells = <1>;
226 #size-cells = <0>;
227
228 port@0 {
229 label = "port0";
230 reg = <0>;
231 };
232
233 port@1 {
234 label = "port1";
235 reg = <1>;
236 };
237
238 port@2 {
239 label = "port2";
240 reg = <2>;
241 };
242
243 port@3 {
244 label = "port3";
245 reg = <3>;
246 };
247
248 port@4 {
249 label = "port4";
250 reg = <4>;
251 };
252
253 port@8 {
254 ethernet = <&amac2>;
255 label = "cpu";
256 reg = <8>;
257 fixed-link {
258 speed = <1000>;
259 full-duplex;
260 };
261 };
262 };
263 };
264 };
Cache object: 3ed995a3fec8557fe23cf338d34c6be7
|