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