ipq806x: convert each device to DSA implementation
[openwrt/openwrt.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8064-ad7200-c2600.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq8064-v2.0-smb208.dtsi"
4
5 #include <dt-bindings/input/input.h>
6
7 / {
8 memory@0 {
9 reg = <0x42000000 0x1e000000>;
10 device_type = "memory";
11 };
12
13 reserved-memory {
14 ramoops@42100000 {
15 compatible = "ramoops";
16 reg = <0x42100000 0x40000>;
17 record-size = <0x4000>;
18 console-size = <0x4000>;
19 ftrace-size = <0x4000>;
20 pmsg-size = <0x4000>;
21 };
22 };
23
24 aliases {
25 mdio-gpio0 = &mdio0;
26 label-mac-device = &gmac2;
27 };
28 };
29
30 &qcom_pinmux {
31 spi_pins: spi_pins {
32 mux {
33 pins = "gpio18", "gpio19", "gpio21";
34 function = "gsbi5";
35 bias-pull-down;
36 };
37
38 data {
39 pins = "gpio18", "gpio19";
40 drive-strength = <10>;
41 };
42
43 cs {
44 pins = "gpio20";
45 function = "gpio";
46 drive-strength = <10>;
47 bias-pull-up;
48 };
49
50 clk {
51 pins = "gpio21";
52 drive-strength = <12>;
53 };
54 };
55
56 usb0_pwr_en_pin: usb0_pwr_en_pin {
57 mux {
58 pins = "gpio25";
59 function = "gpio";
60 drive-strength = <10>;
61 bias-pull-up;
62 output-high;
63 };
64 };
65
66 usb1_pwr_en_pin: usb1_pwr_en_pin {
67 mux {
68 pins = "gpio23";
69 function = "gpio";
70 drive-strength = <10>;
71 bias-pull-up;
72 output-high;
73 };
74 };
75 };
76
77 &gsbi5 {
78 qcom,mode = <GSBI_PROT_SPI>;
79 status = "okay";
80
81 spi@1a280000 {
82 status = "okay";
83
84 pinctrl-0 = <&spi_pins>;
85 pinctrl-names = "default";
86
87 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
88
89 flash@0 {
90 compatible = "jedec,spi-nor";
91 #address-cells = <1>;
92 #size-cells = <1>;
93 spi-max-frequency = <50000000>;
94 reg = <0>;
95
96 partitions {
97 compatible = "fixed-partitions";
98 #address-cells = <1>;
99 #size-cells = <1>;
100
101 partition@0 {
102 label = "SBL1";
103 reg = <0x0 0x20000>;
104 read-only;
105 };
106
107 partition@20000 {
108 label = "MIBIB";
109 reg = <0x20000 0x20000>;
110 read-only;
111 };
112
113 partition@40000 {
114 label = "SBL2";
115 reg = <0x40000 0x20000>;
116 read-only;
117 };
118
119 partition@60000 {
120 label = "SBL3";
121 reg = <0x60000 0x30000>;
122 read-only;
123 };
124
125 partition@90000 {
126 label = "DDRCONFIG";
127 reg = <0x90000 0x10000>;
128 read-only;
129 };
130
131 partition@a0000 {
132 label = "SSD";
133 reg = <0xa0000 0x10000>;
134 read-only;
135 };
136
137 partition@b0000 {
138 label = "TZ";
139 reg = <0xb0000 0x30000>;
140 read-only;
141 };
142
143 partition@e0000 {
144 label = "RPM";
145 reg = <0xe0000 0x20000>;
146 read-only;
147 };
148
149 partition@100000 {
150 label = "fs-uboot";
151 reg = <0x100000 0x70000>;
152 read-only;
153 };
154
155 partition@170000 {
156 label = "uboot-env";
157 reg = <0x170000 0x40000>;
158 read-only;
159 };
160
161 partition@1b0000 {
162 label = "radio";
163 reg = <0x1b0000 0x40000>;
164 read-only;
165 compatible = "nvmem-cells";
166 #address-cells = <1>;
167 #size-cells = <1>;
168
169 precal_radio_1000: precal@1000 {
170 reg = <0x1000 0x2f20>;
171 };
172
173 precal_radio_5000: precal@5000 {
174 reg = <0x5000 0x2f20>;
175 };
176 };
177
178 partition@1f0000 {
179 label = "os-image";
180 reg = <0x1f0000 0x400000>;
181 };
182
183 partition@5f0000 {
184 label = "rootfs";
185 reg = <0x5f0000 0x1900000>;
186 };
187
188 defaultmac: partition@1ef0000 {
189 label = "default-mac";
190 reg = <0x1ef0000 0x00200>;
191 read-only;
192 };
193
194 partition@1ef0200 {
195 label = "pin";
196 reg = <0x1ef0200 0x00200>;
197 read-only;
198 };
199
200 partition@1ef0400 {
201 label = "product-info";
202 reg = <0x1ef0400 0x0fc00>;
203 read-only;
204 };
205
206 partition@1f00000 {
207 label = "partition-table";
208 reg = <0x1f00000 0x10000>;
209 read-only;
210 };
211
212 partition@1f10000 {
213 label = "soft-version";
214 reg = <0x1f10000 0x10000>;
215 read-only;
216 };
217
218 partition@1f20000 {
219 label = "support-list";
220 reg = <0x1f20000 0x10000>;
221 read-only;
222 };
223
224 partition@1f30000 {
225 label = "profile";
226 reg = <0x1f30000 0x10000>;
227 read-only;
228 };
229
230 partition@1f40000 {
231 label = "default-config";
232 reg = <0x1f40000 0x10000>;
233 read-only;
234 };
235
236 partition@1f50000 {
237 label = "user-config";
238 reg = <0x1f50000 0x40000>;
239 read-only;
240 };
241
242 partition@1f90000 {
243 label = "qos-db";
244 reg = <0x1f90000 0x40000>;
245 read-only;
246 };
247
248 partition@1fd0000 {
249 label = "usb-config";
250 reg = <0x1fd0000 0x10000>;
251 read-only;
252 };
253
254 partition@1fe0000 {
255 label = "log";
256 reg = <0x1fe0000 0x20000>;
257 read-only;
258 };
259 };
260 };
261 };
262 };
263
264 &hs_phy_0 {
265 status = "okay";
266 };
267
268 &ss_phy_0 {
269 status = "okay";
270 };
271
272 &usb3_0 {
273 status = "okay";
274
275 pinctrl-0 = <&usb0_pwr_en_pin>;
276 pinctrl-names = "default";
277 };
278
279 &hs_phy_1 {
280 status = "okay";
281 };
282
283 &ss_phy_1 {
284 status = "okay";
285 };
286
287 &usb3_1 {
288 status = "okay";
289
290 pinctrl-0 = <&usb1_pwr_en_pin>;
291 pinctrl-names = "default";
292 };
293
294 &pcie0 {
295 status = "okay";
296
297 bridge@0,0 {
298 reg = <0x00000000 0 0 0 0>;
299 #address-cells = <3>;
300 #size-cells = <2>;
301 ranges;
302
303 wifi@1,0 {
304 compatible = "pci168c,0040";
305 reg = <0x00010000 0 0 0 0>;
306
307 nvmem-cells = <&macaddr_defaultmac_8>, <&precal_radio_1000>;
308 nvmem-cell-names = "mac-address", "pre-calibration";
309 mac-address-increment = <(-1)>;
310 };
311 };
312 };
313
314 &pcie1 {
315 status = "okay";
316 max-link-speed = <1>;
317
318 bridge@0,0 {
319 reg = <0x00000000 0 0 0 0>;
320 #address-cells = <3>;
321 #size-cells = <2>;
322 ranges;
323
324 wifi@1,0 {
325 compatible = "pci168c,0040";
326 reg = <0x00010000 0 0 0 0>;
327
328 nvmem-cells = <&macaddr_defaultmac_8>, <&precal_radio_5000>;
329 nvmem-cell-names = "mac-address", "pre-calibration";
330 };
331 };
332 };
333
334 &mdio0 {
335 status = "okay";
336
337 pinctrl-0 = <&mdio0_pins>;
338 pinctrl-names = "default";
339
340 switch@10 {
341 compatible = "qca,qca8337";
342 #address-cells = <1>;
343 #size-cells = <0>;
344 reg = <0x10>;
345
346 ports {
347 #address-cells = <1>;
348 #size-cells = <0>;
349
350 port@0 {
351 reg = <0>;
352 label = "cpu";
353 ethernet = <&gmac1>;
354 phy-mode = "rgmii";
355 tx-internal-delay-ps = <1000>;
356 rx-internal-delay-ps = <1000>;
357
358 fixed-link {
359 speed = <1000>;
360 full-duplex;
361 };
362 };
363
364 port@1 {
365 reg = <1>;
366 label = "lan4";
367 phy-mode = "internal";
368 phy-handle = <&phy_port1>;
369 };
370
371 port@2 {
372 reg = <2>;
373 label = "lan3";
374 phy-mode = "internal";
375 phy-handle = <&phy_port2>;
376 };
377
378 port@3 {
379 reg = <3>;
380 label = "lan2";
381 phy-mode = "internal";
382 phy-handle = <&phy_port3>;
383 };
384
385 port@4 {
386 reg = <4>;
387 label = "lan1";
388 phy-mode = "internal";
389 phy-handle = <&phy_port4>;
390 };
391
392 port@5 {
393 reg = <5>;
394 label = "wan";
395 phy-mode = "internal";
396 phy-handle = <&phy_port5>;
397 };
398
399 /*
400 port@6 {
401 reg = <0>;
402 label = "cpu";
403 ethernet = <&gmac2>;
404 phy-mode = "rgmii";
405
406 fixed-link {
407 speed = <1000>;
408 full-duplex;
409 pause;
410 asym-pause;
411 };
412 };
413 */
414 };
415
416 mdio {
417 #address-cells = <1>;
418 #size-cells = <0>;
419
420 phy_port1: phy@0 {
421 reg = <0>;
422 };
423
424 phy_port2: phy@1 {
425 reg = <1>;
426 };
427
428 phy_port3: phy@2 {
429 reg = <2>;
430 };
431
432 phy_port4: phy@3 {
433 reg = <3>;
434 };
435
436 phy_port5: phy@4 {
437 reg = <4>;
438 };
439 };
440 };
441 };
442
443 &gmac1 {
444 status = "okay";
445 phy-mode = "rgmii";
446 qcom,id = <1>;
447
448 pinctrl-0 = <&rgmii2_pins>;
449 pinctrl-names = "default";
450
451 nvmem-cells = <&macaddr_defaultmac_8>;
452 nvmem-cell-names = "mac-address";
453 mac-address-increment = <1>;
454
455 fixed-link {
456 speed = <1000>;
457 full-duplex;
458 };
459 };
460
461 &gmac2 {
462 status = "okay";
463 phy-mode = "sgmii";
464 qcom,id = <2>;
465
466 nvmem-cells = <&macaddr_defaultmac_8>;
467 nvmem-cell-names = "mac-address";
468
469 fixed-link {
470 speed = <1000>;
471 full-duplex;
472 };
473 };
474
475 &adm_dma {
476 status = "okay";
477 };
478
479 &defaultmac {
480 compatible = "nvmem-cells";
481 #address-cells = <1>;
482 #size-cells = <1>;
483
484 macaddr_defaultmac_8: macaddr@8 {
485 reg = <0x8 0x6>;
486 };
487 };