fortify-headers: fix build error when _REDIR_TIME64 is not defined
[openwrt/openwrt.git] / target / linux / bcm4908 / patches-5.15 / 034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch
1 From ded8f22945899f4e87dd6d952bbc4abce6e64b7e Mon Sep 17 00:00:00 2001
2 From: William Zhang <william.zhang@broadcom.com>
3 Date: Wed, 3 Aug 2022 10:54:50 -0700
4 Subject: [PATCH] arm64: dts: Move BCM4908 dts to bcmbca folder
5
6 As part of ARCH_BCM4908 to ARCH_BCMBCA migration, move the BCM4908 dts
7 files to bcmbca folder and use CONFIG_ARCH_BCMBCA to build all the
8 BCM4908 board dts. Delete bcm4908 folder and its makefile as well.
9
10 Signed-off-by: William Zhang <william.zhang@broadcom.com>
11 Link: https://lore.kernel.org/r/20220803175455.47638-5-william.zhang@broadcom.com
12 Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
13 ---
14 arch/arm64/boot/dts/broadcom/Makefile | 1 -
15 arch/arm64/boot/dts/broadcom/bcm4908/Makefile | 5 -----
16 arch/arm64/boot/dts/broadcom/bcmbca/Makefile | 4 ++++
17 .../broadcom/{bcm4908 => bcmbca}/bcm4906-netgear-r8000p.dts | 0
18 .../{bcm4908 => bcmbca}/bcm4906-tplink-archer-c2300-v1.dts | 0
19 .../arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906.dtsi | 0
20 .../broadcom/{bcm4908 => bcmbca}/bcm4908-asus-gt-ac5300.dts | 0
21 .../broadcom/{bcm4908 => bcmbca}/bcm4908-netgear-raxe500.dts | 0
22 .../arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908.dtsi | 0
23 9 files changed, 4 insertions(+), 6 deletions(-)
24 delete mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/Makefile
25 rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906-netgear-r8000p.dts (100%)
26 rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906-tplink-archer-c2300-v1.dts (100%)
27 rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906.dtsi (100%)
28 rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908-asus-gt-ac5300.dts (100%)
29 rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908-netgear-raxe500.dts (100%)
30 rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908.dtsi (100%)
31
32 --- a/arch/arm64/boot/dts/broadcom/Makefile
33 +++ b/arch/arm64/boot/dts/broadcom/Makefile
34 @@ -6,7 +6,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rp
35 bcm2837-rpi-3-b-plus.dtb \
36 bcm2837-rpi-cm3-io3.dtb
37
38 -subdir-y += bcm4908
39 subdir-y += bcmbca
40 subdir-y += northstar2
41 subdir-y += stingray
42 --- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile
43 +++ /dev/null
44 @@ -1,5 +0,0 @@
45 -# SPDX-License-Identifier: GPL-2.0
46 -dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb
47 -dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb
48 -dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb
49 -dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-netgear-raxe500.dtb
50 --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
51 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
52 @@ -1,5 +1,9 @@
53 # SPDX-License-Identifier: GPL-2.0
54 dtb-$(CONFIG_ARCH_BCMBCA) += \
55 + bcm4906-netgear-r8000p.dtb \
56 + bcm4906-tplink-archer-c2300-v1.dtb \
57 + bcm4908-asus-gt-ac5300.dtb \
58 + bcm4908-netgear-raxe500.dtb \
59 bcm4912-asus-gt-ax6000.dtb \
60 bcm94912.dtb \
61 bcm963158.dtb \
62 --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
63 +++ /dev/null
64 @@ -1,157 +0,0 @@
65 -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
66 -
67 -#include <dt-bindings/gpio/gpio.h>
68 -#include <dt-bindings/input/input.h>
69 -#include <dt-bindings/leds/common.h>
70 -
71 -#include "bcm4906.dtsi"
72 -
73 -/ {
74 - compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
75 - model = "Netgear R8000P";
76 -
77 - memory@0 {
78 - device_type = "memory";
79 - reg = <0x00 0x00 0x00 0x20000000>;
80 - };
81 -
82 - leds {
83 - compatible = "gpio-leds";
84 -
85 - led-power-white {
86 - function = LED_FUNCTION_POWER;
87 - color = <LED_COLOR_ID_WHITE>;
88 - gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
89 - };
90 -
91 - led-power-amber {
92 - function = LED_FUNCTION_POWER;
93 - color = <LED_COLOR_ID_AMBER>;
94 - gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
95 - };
96 -
97 - led-wps {
98 - function = LED_FUNCTION_WPS;
99 - color = <LED_COLOR_ID_WHITE>;
100 - gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
101 - };
102 -
103 - led-2ghz {
104 - function = "2ghz";
105 - color = <LED_COLOR_ID_WHITE>;
106 - gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
107 - };
108 -
109 - led-5ghz-1 {
110 - function = "5ghz-1";
111 - color = <LED_COLOR_ID_WHITE>;
112 - gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
113 - };
114 -
115 - led-5ghz-2 {
116 - function = "5ghz-2";
117 - color = <LED_COLOR_ID_WHITE>;
118 - gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
119 - };
120 -
121 - led-usb2 {
122 - function = "usb2";
123 - color = <LED_COLOR_ID_WHITE>;
124 - gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
125 - };
126 -
127 - led-usb3 {
128 - function = "usb3";
129 - color = <LED_COLOR_ID_WHITE>;
130 - gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
131 - };
132 -
133 - led-wifi {
134 - function = "wifi";
135 - color = <LED_COLOR_ID_WHITE>;
136 - gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;
137 - };
138 - };
139 -};
140 -
141 -&enet {
142 - nvmem-cells = <&base_mac_addr>;
143 - nvmem-cell-names = "mac-address";
144 -};
145 -
146 -&usb_phy {
147 - brcm,ioc = <1>;
148 - status = "okay";
149 -};
150 -
151 -&ehci {
152 - status = "okay";
153 -};
154 -
155 -&ohci {
156 - status = "okay";
157 -};
158 -
159 -&xhci {
160 - status = "okay";
161 -};
162 -
163 -&ports {
164 - port@0 {
165 - label = "lan4";
166 - };
167 -
168 - port@1 {
169 - label = "lan3";
170 - };
171 -
172 - port@2 {
173 - label = "lan2";
174 - };
175 -
176 - port@3 {
177 - label = "lan1";
178 - };
179 -
180 - port@7 {
181 - reg = <7>;
182 - phy-mode = "internal";
183 - phy-handle = <&phy12>;
184 - label = "wan";
185 - };
186 -};
187 -
188 -&nandcs {
189 - nand-ecc-strength = <4>;
190 - nand-ecc-step-size = <512>;
191 - nand-on-flash-bbt;
192 -
193 - #address-cells = <1>;
194 - #size-cells = <0>;
195 -
196 - partitions {
197 - compatible = "fixed-partitions";
198 - #address-cells = <1>;
199 - #size-cells = <1>;
200 -
201 - partition@0 {
202 - compatible = "nvmem-cells";
203 - label = "cferom";
204 - reg = <0x0 0x100000>;
205 -
206 - #address-cells = <1>;
207 - #size-cells = <1>;
208 - ranges = <0 0x0 0x100000>;
209 -
210 - base_mac_addr: mac@106a0 {
211 - reg = <0x106a0 0x6>;
212 - };
213 - };
214 -
215 - partition@100000 {
216 - compatible = "brcm,bcm4908-firmware";
217 - label = "firmware";
218 - reg = <0x100000 0x4400000>;
219 - };
220 - };
221 -};
222 --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts
223 +++ /dev/null
224 @@ -1,182 +0,0 @@
225 -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
226 -
227 -#include <dt-bindings/gpio/gpio.h>
228 -#include <dt-bindings/input/input.h>
229 -#include <dt-bindings/leds/common.h>
230 -
231 -#include "bcm4906.dtsi"
232 -
233 -/ {
234 - compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
235 - model = "TP-Link Archer C2300 V1";
236 -
237 - memory@0 {
238 - device_type = "memory";
239 - reg = <0x00 0x00 0x00 0x20000000>;
240 - };
241 -
242 - leds {
243 - compatible = "gpio-leds";
244 -
245 - led-power {
246 - function = LED_FUNCTION_POWER;
247 - color = <LED_COLOR_ID_BLUE>;
248 - gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
249 - };
250 -
251 - led-2ghz {
252 - function = "2ghz";
253 - color = <LED_COLOR_ID_BLUE>;
254 - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
255 - };
256 -
257 - led-5ghz {
258 - function = "5ghz";
259 - color = <LED_COLOR_ID_BLUE>;
260 - gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
261 - };
262 -
263 - led-wan-amber {
264 - function = LED_FUNCTION_WAN;
265 - color = <LED_COLOR_ID_AMBER>;
266 - gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
267 - };
268 -
269 - led-wan-blue {
270 - function = LED_FUNCTION_WAN;
271 - color = <LED_COLOR_ID_BLUE>;
272 - gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
273 - };
274 -
275 - led-lan {
276 - function = LED_FUNCTION_LAN;
277 - color = <LED_COLOR_ID_BLUE>;
278 - gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
279 - };
280 -
281 - led-wps {
282 - function = LED_FUNCTION_WPS;
283 - color = <LED_COLOR_ID_BLUE>;
284 - gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
285 - };
286 -
287 - led-usb2 {
288 - function = "usb2";
289 - color = <LED_COLOR_ID_BLUE>;
290 - gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
291 - };
292 -
293 - led-usb3 {
294 - function = "usbd3";
295 - color = <LED_COLOR_ID_BLUE>;
296 - gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
297 - };
298 -
299 - led-brightness {
300 - function = LED_FUNCTION_BACKLIGHT;
301 - color = <LED_COLOR_ID_WHITE>;
302 - gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
303 - };
304 - };
305 -
306 - gpio-keys-polled {
307 - compatible = "gpio-keys-polled";
308 - poll-interval = <100>;
309 -
310 - key-brightness {
311 - label = "LEDs";
312 - linux,code = <KEY_BRIGHTNESS_ZERO>;
313 - gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
314 - };
315 -
316 - key-wps {
317 - label = "WPS";
318 - linux,code = <KEY_WPS_BUTTON>;
319 - gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
320 - };
321 -
322 - key-wifi {
323 - label = "WiFi";
324 - linux,code = <KEY_RFKILL>;
325 - gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
326 - };
327 -
328 - key-restart {
329 - label = "Reset";
330 - linux,code = <KEY_RESTART>;
331 - gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
332 - };
333 - };
334 -};
335 -
336 -&usb_phy {
337 - brcm,ioc = <1>;
338 - status = "okay";
339 -};
340 -
341 -&ehci {
342 - status = "okay";
343 -};
344 -
345 -&ohci {
346 - status = "okay";
347 -};
348 -
349 -&xhci {
350 - status = "okay";
351 -};
352 -
353 -&ports {
354 - port@0 {
355 - label = "lan4";
356 - };
357 -
358 - port@1 {
359 - label = "lan3";
360 - };
361 -
362 - port@2 {
363 - label = "lan2";
364 - };
365 -
366 - port@3 {
367 - label = "lan1";
368 - };
369 -
370 - port@7 {
371 - reg = <7>;
372 - phy-mode = "internal";
373 - phy-handle = <&phy12>;
374 - label = "wan";
375 - };
376 -};
377 -
378 -&nandcs {
379 - nand-ecc-strength = <4>;
380 - nand-ecc-step-size = <512>;
381 - nand-on-flash-bbt;
382 -
383 - #address-cells = <1>;
384 - #size-cells = <0>;
385 -
386 - partitions {
387 - compatible = "brcm,bcm4908-partitions";
388 - #address-cells = <1>;
389 - #size-cells = <1>;
390 -
391 - partition@0 {
392 - label = "cferom";
393 - reg = <0x0 0x100000>;
394 - };
395 -
396 - partition@100000 {
397 - compatible = "brcm,bcm4908-firmware";
398 - reg = <0x100000 0x3900000>;
399 - };
400 -
401 - partition@5800000 {
402 - compatible = "brcm,bcm4908-firmware";
403 - reg = <0x3a00000 0x3900000>;
404 - };
405 - };
406 -};
407 --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi
408 +++ /dev/null
409 @@ -1,34 +0,0 @@
410 -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
411 -
412 -#include "bcm4908.dtsi"
413 -
414 -/ {
415 - cpus {
416 - /delete-node/ cpu@2;
417 -
418 - /delete-node/ cpu@3;
419 - };
420 -
421 - timer {
422 - compatible = "arm,armv8-timer";
423 - interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
424 - <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
425 - <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
426 - <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
427 - };
428 -
429 - timer {
430 - compatible = "arm,armv8-timer";
431 - interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
432 - <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
433 - <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
434 - <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
435 - };
436 -
437 - pmu {
438 - compatible = "arm,cortex-a53-pmu";
439 - interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
440 - <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
441 - interrupt-affinity = <&cpu0>, <&cpu1>;
442 - };
443 -};
444 --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
445 +++ /dev/null
446 @@ -1,207 +0,0 @@
447 -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
448 -
449 -#include <dt-bindings/gpio/gpio.h>
450 -#include <dt-bindings/input/input.h>
451 -#include <dt-bindings/leds/common.h>
452 -
453 -#include "bcm4908.dtsi"
454 -
455 -/ {
456 - compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca";
457 - model = "Asus GT-AC5300";
458 -
459 - memory@0 {
460 - device_type = "memory";
461 - reg = <0x00 0x00 0x00 0x40000000>;
462 - };
463 -
464 - gpio-keys-polled {
465 - compatible = "gpio-keys-polled";
466 - poll-interval = <100>;
467 -
468 - key-wifi {
469 - label = "WiFi";
470 - linux,code = <KEY_RFKILL>;
471 - gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
472 - };
473 -
474 - key-wps {
475 - label = "WPS";
476 - linux,code = <KEY_WPS_BUTTON>;
477 - gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
478 - };
479 -
480 - key-restart {
481 - label = "Reset";
482 - linux,code = <KEY_RESTART>;
483 - gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
484 - };
485 -
486 - key-brightness {
487 - label = "LEDs";
488 - linux,code = <KEY_BRIGHTNESS_ZERO>;
489 - gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
490 - };
491 - };
492 -};
493 -
494 -&enet {
495 - nvmem-cells = <&base_mac_addr>;
496 - nvmem-cell-names = "mac-address";
497 -};
498 -
499 -&usb_phy {
500 - brcm,ioc = <1>;
501 - status = "okay";
502 -};
503 -
504 -&ehci {
505 - status = "okay";
506 -};
507 -
508 -&ohci {
509 - status = "okay";
510 -};
511 -
512 -&xhci {
513 - status = "okay";
514 -};
515 -
516 -&ports {
517 - port@0 {
518 - label = "lan2";
519 - };
520 -
521 - port@1 {
522 - label = "lan1";
523 - };
524 -
525 - port@2 {
526 - label = "lan6";
527 - };
528 -
529 - port@3 {
530 - label = "lan5";
531 - };
532 -
533 - /* External BCM53134S switch */
534 - port@7 {
535 - label = "sw";
536 - reg = <7>;
537 - phy-mode = "rgmii";
538 -
539 - fixed-link {
540 - speed = <1000>;
541 - full-duplex;
542 - };
543 - };
544 -};
545 -
546 -&mdio {
547 - /* lan8 */
548 - ethernet-phy@0 {
549 - reg = <0>;
550 - };
551 -
552 - /* lan7 */
553 - ethernet-phy@1 {
554 - reg = <1>;
555 - };
556 -
557 - /* lan4 */
558 - ethernet-phy@2 {
559 - reg = <2>;
560 - };
561 -
562 - /* lan3 */
563 - ethernet-phy@3 {
564 - reg = <3>;
565 - };
566 -};
567 -
568 -&leds {
569 - led-power@11 {
570 - reg = <0x11>;
571 - function = LED_FUNCTION_POWER;
572 - color = <LED_COLOR_ID_WHITE>;
573 - default-state = "on";
574 - active-low;
575 - pinctrl-names = "default";
576 - pinctrl-0 = <&pins_led_17_a>;
577 - };
578 -
579 - led-wan-red@12 {
580 - reg = <0x12>;
581 - function = LED_FUNCTION_WAN;
582 - color = <LED_COLOR_ID_RED>;
583 - active-low;
584 - pinctrl-names = "default";
585 - pinctrl-0 = <&pins_led_18_a>;
586 - };
587 -
588 - led-wps@14 {
589 - reg = <0x14>;
590 - function = LED_FUNCTION_WPS;
591 - color = <LED_COLOR_ID_WHITE>;
592 - active-low;
593 - pinctrl-names = "default";
594 - pinctrl-0 = <&pins_led_20_a>;
595 - };
596 -
597 - led-wan-white@15 {
598 - reg = <0x15>;
599 - function = LED_FUNCTION_WAN;
600 - color = <LED_COLOR_ID_WHITE>;
601 - active-low;
602 - pinctrl-names = "default";
603 - pinctrl-0 = <&pins_led_21_a>;
604 - };
605 -
606 - led-lan@19 {
607 - reg = <0x19>;
608 - function = LED_FUNCTION_LAN;
609 - color = <LED_COLOR_ID_WHITE>;
610 - pinctrl-names = "default";
611 - pinctrl-0 = <&pins_led_25_a>;
612 - };
613 -};
614 -
615 -&nandcs {
616 - nand-ecc-strength = <4>;
617 - nand-ecc-step-size = <512>;
618 - nand-on-flash-bbt;
619 - brcm,nand-has-wp;
620 -
621 - #address-cells = <1>;
622 - #size-cells = <0>;
623 -
624 - partitions {
625 - compatible = "brcm,bcm4908-partitions";
626 - #address-cells = <1>;
627 - #size-cells = <1>;
628 -
629 - partition@0 {
630 - compatible = "nvmem-cells";
631 - label = "cferom";
632 - reg = <0x0 0x100000>;
633 -
634 - #address-cells = <1>;
635 - #size-cells = <1>;
636 - ranges = <0 0x0 0x100000>;
637 -
638 - base_mac_addr: mac@106a0 {
639 - reg = <0x106a0 0x6>;
640 - };
641 - };
642 -
643 - partition@100000 {
644 - compatible = "brcm,bcm4908-firmware";
645 - reg = <0x100000 0x5700000>;
646 - };
647 -
648 - partition@5800000 {
649 - compatible = "brcm,bcm4908-firmware";
650 - reg = <0x5800000 0x5700000>;
651 - };
652 - };
653 -};
654 --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts
655 +++ /dev/null
656 @@ -1,50 +0,0 @@
657 -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
658 -
659 -#include "bcm4908.dtsi"
660 -
661 -/ {
662 - compatible = "netgear,raxe500", "brcm,bcm4908", "brcm,bcmbca";
663 - model = "Netgear RAXE500";
664 -
665 - memory@0 {
666 - device_type = "memory";
667 - reg = <0x00 0x00 0x00 0x40000000>;
668 - };
669 -};
670 -
671 -&ehci {
672 - status = "okay";
673 -};
674 -
675 -&ohci {
676 - status = "okay";
677 -};
678 -
679 -&xhci {
680 - status = "okay";
681 -};
682 -
683 -&ports {
684 - port@0 {
685 - label = "lan4";
686 - };
687 -
688 - port@1 {
689 - label = "lan3";
690 - };
691 -
692 - port@2 {
693 - label = "lan2";
694 - };
695 -
696 - port@3 {
697 - label = "lan1";
698 - };
699 -
700 - port@7 {
701 - reg = <7>;
702 - phy-mode = "internal";
703 - phy-handle = <&phy12>;
704 - label = "wan";
705 - };
706 -};
707 --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
708 +++ /dev/null
709 @@ -1,575 +0,0 @@
710 -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
711 -
712 -#include <dt-bindings/interrupt-controller/irq.h>
713 -#include <dt-bindings/interrupt-controller/arm-gic.h>
714 -#include <dt-bindings/phy/phy.h>
715 -#include <dt-bindings/soc/bcm-pmb.h>
716 -
717 -/dts-v1/;
718 -
719 -/ {
720 - interrupt-parent = <&gic>;
721 -
722 - #address-cells = <2>;
723 - #size-cells = <2>;
724 -
725 - aliases {
726 - serial0 = &uart0;
727 - };
728 -
729 - chosen {
730 - stdout-path = "serial0:115200n8";
731 - };
732 -
733 - cpus {
734 - #address-cells = <1>;
735 - #size-cells = <0>;
736 -
737 - cpu0: cpu@0 {
738 - device_type = "cpu";
739 - compatible = "brcm,brahma-b53";
740 - reg = <0x0>;
741 - enable-method = "spin-table";
742 - cpu-release-addr = <0x0 0xfff8>;
743 - next-level-cache = <&l2>;
744 - };
745 -
746 - cpu1: cpu@1 {
747 - device_type = "cpu";
748 - compatible = "brcm,brahma-b53";
749 - reg = <0x1>;
750 - enable-method = "spin-table";
751 - cpu-release-addr = <0x0 0xfff8>;
752 - next-level-cache = <&l2>;
753 - };
754 -
755 - cpu2: cpu@2 {
756 - device_type = "cpu";
757 - compatible = "brcm,brahma-b53";
758 - reg = <0x2>;
759 - enable-method = "spin-table";
760 - cpu-release-addr = <0x0 0xfff8>;
761 - next-level-cache = <&l2>;
762 - };
763 -
764 - cpu3: cpu@3 {
765 - device_type = "cpu";
766 - compatible = "brcm,brahma-b53";
767 - reg = <0x3>;
768 - enable-method = "spin-table";
769 - cpu-release-addr = <0x0 0xfff8>;
770 - next-level-cache = <&l2>;
771 - };
772 -
773 - l2: l2-cache0 {
774 - compatible = "cache";
775 - };
776 - };
777 -
778 - axi@81000000 {
779 - compatible = "simple-bus";
780 - #address-cells = <1>;
781 - #size-cells = <1>;
782 - ranges = <0x00 0x00 0x81000000 0x4000>;
783 -
784 - gic: interrupt-controller@1000 {
785 - compatible = "arm,gic-400";
786 - #interrupt-cells = <3>;
787 - #address-cells = <0>;
788 - interrupt-controller;
789 - reg = <0x1000 0x1000>,
790 - <0x2000 0x2000>;
791 - };
792 - };
793 -
794 - timer {
795 - compatible = "arm,armv8-timer";
796 - interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
797 - <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
798 - <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
799 - <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
800 - };
801 -
802 - pmu {
803 - compatible = "arm,cortex-a53-pmu";
804 - interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
805 - <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
806 - <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
807 - <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
808 - interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
809 - };
810 -
811 - clocks {
812 - periph_clk: periph_clk {
813 - compatible = "fixed-clock";
814 - #clock-cells = <0>;
815 - clock-frequency = <50000000>;
816 - clock-output-names = "periph";
817 - };
818 - };
819 -
820 - soc {
821 - compatible = "simple-bus";
822 - #address-cells = <1>;
823 - #size-cells = <1>;
824 - ranges = <0x00 0x00 0x80000000 0x281000>;
825 -
826 - enet: ethernet@2000 {
827 - compatible = "brcm,bcm4908-enet";
828 - reg = <0x2000 0x1000>;
829 -
830 - interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
831 - <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
832 - interrupt-names = "rx", "tx";
833 - };
834 -
835 - usb_phy: usb-phy@c200 {
836 - compatible = "brcm,bcm4908-usb-phy";
837 - reg = <0xc200 0x100>;
838 - reg-names = "ctrl";
839 - power-domains = <&pmb BCM_PMB_HOST_USB>;
840 - dr_mode = "host";
841 - brcm,has-xhci;
842 - brcm,has-eohci;
843 - #phy-cells = <1>;
844 - status = "disabled";
845 - };
846 -
847 - ehci: usb@c300 {
848 - compatible = "generic-ehci";
849 - reg = <0xc300 0x100>;
850 - interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
851 - phys = <&usb_phy PHY_TYPE_USB2>;
852 - status = "disabled";
853 - };
854 -
855 - ohci: usb@c400 {
856 - compatible = "generic-ohci";
857 - reg = <0xc400 0x100>;
858 - interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
859 - phys = <&usb_phy PHY_TYPE_USB2>;
860 - status = "disabled";
861 - };
862 -
863 - xhci: usb@d000 {
864 - compatible = "generic-xhci";
865 - reg = <0xd000 0x8c8>;
866 - interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
867 - phys = <&usb_phy PHY_TYPE_USB3>;
868 - status = "disabled";
869 - };
870 -
871 - bus@80000 {
872 - compatible = "simple-bus";
873 - #size-cells = <1>;
874 - #address-cells = <1>;
875 - ranges = <0 0x80000 0x50000>;
876 -
877 - ethernet-switch@0 {
878 - compatible = "brcm,bcm4908-switch";
879 - reg = <0x0 0x40000>,
880 - <0x40000 0x110>,
881 - <0x40340 0x30>,
882 - <0x40380 0x30>,
883 - <0x40600 0x34>,
884 - <0x40800 0x208>;
885 - reg-names = "core", "reg", "intrl2_0",
886 - "intrl2_1", "fcb", "acb";
887 - interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
888 - <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
889 - brcm,num-gphy = <5>;
890 - brcm,num-rgmii-ports = <2>;
891 -
892 - #address-cells = <1>;
893 - #size-cells = <0>;
894 -
895 - ports: ports {
896 - #address-cells = <1>;
897 - #size-cells = <0>;
898 -
899 - port@0 {
900 - reg = <0>;
901 - phy-mode = "internal";
902 - phy-handle = <&phy8>;
903 - };
904 -
905 - port@1 {
906 - reg = <1>;
907 - phy-mode = "internal";
908 - phy-handle = <&phy9>;
909 - };
910 -
911 - port@2 {
912 - reg = <2>;
913 - phy-mode = "internal";
914 - phy-handle = <&phy10>;
915 - };
916 -
917 - port@3 {
918 - reg = <3>;
919 - phy-mode = "internal";
920 - phy-handle = <&phy11>;
921 - };
922 -
923 - port@8 {
924 - reg = <8>;
925 - phy-mode = "internal";
926 - ethernet = <&enet>;
927 -
928 - fixed-link {
929 - speed = <1000>;
930 - full-duplex;
931 - };
932 - };
933 - };
934 - };
935 -
936 - mdio: mdio@405c0 {
937 - compatible = "brcm,unimac-mdio";
938 - reg = <0x405c0 0x8>;
939 - reg-names = "mdio";
940 - #size-cells = <0>;
941 - #address-cells = <1>;
942 -
943 - phy8: ethernet-phy@8 {
944 - reg = <8>;
945 - };
946 -
947 - phy9: ethernet-phy@9 {
948 - reg = <9>;
949 - };
950 -
951 - phy10: ethernet-phy@a {
952 - reg = <10>;
953 - };
954 -
955 - phy11: ethernet-phy@b {
956 - reg = <11>;
957 - };
958 -
959 - phy12: ethernet-phy@c {
960 - reg = <12>;
961 - };
962 - };
963 - };
964 -
965 - procmon: syscon@280000 {
966 - compatible = "simple-bus";
967 - reg = <0x280000 0x1000>;
968 - ranges;
969 -
970 - #address-cells = <1>;
971 - #size-cells = <1>;
972 -
973 - pmb: power-controller@2800c0 {
974 - compatible = "brcm,bcm4908-pmb";
975 - reg = <0x2800c0 0x40>;
976 - #power-domain-cells = <1>;
977 - };
978 - };
979 - };
980 -
981 - bus@ff800000 {
982 - compatible = "simple-bus";
983 - #address-cells = <1>;
984 - #size-cells = <1>;
985 - ranges = <0x00 0x00 0xff800000 0x3000>;
986 -
987 - twd: timer-mfd@400 {
988 - compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
989 - reg = <0x400 0x4c>;
990 - ranges = <0x0 0x400 0x4c>;
991 -
992 - #address-cells = <1>;
993 - #size-cells = <1>;
994 -
995 - watchdog@28 {
996 - compatible = "brcm,bcm6345-wdt";
997 - reg = <0x28 0x8>;
998 - };
999 - };
1000 -
1001 - gpio0: gpio-controller@500 {
1002 - compatible = "brcm,bcm6345-gpio";
1003 - reg-names = "dirout", "dat";
1004 - reg = <0x500 0x28>, <0x528 0x28>;
1005 -
1006 - #gpio-cells = <2>;
1007 - gpio-controller;
1008 - };
1009 -
1010 - pinctrl@560 {
1011 - compatible = "brcm,bcm4908-pinctrl";
1012 - reg = <0x560 0x10>;
1013 -
1014 - pins_led_0_a: led_0-a-pins {
1015 - function = "led_0";
1016 - groups = "led_0_grp_a";
1017 - };
1018 -
1019 - pins_led_1_a: led_1-a-pins {
1020 - function = "led_1";
1021 - groups = "led_1_grp_a";
1022 - };
1023 -
1024 - pins_led_2_a: led_2-a-pins {
1025 - function = "led_2";
1026 - groups = "led_2_grp_a";
1027 - };
1028 -
1029 - pins_led_3_a: led_3-a-pins {
1030 - function = "led_3";
1031 - groups = "led_3_grp_a";
1032 - };
1033 -
1034 - pins_led_4_a: led_4-a-pins {
1035 - function = "led_4";
1036 - groups = "led_4_grp_a";
1037 - };
1038 -
1039 - pins_led_5_a: led_5-a-pins {
1040 - function = "led_5";
1041 - groups = "led_5_grp_a";
1042 - };
1043 -
1044 - pins_led_6_a: led_6-a-pins {
1045 - function = "led_6";
1046 - groups = "led_6_grp_a";
1047 - };
1048 -
1049 - pins_led_7_a: led_7-a-pins {
1050 - function = "led_7";
1051 - groups = "led_7_grp_a";
1052 - };
1053 -
1054 - pins_led_8_a: led_8-a-pins {
1055 - function = "led_8";
1056 - groups = "led_8_grp_a";
1057 - };
1058 -
1059 - pins_led_9_a: led_9-a-pins {
1060 - function = "led_9";
1061 - groups = "led_9_grp_a";
1062 - };
1063 -
1064 - pins_led_10_a: led_10-a-pins {
1065 - function = "led_10";
1066 - groups = "led_10_grp_a";
1067 - };
1068 -
1069 - pins_led_11_a: led_11-a-pins {
1070 - function = "led_11";
1071 - groups = "led_11_grp_a";
1072 - };
1073 -
1074 - pins_led_12_a: led_12-a-pins {
1075 - function = "led_12";
1076 - groups = "led_12_grp_a";
1077 - };
1078 -
1079 - pins_led_13_a: led_13-a-pins {
1080 - function = "led_13";
1081 - groups = "led_13_grp_a";
1082 - };
1083 -
1084 - pins_led_14_a: led_14-a-pins {
1085 - function = "led_14";
1086 - groups = "led_14_grp_a";
1087 - };
1088 -
1089 - pins_led_15_a: led_15-a-pins {
1090 - function = "led_15";
1091 - groups = "led_15_grp_a";
1092 - };
1093 -
1094 - pins_led_16_a: led_16-a-pins {
1095 - function = "led_16";
1096 - groups = "led_16_grp_a";
1097 - };
1098 -
1099 - pins_led_17_a: led_17-a-pins {
1100 - function = "led_17";
1101 - groups = "led_17_grp_a";
1102 - };
1103 -
1104 - pins_led_18_a: led_18-a-pins {
1105 - function = "led_18";
1106 - groups = "led_18_grp_a";
1107 - };
1108 -
1109 - pins_led_19_a: led_19-a-pins {
1110 - function = "led_19";
1111 - groups = "led_19_grp_a";
1112 - };
1113 -
1114 - pins_led_20_a: led_20-a-pins {
1115 - function = "led_20";
1116 - groups = "led_20_grp_a";
1117 - };
1118 -
1119 - pins_led_21_a: led_21-a-pins {
1120 - function = "led_21";
1121 - groups = "led_21_grp_a";
1122 - };
1123 -
1124 - pins_led_22_a: led_22-a-pins {
1125 - function = "led_22";
1126 - groups = "led_22_grp_a";
1127 - };
1128 -
1129 - pins_led_23_a: led_23-a-pins {
1130 - function = "led_23";
1131 - groups = "led_23_grp_a";
1132 - };
1133 -
1134 - pins_led_24_a: led_24-a-pins {
1135 - function = "led_24";
1136 - groups = "led_24_grp_a";
1137 - };
1138 -
1139 - pins_led_25_a: led_25-a-pins {
1140 - function = "led_25";
1141 - groups = "led_25_grp_a";
1142 - };
1143 -
1144 - pins_led_26_a: led_26-a-pins {
1145 - function = "led_26";
1146 - groups = "led_26_grp_a";
1147 - };
1148 -
1149 - pins_led_27_a: led_27-a-pins {
1150 - function = "led_27";
1151 - groups = "led_27_grp_a";
1152 - };
1153 -
1154 - pins_led_28_a: led_28-a-pins {
1155 - function = "led_28";
1156 - groups = "led_28_grp_a";
1157 - };
1158 -
1159 - pins_led_29_a: led_29-a-pins {
1160 - function = "led_29";
1161 - groups = "led_29_grp_a";
1162 - };
1163 -
1164 - pins_led_30_a: led_30-a-pins {
1165 - function = "led_30";
1166 - groups = "led_30_grp_a";
1167 - };
1168 -
1169 - pins_led_31_a: led_31-a-pins {
1170 - function = "led_31";
1171 - groups = "led_31_grp_a";
1172 - };
1173 -
1174 - pins_hs_uart: hs_uart-pins {
1175 - function = "hs_uart";
1176 - groups = "hs_uart_grp";
1177 - };
1178 -
1179 - pins_i2c_a: i2c-a-pins {
1180 - function = "i2c";
1181 - groups = "i2c_grp_a";
1182 - };
1183 -
1184 - pins_i2c_b: i2c-b-pins {
1185 - function = "i2c";
1186 - groups = "i2c_grp_b";
1187 - };
1188 -
1189 - pins_i2s: i2s-pins {
1190 - function = "i2s";
1191 - groups = "i2s_grp";
1192 - };
1193 -
1194 - pins_nand_ctrl: nand_ctrl-pins {
1195 - function = "nand_ctrl";
1196 - groups = "nand_ctrl_grp";
1197 - };
1198 -
1199 - pins_nand_data: nand_data-pins {
1200 - function = "nand_data";
1201 - groups = "nand_data_grp";
1202 - };
1203 -
1204 - pins_emmc_ctrl: emmc_ctrl-pins {
1205 - function = "emmc_ctrl";
1206 - groups = "emmc_ctrl_grp";
1207 - };
1208 -
1209 - pins_usb0_pwr: usb0_pwr-pins {
1210 - function = "usb0_pwr";
1211 - groups = "usb0_pwr_grp";
1212 - };
1213 -
1214 - pins_usb1_pwr: usb1_pwr-pins {
1215 - function = "usb1_pwr";
1216 - groups = "usb1_pwr_grp";
1217 - };
1218 - };
1219 -
1220 - uart0: serial@640 {
1221 - compatible = "brcm,bcm6345-uart";
1222 - reg = <0x640 0x18>;
1223 - interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1224 - clocks = <&periph_clk>;
1225 - clock-names = "refclk";
1226 - status = "okay";
1227 - };
1228 -
1229 - leds: leds@800 {
1230 - compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
1231 - reg = <0x800 0xdc>;
1232 -
1233 - #address-cells = <1>;
1234 - #size-cells = <0>;
1235 - };
1236 -
1237 - nand-controller@1800 {
1238 - #address-cells = <1>;
1239 - #size-cells = <0>;
1240 - compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
1241 - reg = <0x1800 0x600>, <0x2000 0x10>;
1242 - reg-names = "nand", "nand-int-base";
1243 - interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1244 - interrupt-names = "nand";
1245 - status = "okay";
1246 -
1247 - nandcs: nand@0 {
1248 - compatible = "brcm,nandcs";
1249 - reg = <0>;
1250 - };
1251 - };
1252 -
1253 - i2c@2100 {
1254 - compatible = "brcm,brcmper-i2c";
1255 - reg = <0x2100 0x58>;
1256 - clock-frequency = <97500>;
1257 - pinctrl-names = "default";
1258 - pinctrl-0 = <&pins_i2c_a>;
1259 - status = "disabled";
1260 - };
1261 -
1262 - misc@2600 {
1263 - compatible = "brcm,misc", "simple-mfd";
1264 - reg = <0x2600 0xe4>;
1265 -
1266 - #address-cells = <1>;
1267 - #size-cells = <1>;
1268 - ranges = <0x00 0x2600 0xe4>;
1269 -
1270 - reset-controller@2644 {
1271 - compatible = "brcm,bcm4908-misc-pcie-reset";
1272 - reg = <0x44 0x04>;
1273 - #reset-cells = <1>;
1274 - };
1275 - };
1276 - };
1277 -
1278 - reboot {
1279 - compatible = "syscon-reboot";
1280 - regmap = <&twd>;
1281 - offset = <0x34>;
1282 - mask = <1>;
1283 - };
1284 -};
1285 --- /dev/null
1286 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts
1287 @@ -0,0 +1,157 @@
1288 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
1289 +
1290 +#include <dt-bindings/gpio/gpio.h>
1291 +#include <dt-bindings/input/input.h>
1292 +#include <dt-bindings/leds/common.h>
1293 +
1294 +#include "bcm4906.dtsi"
1295 +
1296 +/ {
1297 + compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
1298 + model = "Netgear R8000P";
1299 +
1300 + memory@0 {
1301 + device_type = "memory";
1302 + reg = <0x00 0x00 0x00 0x20000000>;
1303 + };
1304 +
1305 + leds {
1306 + compatible = "gpio-leds";
1307 +
1308 + led-power-white {
1309 + function = LED_FUNCTION_POWER;
1310 + color = <LED_COLOR_ID_WHITE>;
1311 + gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
1312 + };
1313 +
1314 + led-power-amber {
1315 + function = LED_FUNCTION_POWER;
1316 + color = <LED_COLOR_ID_AMBER>;
1317 + gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
1318 + };
1319 +
1320 + led-wps {
1321 + function = LED_FUNCTION_WPS;
1322 + color = <LED_COLOR_ID_WHITE>;
1323 + gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
1324 + };
1325 +
1326 + led-2ghz {
1327 + function = "2ghz";
1328 + color = <LED_COLOR_ID_WHITE>;
1329 + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
1330 + };
1331 +
1332 + led-5ghz-1 {
1333 + function = "5ghz-1";
1334 + color = <LED_COLOR_ID_WHITE>;
1335 + gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
1336 + };
1337 +
1338 + led-5ghz-2 {
1339 + function = "5ghz-2";
1340 + color = <LED_COLOR_ID_WHITE>;
1341 + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
1342 + };
1343 +
1344 + led-usb2 {
1345 + function = "usb2";
1346 + color = <LED_COLOR_ID_WHITE>;
1347 + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
1348 + };
1349 +
1350 + led-usb3 {
1351 + function = "usb3";
1352 + color = <LED_COLOR_ID_WHITE>;
1353 + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
1354 + };
1355 +
1356 + led-wifi {
1357 + function = "wifi";
1358 + color = <LED_COLOR_ID_WHITE>;
1359 + gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;
1360 + };
1361 + };
1362 +};
1363 +
1364 +&enet {
1365 + nvmem-cells = <&base_mac_addr>;
1366 + nvmem-cell-names = "mac-address";
1367 +};
1368 +
1369 +&usb_phy {
1370 + brcm,ioc = <1>;
1371 + status = "okay";
1372 +};
1373 +
1374 +&ehci {
1375 + status = "okay";
1376 +};
1377 +
1378 +&ohci {
1379 + status = "okay";
1380 +};
1381 +
1382 +&xhci {
1383 + status = "okay";
1384 +};
1385 +
1386 +&ports {
1387 + port@0 {
1388 + label = "lan4";
1389 + };
1390 +
1391 + port@1 {
1392 + label = "lan3";
1393 + };
1394 +
1395 + port@2 {
1396 + label = "lan2";
1397 + };
1398 +
1399 + port@3 {
1400 + label = "lan1";
1401 + };
1402 +
1403 + port@7 {
1404 + reg = <7>;
1405 + phy-mode = "internal";
1406 + phy-handle = <&phy12>;
1407 + label = "wan";
1408 + };
1409 +};
1410 +
1411 +&nandcs {
1412 + nand-ecc-strength = <4>;
1413 + nand-ecc-step-size = <512>;
1414 + nand-on-flash-bbt;
1415 +
1416 + #address-cells = <1>;
1417 + #size-cells = <0>;
1418 +
1419 + partitions {
1420 + compatible = "fixed-partitions";
1421 + #address-cells = <1>;
1422 + #size-cells = <1>;
1423 +
1424 + partition@0 {
1425 + compatible = "nvmem-cells";
1426 + label = "cferom";
1427 + reg = <0x0 0x100000>;
1428 +
1429 + #address-cells = <1>;
1430 + #size-cells = <1>;
1431 + ranges = <0 0x0 0x100000>;
1432 +
1433 + base_mac_addr: mac@106a0 {
1434 + reg = <0x106a0 0x6>;
1435 + };
1436 + };
1437 +
1438 + partition@100000 {
1439 + compatible = "brcm,bcm4908-firmware";
1440 + label = "firmware";
1441 + reg = <0x100000 0x4400000>;
1442 + };
1443 + };
1444 +};
1445 --- /dev/null
1446 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts
1447 @@ -0,0 +1,182 @@
1448 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
1449 +
1450 +#include <dt-bindings/gpio/gpio.h>
1451 +#include <dt-bindings/input/input.h>
1452 +#include <dt-bindings/leds/common.h>
1453 +
1454 +#include "bcm4906.dtsi"
1455 +
1456 +/ {
1457 + compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
1458 + model = "TP-Link Archer C2300 V1";
1459 +
1460 + memory@0 {
1461 + device_type = "memory";
1462 + reg = <0x00 0x00 0x00 0x20000000>;
1463 + };
1464 +
1465 + leds {
1466 + compatible = "gpio-leds";
1467 +
1468 + led-power {
1469 + function = LED_FUNCTION_POWER;
1470 + color = <LED_COLOR_ID_BLUE>;
1471 + gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
1472 + };
1473 +
1474 + led-2ghz {
1475 + function = "2ghz";
1476 + color = <LED_COLOR_ID_BLUE>;
1477 + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
1478 + };
1479 +
1480 + led-5ghz {
1481 + function = "5ghz";
1482 + color = <LED_COLOR_ID_BLUE>;
1483 + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
1484 + };
1485 +
1486 + led-wan-amber {
1487 + function = LED_FUNCTION_WAN;
1488 + color = <LED_COLOR_ID_AMBER>;
1489 + gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
1490 + };
1491 +
1492 + led-wan-blue {
1493 + function = LED_FUNCTION_WAN;
1494 + color = <LED_COLOR_ID_BLUE>;
1495 + gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
1496 + };
1497 +
1498 + led-lan {
1499 + function = LED_FUNCTION_LAN;
1500 + color = <LED_COLOR_ID_BLUE>;
1501 + gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
1502 + };
1503 +
1504 + led-wps {
1505 + function = LED_FUNCTION_WPS;
1506 + color = <LED_COLOR_ID_BLUE>;
1507 + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
1508 + };
1509 +
1510 + led-usb2 {
1511 + function = "usb2";
1512 + color = <LED_COLOR_ID_BLUE>;
1513 + gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
1514 + };
1515 +
1516 + led-usb3 {
1517 + function = "usbd3";
1518 + color = <LED_COLOR_ID_BLUE>;
1519 + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
1520 + };
1521 +
1522 + led-brightness {
1523 + function = LED_FUNCTION_BACKLIGHT;
1524 + color = <LED_COLOR_ID_WHITE>;
1525 + gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
1526 + };
1527 + };
1528 +
1529 + gpio-keys-polled {
1530 + compatible = "gpio-keys-polled";
1531 + poll-interval = <100>;
1532 +
1533 + key-brightness {
1534 + label = "LEDs";
1535 + linux,code = <KEY_BRIGHTNESS_ZERO>;
1536 + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
1537 + };
1538 +
1539 + key-wps {
1540 + label = "WPS";
1541 + linux,code = <KEY_WPS_BUTTON>;
1542 + gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
1543 + };
1544 +
1545 + key-wifi {
1546 + label = "WiFi";
1547 + linux,code = <KEY_RFKILL>;
1548 + gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
1549 + };
1550 +
1551 + key-restart {
1552 + label = "Reset";
1553 + linux,code = <KEY_RESTART>;
1554 + gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
1555 + };
1556 + };
1557 +};
1558 +
1559 +&usb_phy {
1560 + brcm,ioc = <1>;
1561 + status = "okay";
1562 +};
1563 +
1564 +&ehci {
1565 + status = "okay";
1566 +};
1567 +
1568 +&ohci {
1569 + status = "okay";
1570 +};
1571 +
1572 +&xhci {
1573 + status = "okay";
1574 +};
1575 +
1576 +&ports {
1577 + port@0 {
1578 + label = "lan4";
1579 + };
1580 +
1581 + port@1 {
1582 + label = "lan3";
1583 + };
1584 +
1585 + port@2 {
1586 + label = "lan2";
1587 + };
1588 +
1589 + port@3 {
1590 + label = "lan1";
1591 + };
1592 +
1593 + port@7 {
1594 + reg = <7>;
1595 + phy-mode = "internal";
1596 + phy-handle = <&phy12>;
1597 + label = "wan";
1598 + };
1599 +};
1600 +
1601 +&nandcs {
1602 + nand-ecc-strength = <4>;
1603 + nand-ecc-step-size = <512>;
1604 + nand-on-flash-bbt;
1605 +
1606 + #address-cells = <1>;
1607 + #size-cells = <0>;
1608 +
1609 + partitions {
1610 + compatible = "brcm,bcm4908-partitions";
1611 + #address-cells = <1>;
1612 + #size-cells = <1>;
1613 +
1614 + partition@0 {
1615 + label = "cferom";
1616 + reg = <0x0 0x100000>;
1617 + };
1618 +
1619 + partition@100000 {
1620 + compatible = "brcm,bcm4908-firmware";
1621 + reg = <0x100000 0x3900000>;
1622 + };
1623 +
1624 + partition@5800000 {
1625 + compatible = "brcm,bcm4908-firmware";
1626 + reg = <0x3a00000 0x3900000>;
1627 + };
1628 + };
1629 +};
1630 --- /dev/null
1631 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi
1632 @@ -0,0 +1,34 @@
1633 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
1634 +
1635 +#include "bcm4908.dtsi"
1636 +
1637 +/ {
1638 + cpus {
1639 + /delete-node/ cpu@2;
1640 +
1641 + /delete-node/ cpu@3;
1642 + };
1643 +
1644 + timer {
1645 + compatible = "arm,armv8-timer";
1646 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1647 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1648 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1649 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
1650 + };
1651 +
1652 + timer {
1653 + compatible = "arm,armv8-timer";
1654 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1655 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1656 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1657 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
1658 + };
1659 +
1660 + pmu {
1661 + compatible = "arm,cortex-a53-pmu";
1662 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
1663 + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1664 + interrupt-affinity = <&cpu0>, <&cpu1>;
1665 + };
1666 +};
1667 --- /dev/null
1668 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
1669 @@ -0,0 +1,207 @@
1670 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
1671 +
1672 +#include <dt-bindings/gpio/gpio.h>
1673 +#include <dt-bindings/input/input.h>
1674 +#include <dt-bindings/leds/common.h>
1675 +
1676 +#include "bcm4908.dtsi"
1677 +
1678 +/ {
1679 + compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca";
1680 + model = "Asus GT-AC5300";
1681 +
1682 + memory@0 {
1683 + device_type = "memory";
1684 + reg = <0x00 0x00 0x00 0x40000000>;
1685 + };
1686 +
1687 + gpio-keys-polled {
1688 + compatible = "gpio-keys-polled";
1689 + poll-interval = <100>;
1690 +
1691 + key-wifi {
1692 + label = "WiFi";
1693 + linux,code = <KEY_RFKILL>;
1694 + gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
1695 + };
1696 +
1697 + key-wps {
1698 + label = "WPS";
1699 + linux,code = <KEY_WPS_BUTTON>;
1700 + gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
1701 + };
1702 +
1703 + key-restart {
1704 + label = "Reset";
1705 + linux,code = <KEY_RESTART>;
1706 + gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
1707 + };
1708 +
1709 + key-brightness {
1710 + label = "LEDs";
1711 + linux,code = <KEY_BRIGHTNESS_ZERO>;
1712 + gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
1713 + };
1714 + };
1715 +};
1716 +
1717 +&enet {
1718 + nvmem-cells = <&base_mac_addr>;
1719 + nvmem-cell-names = "mac-address";
1720 +};
1721 +
1722 +&usb_phy {
1723 + brcm,ioc = <1>;
1724 + status = "okay";
1725 +};
1726 +
1727 +&ehci {
1728 + status = "okay";
1729 +};
1730 +
1731 +&ohci {
1732 + status = "okay";
1733 +};
1734 +
1735 +&xhci {
1736 + status = "okay";
1737 +};
1738 +
1739 +&ports {
1740 + port@0 {
1741 + label = "lan2";
1742 + };
1743 +
1744 + port@1 {
1745 + label = "lan1";
1746 + };
1747 +
1748 + port@2 {
1749 + label = "lan6";
1750 + };
1751 +
1752 + port@3 {
1753 + label = "lan5";
1754 + };
1755 +
1756 + /* External BCM53134S switch */
1757 + port@7 {
1758 + label = "sw";
1759 + reg = <7>;
1760 + phy-mode = "rgmii";
1761 +
1762 + fixed-link {
1763 + speed = <1000>;
1764 + full-duplex;
1765 + };
1766 + };
1767 +};
1768 +
1769 +&mdio {
1770 + /* lan8 */
1771 + ethernet-phy@0 {
1772 + reg = <0>;
1773 + };
1774 +
1775 + /* lan7 */
1776 + ethernet-phy@1 {
1777 + reg = <1>;
1778 + };
1779 +
1780 + /* lan4 */
1781 + ethernet-phy@2 {
1782 + reg = <2>;
1783 + };
1784 +
1785 + /* lan3 */
1786 + ethernet-phy@3 {
1787 + reg = <3>;
1788 + };
1789 +};
1790 +
1791 +&leds {
1792 + led-power@11 {
1793 + reg = <0x11>;
1794 + function = LED_FUNCTION_POWER;
1795 + color = <LED_COLOR_ID_WHITE>;
1796 + default-state = "on";
1797 + active-low;
1798 + pinctrl-names = "default";
1799 + pinctrl-0 = <&pins_led_17_a>;
1800 + };
1801 +
1802 + led-wan-red@12 {
1803 + reg = <0x12>;
1804 + function = LED_FUNCTION_WAN;
1805 + color = <LED_COLOR_ID_RED>;
1806 + active-low;
1807 + pinctrl-names = "default";
1808 + pinctrl-0 = <&pins_led_18_a>;
1809 + };
1810 +
1811 + led-wps@14 {
1812 + reg = <0x14>;
1813 + function = LED_FUNCTION_WPS;
1814 + color = <LED_COLOR_ID_WHITE>;
1815 + active-low;
1816 + pinctrl-names = "default";
1817 + pinctrl-0 = <&pins_led_20_a>;
1818 + };
1819 +
1820 + led-wan-white@15 {
1821 + reg = <0x15>;
1822 + function = LED_FUNCTION_WAN;
1823 + color = <LED_COLOR_ID_WHITE>;
1824 + active-low;
1825 + pinctrl-names = "default";
1826 + pinctrl-0 = <&pins_led_21_a>;
1827 + };
1828 +
1829 + led-lan@19 {
1830 + reg = <0x19>;
1831 + function = LED_FUNCTION_LAN;
1832 + color = <LED_COLOR_ID_WHITE>;
1833 + pinctrl-names = "default";
1834 + pinctrl-0 = <&pins_led_25_a>;
1835 + };
1836 +};
1837 +
1838 +&nandcs {
1839 + nand-ecc-strength = <4>;
1840 + nand-ecc-step-size = <512>;
1841 + nand-on-flash-bbt;
1842 + brcm,nand-has-wp;
1843 +
1844 + #address-cells = <1>;
1845 + #size-cells = <0>;
1846 +
1847 + partitions {
1848 + compatible = "brcm,bcm4908-partitions";
1849 + #address-cells = <1>;
1850 + #size-cells = <1>;
1851 +
1852 + partition@0 {
1853 + compatible = "nvmem-cells";
1854 + label = "cferom";
1855 + reg = <0x0 0x100000>;
1856 +
1857 + #address-cells = <1>;
1858 + #size-cells = <1>;
1859 + ranges = <0 0x0 0x100000>;
1860 +
1861 + base_mac_addr: mac@106a0 {
1862 + reg = <0x106a0 0x6>;
1863 + };
1864 + };
1865 +
1866 + partition@100000 {
1867 + compatible = "brcm,bcm4908-firmware";
1868 + reg = <0x100000 0x5700000>;
1869 + };
1870 +
1871 + partition@5800000 {
1872 + compatible = "brcm,bcm4908-firmware";
1873 + reg = <0x5800000 0x5700000>;
1874 + };
1875 + };
1876 +};
1877 --- /dev/null
1878 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts
1879 @@ -0,0 +1,50 @@
1880 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
1881 +
1882 +#include "bcm4908.dtsi"
1883 +
1884 +/ {
1885 + compatible = "netgear,raxe500", "brcm,bcm4908", "brcm,bcmbca";
1886 + model = "Netgear RAXE500";
1887 +
1888 + memory@0 {
1889 + device_type = "memory";
1890 + reg = <0x00 0x00 0x00 0x40000000>;
1891 + };
1892 +};
1893 +
1894 +&ehci {
1895 + status = "okay";
1896 +};
1897 +
1898 +&ohci {
1899 + status = "okay";
1900 +};
1901 +
1902 +&xhci {
1903 + status = "okay";
1904 +};
1905 +
1906 +&ports {
1907 + port@0 {
1908 + label = "lan4";
1909 + };
1910 +
1911 + port@1 {
1912 + label = "lan3";
1913 + };
1914 +
1915 + port@2 {
1916 + label = "lan2";
1917 + };
1918 +
1919 + port@3 {
1920 + label = "lan1";
1921 + };
1922 +
1923 + port@7 {
1924 + reg = <7>;
1925 + phy-mode = "internal";
1926 + phy-handle = <&phy12>;
1927 + label = "wan";
1928 + };
1929 +};
1930 --- /dev/null
1931 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
1932 @@ -0,0 +1,575 @@
1933 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
1934 +
1935 +#include <dt-bindings/interrupt-controller/irq.h>
1936 +#include <dt-bindings/interrupt-controller/arm-gic.h>
1937 +#include <dt-bindings/phy/phy.h>
1938 +#include <dt-bindings/soc/bcm-pmb.h>
1939 +
1940 +/dts-v1/;
1941 +
1942 +/ {
1943 + interrupt-parent = <&gic>;
1944 +
1945 + #address-cells = <2>;
1946 + #size-cells = <2>;
1947 +
1948 + aliases {
1949 + serial0 = &uart0;
1950 + };
1951 +
1952 + chosen {
1953 + stdout-path = "serial0:115200n8";
1954 + };
1955 +
1956 + cpus {
1957 + #address-cells = <1>;
1958 + #size-cells = <0>;
1959 +
1960 + cpu0: cpu@0 {
1961 + device_type = "cpu";
1962 + compatible = "brcm,brahma-b53";
1963 + reg = <0x0>;
1964 + enable-method = "spin-table";
1965 + cpu-release-addr = <0x0 0xfff8>;
1966 + next-level-cache = <&l2>;
1967 + };
1968 +
1969 + cpu1: cpu@1 {
1970 + device_type = "cpu";
1971 + compatible = "brcm,brahma-b53";
1972 + reg = <0x1>;
1973 + enable-method = "spin-table";
1974 + cpu-release-addr = <0x0 0xfff8>;
1975 + next-level-cache = <&l2>;
1976 + };
1977 +
1978 + cpu2: cpu@2 {
1979 + device_type = "cpu";
1980 + compatible = "brcm,brahma-b53";
1981 + reg = <0x2>;
1982 + enable-method = "spin-table";
1983 + cpu-release-addr = <0x0 0xfff8>;
1984 + next-level-cache = <&l2>;
1985 + };
1986 +
1987 + cpu3: cpu@3 {
1988 + device_type = "cpu";
1989 + compatible = "brcm,brahma-b53";
1990 + reg = <0x3>;
1991 + enable-method = "spin-table";
1992 + cpu-release-addr = <0x0 0xfff8>;
1993 + next-level-cache = <&l2>;
1994 + };
1995 +
1996 + l2: l2-cache0 {
1997 + compatible = "cache";
1998 + };
1999 + };
2000 +
2001 + axi@81000000 {
2002 + compatible = "simple-bus";
2003 + #address-cells = <1>;
2004 + #size-cells = <1>;
2005 + ranges = <0x00 0x00 0x81000000 0x4000>;
2006 +
2007 + gic: interrupt-controller@1000 {
2008 + compatible = "arm,gic-400";
2009 + #interrupt-cells = <3>;
2010 + #address-cells = <0>;
2011 + interrupt-controller;
2012 + reg = <0x1000 0x1000>,
2013 + <0x2000 0x2000>;
2014 + };
2015 + };
2016 +
2017 + timer {
2018 + compatible = "arm,armv8-timer";
2019 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2020 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2021 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2022 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2023 + };
2024 +
2025 + pmu {
2026 + compatible = "arm,cortex-a53-pmu";
2027 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
2028 + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
2029 + <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
2030 + <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2031 + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
2032 + };
2033 +
2034 + clocks {
2035 + periph_clk: periph_clk {
2036 + compatible = "fixed-clock";
2037 + #clock-cells = <0>;
2038 + clock-frequency = <50000000>;
2039 + clock-output-names = "periph";
2040 + };
2041 + };
2042 +
2043 + soc {
2044 + compatible = "simple-bus";
2045 + #address-cells = <1>;
2046 + #size-cells = <1>;
2047 + ranges = <0x00 0x00 0x80000000 0x281000>;
2048 +
2049 + enet: ethernet@2000 {
2050 + compatible = "brcm,bcm4908-enet";
2051 + reg = <0x2000 0x1000>;
2052 +
2053 + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
2054 + <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
2055 + interrupt-names = "rx", "tx";
2056 + };
2057 +
2058 + usb_phy: usb-phy@c200 {
2059 + compatible = "brcm,bcm4908-usb-phy";
2060 + reg = <0xc200 0x100>;
2061 + reg-names = "ctrl";
2062 + power-domains = <&pmb BCM_PMB_HOST_USB>;
2063 + dr_mode = "host";
2064 + brcm,has-xhci;
2065 + brcm,has-eohci;
2066 + #phy-cells = <1>;
2067 + status = "disabled";
2068 + };
2069 +
2070 + ehci: usb@c300 {
2071 + compatible = "generic-ehci";
2072 + reg = <0xc300 0x100>;
2073 + interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
2074 + phys = <&usb_phy PHY_TYPE_USB2>;
2075 + status = "disabled";
2076 + };
2077 +
2078 + ohci: usb@c400 {
2079 + compatible = "generic-ohci";
2080 + reg = <0xc400 0x100>;
2081 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
2082 + phys = <&usb_phy PHY_TYPE_USB2>;
2083 + status = "disabled";
2084 + };
2085 +
2086 + xhci: usb@d000 {
2087 + compatible = "generic-xhci";
2088 + reg = <0xd000 0x8c8>;
2089 + interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
2090 + phys = <&usb_phy PHY_TYPE_USB3>;
2091 + status = "disabled";
2092 + };
2093 +
2094 + bus@80000 {
2095 + compatible = "simple-bus";
2096 + #size-cells = <1>;
2097 + #address-cells = <1>;
2098 + ranges = <0 0x80000 0x50000>;
2099 +
2100 + ethernet-switch@0 {
2101 + compatible = "brcm,bcm4908-switch";
2102 + reg = <0x0 0x40000>,
2103 + <0x40000 0x110>,
2104 + <0x40340 0x30>,
2105 + <0x40380 0x30>,
2106 + <0x40600 0x34>,
2107 + <0x40800 0x208>;
2108 + reg-names = "core", "reg", "intrl2_0",
2109 + "intrl2_1", "fcb", "acb";
2110 + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
2111 + <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
2112 + brcm,num-gphy = <5>;
2113 + brcm,num-rgmii-ports = <2>;
2114 +
2115 + #address-cells = <1>;
2116 + #size-cells = <0>;
2117 +
2118 + ports: ports {
2119 + #address-cells = <1>;
2120 + #size-cells = <0>;
2121 +
2122 + port@0 {
2123 + reg = <0>;
2124 + phy-mode = "internal";
2125 + phy-handle = <&phy8>;
2126 + };
2127 +
2128 + port@1 {
2129 + reg = <1>;
2130 + phy-mode = "internal";
2131 + phy-handle = <&phy9>;
2132 + };
2133 +
2134 + port@2 {
2135 + reg = <2>;
2136 + phy-mode = "internal";
2137 + phy-handle = <&phy10>;
2138 + };
2139 +
2140 + port@3 {
2141 + reg = <3>;
2142 + phy-mode = "internal";
2143 + phy-handle = <&phy11>;
2144 + };
2145 +
2146 + port@8 {
2147 + reg = <8>;
2148 + phy-mode = "internal";
2149 + ethernet = <&enet>;
2150 +
2151 + fixed-link {
2152 + speed = <1000>;
2153 + full-duplex;
2154 + };
2155 + };
2156 + };
2157 + };
2158 +
2159 + mdio: mdio@405c0 {
2160 + compatible = "brcm,unimac-mdio";
2161 + reg = <0x405c0 0x8>;
2162 + reg-names = "mdio";
2163 + #size-cells = <0>;
2164 + #address-cells = <1>;
2165 +
2166 + phy8: ethernet-phy@8 {
2167 + reg = <8>;
2168 + };
2169 +
2170 + phy9: ethernet-phy@9 {
2171 + reg = <9>;
2172 + };
2173 +
2174 + phy10: ethernet-phy@a {
2175 + reg = <10>;
2176 + };
2177 +
2178 + phy11: ethernet-phy@b {
2179 + reg = <11>;
2180 + };
2181 +
2182 + phy12: ethernet-phy@c {
2183 + reg = <12>;
2184 + };
2185 + };
2186 + };
2187 +
2188 + procmon: syscon@280000 {
2189 + compatible = "simple-bus";
2190 + reg = <0x280000 0x1000>;
2191 + ranges;
2192 +
2193 + #address-cells = <1>;
2194 + #size-cells = <1>;
2195 +
2196 + pmb: power-controller@2800c0 {
2197 + compatible = "brcm,bcm4908-pmb";
2198 + reg = <0x2800c0 0x40>;
2199 + #power-domain-cells = <1>;
2200 + };
2201 + };
2202 + };
2203 +
2204 + bus@ff800000 {
2205 + compatible = "simple-bus";
2206 + #address-cells = <1>;
2207 + #size-cells = <1>;
2208 + ranges = <0x00 0x00 0xff800000 0x3000>;
2209 +
2210 + twd: timer-mfd@400 {
2211 + compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
2212 + reg = <0x400 0x4c>;
2213 + ranges = <0x0 0x400 0x4c>;
2214 +
2215 + #address-cells = <1>;
2216 + #size-cells = <1>;
2217 +
2218 + watchdog@28 {
2219 + compatible = "brcm,bcm6345-wdt";
2220 + reg = <0x28 0x8>;
2221 + };
2222 + };
2223 +
2224 + gpio0: gpio-controller@500 {
2225 + compatible = "brcm,bcm6345-gpio";
2226 + reg-names = "dirout", "dat";
2227 + reg = <0x500 0x28>, <0x528 0x28>;
2228 +
2229 + #gpio-cells = <2>;
2230 + gpio-controller;
2231 + };
2232 +
2233 + pinctrl@560 {
2234 + compatible = "brcm,bcm4908-pinctrl";
2235 + reg = <0x560 0x10>;
2236 +
2237 + pins_led_0_a: led_0-a-pins {
2238 + function = "led_0";
2239 + groups = "led_0_grp_a";
2240 + };
2241 +
2242 + pins_led_1_a: led_1-a-pins {
2243 + function = "led_1";
2244 + groups = "led_1_grp_a";
2245 + };
2246 +
2247 + pins_led_2_a: led_2-a-pins {
2248 + function = "led_2";
2249 + groups = "led_2_grp_a";
2250 + };
2251 +
2252 + pins_led_3_a: led_3-a-pins {
2253 + function = "led_3";
2254 + groups = "led_3_grp_a";
2255 + };
2256 +
2257 + pins_led_4_a: led_4-a-pins {
2258 + function = "led_4";
2259 + groups = "led_4_grp_a";
2260 + };
2261 +
2262 + pins_led_5_a: led_5-a-pins {
2263 + function = "led_5";
2264 + groups = "led_5_grp_a";
2265 + };
2266 +
2267 + pins_led_6_a: led_6-a-pins {
2268 + function = "led_6";
2269 + groups = "led_6_grp_a";
2270 + };
2271 +
2272 + pins_led_7_a: led_7-a-pins {
2273 + function = "led_7";
2274 + groups = "led_7_grp_a";
2275 + };
2276 +
2277 + pins_led_8_a: led_8-a-pins {
2278 + function = "led_8";
2279 + groups = "led_8_grp_a";
2280 + };
2281 +
2282 + pins_led_9_a: led_9-a-pins {
2283 + function = "led_9";
2284 + groups = "led_9_grp_a";
2285 + };
2286 +
2287 + pins_led_10_a: led_10-a-pins {
2288 + function = "led_10";
2289 + groups = "led_10_grp_a";
2290 + };
2291 +
2292 + pins_led_11_a: led_11-a-pins {
2293 + function = "led_11";
2294 + groups = "led_11_grp_a";
2295 + };
2296 +
2297 + pins_led_12_a: led_12-a-pins {
2298 + function = "led_12";
2299 + groups = "led_12_grp_a";
2300 + };
2301 +
2302 + pins_led_13_a: led_13-a-pins {
2303 + function = "led_13";
2304 + groups = "led_13_grp_a";
2305 + };
2306 +
2307 + pins_led_14_a: led_14-a-pins {
2308 + function = "led_14";
2309 + groups = "led_14_grp_a";
2310 + };
2311 +
2312 + pins_led_15_a: led_15-a-pins {
2313 + function = "led_15";
2314 + groups = "led_15_grp_a";
2315 + };
2316 +
2317 + pins_led_16_a: led_16-a-pins {
2318 + function = "led_16";
2319 + groups = "led_16_grp_a";
2320 + };
2321 +
2322 + pins_led_17_a: led_17-a-pins {
2323 + function = "led_17";
2324 + groups = "led_17_grp_a";
2325 + };
2326 +
2327 + pins_led_18_a: led_18-a-pins {
2328 + function = "led_18";
2329 + groups = "led_18_grp_a";
2330 + };
2331 +
2332 + pins_led_19_a: led_19-a-pins {
2333 + function = "led_19";
2334 + groups = "led_19_grp_a";
2335 + };
2336 +
2337 + pins_led_20_a: led_20-a-pins {
2338 + function = "led_20";
2339 + groups = "led_20_grp_a";
2340 + };
2341 +
2342 + pins_led_21_a: led_21-a-pins {
2343 + function = "led_21";
2344 + groups = "led_21_grp_a";
2345 + };
2346 +
2347 + pins_led_22_a: led_22-a-pins {
2348 + function = "led_22";
2349 + groups = "led_22_grp_a";
2350 + };
2351 +
2352 + pins_led_23_a: led_23-a-pins {
2353 + function = "led_23";
2354 + groups = "led_23_grp_a";
2355 + };
2356 +
2357 + pins_led_24_a: led_24-a-pins {
2358 + function = "led_24";
2359 + groups = "led_24_grp_a";
2360 + };
2361 +
2362 + pins_led_25_a: led_25-a-pins {
2363 + function = "led_25";
2364 + groups = "led_25_grp_a";
2365 + };
2366 +
2367 + pins_led_26_a: led_26-a-pins {
2368 + function = "led_26";
2369 + groups = "led_26_grp_a";
2370 + };
2371 +
2372 + pins_led_27_a: led_27-a-pins {
2373 + function = "led_27";
2374 + groups = "led_27_grp_a";
2375 + };
2376 +
2377 + pins_led_28_a: led_28-a-pins {
2378 + function = "led_28";
2379 + groups = "led_28_grp_a";
2380 + };
2381 +
2382 + pins_led_29_a: led_29-a-pins {
2383 + function = "led_29";
2384 + groups = "led_29_grp_a";
2385 + };
2386 +
2387 + pins_led_30_a: led_30-a-pins {
2388 + function = "led_30";
2389 + groups = "led_30_grp_a";
2390 + };
2391 +
2392 + pins_led_31_a: led_31-a-pins {
2393 + function = "led_31";
2394 + groups = "led_31_grp_a";
2395 + };
2396 +
2397 + pins_hs_uart: hs_uart-pins {
2398 + function = "hs_uart";
2399 + groups = "hs_uart_grp";
2400 + };
2401 +
2402 + pins_i2c_a: i2c-a-pins {
2403 + function = "i2c";
2404 + groups = "i2c_grp_a";
2405 + };
2406 +
2407 + pins_i2c_b: i2c-b-pins {
2408 + function = "i2c";
2409 + groups = "i2c_grp_b";
2410 + };
2411 +
2412 + pins_i2s: i2s-pins {
2413 + function = "i2s";
2414 + groups = "i2s_grp";
2415 + };
2416 +
2417 + pins_nand_ctrl: nand_ctrl-pins {
2418 + function = "nand_ctrl";
2419 + groups = "nand_ctrl_grp";
2420 + };
2421 +
2422 + pins_nand_data: nand_data-pins {
2423 + function = "nand_data";
2424 + groups = "nand_data_grp";
2425 + };
2426 +
2427 + pins_emmc_ctrl: emmc_ctrl-pins {
2428 + function = "emmc_ctrl";
2429 + groups = "emmc_ctrl_grp";
2430 + };
2431 +
2432 + pins_usb0_pwr: usb0_pwr-pins {
2433 + function = "usb0_pwr";
2434 + groups = "usb0_pwr_grp";
2435 + };
2436 +
2437 + pins_usb1_pwr: usb1_pwr-pins {
2438 + function = "usb1_pwr";
2439 + groups = "usb1_pwr_grp";
2440 + };
2441 + };
2442 +
2443 + uart0: serial@640 {
2444 + compatible = "brcm,bcm6345-uart";
2445 + reg = <0x640 0x18>;
2446 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
2447 + clocks = <&periph_clk>;
2448 + clock-names = "refclk";
2449 + status = "okay";
2450 + };
2451 +
2452 + leds: leds@800 {
2453 + compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
2454 + reg = <0x800 0xdc>;
2455 +
2456 + #address-cells = <1>;
2457 + #size-cells = <0>;
2458 + };
2459 +
2460 + nand-controller@1800 {
2461 + #address-cells = <1>;
2462 + #size-cells = <0>;
2463 + compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
2464 + reg = <0x1800 0x600>, <0x2000 0x10>;
2465 + reg-names = "nand", "nand-int-base";
2466 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
2467 + interrupt-names = "nand";
2468 + status = "okay";
2469 +
2470 + nandcs: nand@0 {
2471 + compatible = "brcm,nandcs";
2472 + reg = <0>;
2473 + };
2474 + };
2475 +
2476 + i2c@2100 {
2477 + compatible = "brcm,brcmper-i2c";
2478 + reg = <0x2100 0x58>;
2479 + clock-frequency = <97500>;
2480 + pinctrl-names = "default";
2481 + pinctrl-0 = <&pins_i2c_a>;
2482 + status = "disabled";
2483 + };
2484 +
2485 + misc@2600 {
2486 + compatible = "brcm,misc", "simple-mfd";
2487 + reg = <0x2600 0xe4>;
2488 +
2489 + #address-cells = <1>;
2490 + #size-cells = <1>;
2491 + ranges = <0x00 0x2600 0xe4>;
2492 +
2493 + reset-controller@2644 {
2494 + compatible = "brcm,bcm4908-misc-pcie-reset";
2495 + reg = <0x44 0x04>;
2496 + #reset-cells = <1>;
2497 + };
2498 + };
2499 + };
2500 +
2501 + reboot {
2502 + compatible = "syscon-reboot";
2503 + regmap = <&twd>;
2504 + offset = <0x34>;
2505 + mask = <1>;
2506 + };
2507 +};