From ded8f22945899f4e87dd6d952bbc4abce6e64b7e Mon Sep 17 00:00:00 2001 From: William Zhang Date: Wed, 3 Aug 2022 10:54:50 -0700 Subject: [PATCH] arm64: dts: Move BCM4908 dts to bcmbca folder As part of ARCH_BCM4908 to ARCH_BCMBCA migration, move the BCM4908 dts files to bcmbca folder and use CONFIG_ARCH_BCMBCA to build all the BCM4908 board dts. Delete bcm4908 folder and its makefile as well. Signed-off-by: William Zhang Link: https://lore.kernel.org/r/20220803175455.47638-5-william.zhang@broadcom.com Signed-off-by: Florian Fainelli --- arch/arm64/boot/dts/broadcom/Makefile | 1 - arch/arm64/boot/dts/broadcom/bcm4908/Makefile | 5 ----- arch/arm64/boot/dts/broadcom/bcmbca/Makefile | 4 ++++ .../broadcom/{bcm4908 => bcmbca}/bcm4906-netgear-r8000p.dts | 0 .../{bcm4908 => bcmbca}/bcm4906-tplink-archer-c2300-v1.dts | 0 .../arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906.dtsi | 0 .../broadcom/{bcm4908 => bcmbca}/bcm4908-asus-gt-ac5300.dts | 0 .../broadcom/{bcm4908 => bcmbca}/bcm4908-netgear-raxe500.dts | 0 .../arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908.dtsi | 0 9 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/Makefile rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906-netgear-r8000p.dts (100%) rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906-tplink-archer-c2300-v1.dts (100%) rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906.dtsi (100%) rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908-asus-gt-ac5300.dts (100%) rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908-netgear-raxe500.dts (100%) rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908.dtsi (100%) --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -4,7 +4,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rp bcm2837-rpi-3-b-plus.dtb \ bcm2837-rpi-cm3-io3.dtb -subdir-y += bcm4908 subdir-y += bcmbca subdir-y += northstar2 subdir-y += stingray --- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb -dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb -dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb -dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-netgear-raxe500.dtb --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile @@ -1,5 +1,9 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_BCMBCA) += \ + bcm4906-netgear-r8000p.dtb \ + bcm4906-tplink-archer-c2300-v1.dtb \ + bcm4908-asus-gt-ac5300.dtb \ + bcm4908-netgear-raxe500.dtb \ bcm4912-asus-gt-ax6000.dtb \ bcm94912.dtb \ bcm963158.dtb \ --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts +++ /dev/null @@ -1,157 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include -#include -#include - -#include "bcm4906.dtsi" - -/ { - compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca"; - model = "Netgear R8000P"; - - memory@0 { - device_type = "memory"; - reg = <0x00 0x00 0x00 0x20000000>; - }; - - leds { - compatible = "gpio-leds"; - - led-power-white { - function = LED_FUNCTION_POWER; - color = ; - gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; - }; - - led-power-amber { - function = LED_FUNCTION_POWER; - color = ; - gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; - }; - - led-wps { - function = LED_FUNCTION_WPS; - color = ; - gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; - }; - - led-2ghz { - function = "2ghz"; - color = ; - gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; - }; - - led-5ghz-1 { - function = "5ghz-1"; - color = ; - gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; - }; - - led-5ghz-2 { - function = "5ghz-2"; - color = ; - gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; - }; - - led-usb2 { - function = "usb2"; - color = ; - gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; - }; - - led-usb3 { - function = "usb3"; - color = ; - gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; - }; - - led-wifi { - function = "wifi"; - color = ; - gpios = <&gpio0 56 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&enet { - nvmem-cells = <&base_mac_addr>; - nvmem-cell-names = "mac-address"; -}; - -&usb_phy { - brcm,ioc = <1>; - status = "okay"; -}; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&xhci { - status = "okay"; -}; - -&ports { - port@0 { - label = "lan4"; - }; - - port@1 { - label = "lan3"; - }; - - port@2 { - label = "lan2"; - }; - - port@3 { - label = "lan1"; - }; - - port@7 { - reg = <7>; - phy-mode = "internal"; - phy-handle = <&phy12>; - label = "wan"; - }; -}; - -&nandcs { - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-on-flash-bbt; - - #address-cells = <1>; - #size-cells = <0>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - compatible = "nvmem-cells"; - label = "cferom"; - reg = <0x0 0x100000>; - - #address-cells = <1>; - #size-cells = <1>; - ranges = <0 0x0 0x100000>; - - base_mac_addr: mac@106a0 { - reg = <0x106a0 0x6>; - }; - }; - - partition@100000 { - compatible = "brcm,bcm4908-firmware"; - label = "firmware"; - reg = <0x100000 0x4400000>; - }; - }; -}; --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts +++ /dev/null @@ -1,182 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include -#include -#include - -#include "bcm4906.dtsi" - -/ { - compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca"; - model = "TP-Link Archer C2300 V1"; - - memory@0 { - device_type = "memory"; - reg = <0x00 0x00 0x00 0x20000000>; - }; - - leds { - compatible = "gpio-leds"; - - led-power { - function = LED_FUNCTION_POWER; - color = ; - gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; - }; - - led-2ghz { - function = "2ghz"; - color = ; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - }; - - led-5ghz { - function = "5ghz"; - color = ; - gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; - }; - - led-wan-amber { - function = LED_FUNCTION_WAN; - color = ; - gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; - }; - - led-wan-blue { - function = LED_FUNCTION_WAN; - color = ; - gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; - }; - - led-lan { - function = LED_FUNCTION_LAN; - color = ; - gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; - }; - - led-wps { - function = LED_FUNCTION_WPS; - color = ; - gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; - }; - - led-usb2 { - function = "usb2"; - color = ; - gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; - }; - - led-usb3 { - function = "usbd3"; - color = ; - gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; - }; - - led-brightness { - function = LED_FUNCTION_BACKLIGHT; - color = ; - gpios = <&gpio0 19 GPIO_ACTIVE_LOW>; - }; - }; - - gpio-keys-polled { - compatible = "gpio-keys-polled"; - poll-interval = <100>; - - key-brightness { - label = "LEDs"; - linux,code = ; - gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; - }; - - key-wps { - label = "WPS"; - linux,code = ; - gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; - }; - - key-wifi { - label = "WiFi"; - linux,code = ; - gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; - }; - - key-restart { - label = "Reset"; - linux,code = ; - gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&usb_phy { - brcm,ioc = <1>; - status = "okay"; -}; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&xhci { - status = "okay"; -}; - -&ports { - port@0 { - label = "lan4"; - }; - - port@1 { - label = "lan3"; - }; - - port@2 { - label = "lan2"; - }; - - port@3 { - label = "lan1"; - }; - - port@7 { - reg = <7>; - phy-mode = "internal"; - phy-handle = <&phy12>; - label = "wan"; - }; -}; - -&nandcs { - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-on-flash-bbt; - - #address-cells = <1>; - #size-cells = <0>; - - partitions { - compatible = "brcm,bcm4908-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "cferom"; - reg = <0x0 0x100000>; - }; - - partition@100000 { - compatible = "brcm,bcm4908-firmware"; - reg = <0x100000 0x3900000>; - }; - - partition@5800000 { - compatible = "brcm,bcm4908-firmware"; - reg = <0x3a00000 0x3900000>; - }; - }; -}; --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "bcm4908.dtsi" - -/ { - cpus { - /delete-node/ cpu@2; - - /delete-node/ cpu@3; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupts = , - , - , - ; - }; - - pmu { - compatible = "arm,cortex-a53-pmu"; - interrupts = , - ; - interrupt-affinity = <&cpu0>, <&cpu1>; - }; -}; --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts +++ /dev/null @@ -1,207 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include -#include -#include - -#include "bcm4908.dtsi" - -/ { - compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca"; - model = "Asus GT-AC5300"; - - memory@0 { - device_type = "memory"; - reg = <0x00 0x00 0x00 0x40000000>; - }; - - gpio-keys-polled { - compatible = "gpio-keys-polled"; - poll-interval = <100>; - - key-wifi { - label = "WiFi"; - linux,code = ; - gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; - }; - - key-wps { - label = "WPS"; - linux,code = ; - gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; - }; - - key-restart { - label = "Reset"; - linux,code = ; - gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; - }; - - key-brightness { - label = "LEDs"; - linux,code = ; - gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&enet { - nvmem-cells = <&base_mac_addr>; - nvmem-cell-names = "mac-address"; -}; - -&usb_phy { - brcm,ioc = <1>; - status = "okay"; -}; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&xhci { - status = "okay"; -}; - -&ports { - port@0 { - label = "lan2"; - }; - - port@1 { - label = "lan1"; - }; - - port@2 { - label = "lan6"; - }; - - port@3 { - label = "lan5"; - }; - - /* External BCM53134S switch */ - port@7 { - label = "sw"; - reg = <7>; - phy-mode = "rgmii"; - - fixed-link { - speed = <1000>; - full-duplex; - }; - }; -}; - -&mdio { - /* lan8 */ - ethernet-phy@0 { - reg = <0>; - }; - - /* lan7 */ - ethernet-phy@1 { - reg = <1>; - }; - - /* lan4 */ - ethernet-phy@2 { - reg = <2>; - }; - - /* lan3 */ - ethernet-phy@3 { - reg = <3>; - }; -}; - -&leds { - led-power@11 { - reg = <0x11>; - function = LED_FUNCTION_POWER; - color = ; - default-state = "on"; - active-low; - pinctrl-names = "default"; - pinctrl-0 = <&pins_led_17_a>; - }; - - led-wan-red@12 { - reg = <0x12>; - function = LED_FUNCTION_WAN; - color = ; - active-low; - pinctrl-names = "default"; - pinctrl-0 = <&pins_led_18_a>; - }; - - led-wps@14 { - reg = <0x14>; - function = LED_FUNCTION_WPS; - color = ; - active-low; - pinctrl-names = "default"; - pinctrl-0 = <&pins_led_20_a>; - }; - - led-wan-white@15 { - reg = <0x15>; - function = LED_FUNCTION_WAN; - color = ; - active-low; - pinctrl-names = "default"; - pinctrl-0 = <&pins_led_21_a>; - }; - - led-lan@19 { - reg = <0x19>; - function = LED_FUNCTION_LAN; - color = ; - pinctrl-names = "default"; - pinctrl-0 = <&pins_led_25_a>; - }; -}; - -&nandcs { - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-on-flash-bbt; - brcm,nand-has-wp; - - #address-cells = <1>; - #size-cells = <0>; - - partitions { - compatible = "brcm,bcm4908-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - compatible = "nvmem-cells"; - label = "cferom"; - reg = <0x0 0x100000>; - - #address-cells = <1>; - #size-cells = <1>; - ranges = <0 0x0 0x100000>; - - base_mac_addr: mac@106a0 { - reg = <0x106a0 0x6>; - }; - }; - - partition@100000 { - compatible = "brcm,bcm4908-firmware"; - reg = <0x100000 0x5700000>; - }; - - partition@5800000 { - compatible = "brcm,bcm4908-firmware"; - reg = <0x5800000 0x5700000>; - }; - }; -}; --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts +++ /dev/null @@ -1,50 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "bcm4908.dtsi" - -/ { - compatible = "netgear,raxe500", "brcm,bcm4908", "brcm,bcmbca"; - model = "Netgear RAXE500"; - - memory@0 { - device_type = "memory"; - reg = <0x00 0x00 0x00 0x40000000>; - }; -}; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&xhci { - status = "okay"; -}; - -&ports { - port@0 { - label = "lan4"; - }; - - port@1 { - label = "lan3"; - }; - - port@2 { - label = "lan2"; - }; - - port@3 { - label = "lan1"; - }; - - port@7 { - reg = <7>; - phy-mode = "internal"; - phy-handle = <&phy12>; - label = "wan"; - }; -}; --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi +++ /dev/null @@ -1,575 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include -#include -#include -#include - -/dts-v1/; - -/ { - interrupt-parent = <&gic>; - - #address-cells = <2>; - #size-cells = <2>; - - aliases { - serial0 = &uart0; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu0: cpu@0 { - device_type = "cpu"; - compatible = "brcm,brahma-b53"; - reg = <0x0>; - enable-method = "spin-table"; - cpu-release-addr = <0x0 0xfff8>; - next-level-cache = <&l2>; - }; - - cpu1: cpu@1 { - device_type = "cpu"; - compatible = "brcm,brahma-b53"; - reg = <0x1>; - enable-method = "spin-table"; - cpu-release-addr = <0x0 0xfff8>; - next-level-cache = <&l2>; - }; - - cpu2: cpu@2 { - device_type = "cpu"; - compatible = "brcm,brahma-b53"; - reg = <0x2>; - enable-method = "spin-table"; - cpu-release-addr = <0x0 0xfff8>; - next-level-cache = <&l2>; - }; - - cpu3: cpu@3 { - device_type = "cpu"; - compatible = "brcm,brahma-b53"; - reg = <0x3>; - enable-method = "spin-table"; - cpu-release-addr = <0x0 0xfff8>; - next-level-cache = <&l2>; - }; - - l2: l2-cache0 { - compatible = "cache"; - }; - }; - - axi@81000000 { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x00 0x00 0x81000000 0x4000>; - - gic: interrupt-controller@1000 { - compatible = "arm,gic-400"; - #interrupt-cells = <3>; - #address-cells = <0>; - interrupt-controller; - reg = <0x1000 0x1000>, - <0x2000 0x2000>; - }; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupts = , - , - , - ; - }; - - pmu { - compatible = "arm,cortex-a53-pmu"; - interrupts = , - , - , - ; - interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; - }; - - clocks { - periph_clk: periph_clk { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <50000000>; - clock-output-names = "periph"; - }; - }; - - soc { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x00 0x00 0x80000000 0x281000>; - - enet: ethernet@2000 { - compatible = "brcm,bcm4908-enet"; - reg = <0x2000 0x1000>; - - interrupts = , - ; - interrupt-names = "rx", "tx"; - }; - - usb_phy: usb-phy@c200 { - compatible = "brcm,bcm4908-usb-phy"; - reg = <0xc200 0x100>; - reg-names = "ctrl"; - power-domains = <&pmb BCM_PMB_HOST_USB>; - dr_mode = "host"; - brcm,has-xhci; - brcm,has-eohci; - #phy-cells = <1>; - status = "disabled"; - }; - - ehci: usb@c300 { - compatible = "generic-ehci"; - reg = <0xc300 0x100>; - interrupts = ; - phys = <&usb_phy PHY_TYPE_USB2>; - status = "disabled"; - }; - - ohci: usb@c400 { - compatible = "generic-ohci"; - reg = <0xc400 0x100>; - interrupts = ; - phys = <&usb_phy PHY_TYPE_USB2>; - status = "disabled"; - }; - - xhci: usb@d000 { - compatible = "generic-xhci"; - reg = <0xd000 0x8c8>; - interrupts = ; - phys = <&usb_phy PHY_TYPE_USB3>; - status = "disabled"; - }; - - bus@80000 { - compatible = "simple-bus"; - #size-cells = <1>; - #address-cells = <1>; - ranges = <0 0x80000 0x50000>; - - ethernet-switch@0 { - compatible = "brcm,bcm4908-switch"; - reg = <0x0 0x40000>, - <0x40000 0x110>, - <0x40340 0x30>, - <0x40380 0x30>, - <0x40600 0x34>, - <0x40800 0x208>; - reg-names = "core", "reg", "intrl2_0", - "intrl2_1", "fcb", "acb"; - interrupts = , - ; - brcm,num-gphy = <5>; - brcm,num-rgmii-ports = <2>; - - #address-cells = <1>; - #size-cells = <0>; - - ports: ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - phy-mode = "internal"; - phy-handle = <&phy8>; - }; - - port@1 { - reg = <1>; - phy-mode = "internal"; - phy-handle = <&phy9>; - }; - - port@2 { - reg = <2>; - phy-mode = "internal"; - phy-handle = <&phy10>; - }; - - port@3 { - reg = <3>; - phy-mode = "internal"; - phy-handle = <&phy11>; - }; - - port@8 { - reg = <8>; - phy-mode = "internal"; - ethernet = <&enet>; - - fixed-link { - speed = <1000>; - full-duplex; - }; - }; - }; - }; - - mdio: mdio@405c0 { - compatible = "brcm,unimac-mdio"; - reg = <0x405c0 0x8>; - reg-names = "mdio"; - #size-cells = <0>; - #address-cells = <1>; - - phy8: ethernet-phy@8 { - reg = <8>; - }; - - phy9: ethernet-phy@9 { - reg = <9>; - }; - - phy10: ethernet-phy@a { - reg = <10>; - }; - - phy11: ethernet-phy@b { - reg = <11>; - }; - - phy12: ethernet-phy@c { - reg = <12>; - }; - }; - }; - - procmon: syscon@280000 { - compatible = "simple-bus"; - reg = <0x280000 0x1000>; - ranges; - - #address-cells = <1>; - #size-cells = <1>; - - pmb: power-controller@2800c0 { - compatible = "brcm,bcm4908-pmb"; - reg = <0x2800c0 0x40>; - #power-domain-cells = <1>; - }; - }; - }; - - bus@ff800000 { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x00 0x00 0xff800000 0x3000>; - - twd: timer-mfd@400 { - compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon"; - reg = <0x400 0x4c>; - ranges = <0x0 0x400 0x4c>; - - #address-cells = <1>; - #size-cells = <1>; - - watchdog@28 { - compatible = "brcm,bcm6345-wdt"; - reg = <0x28 0x8>; - }; - }; - - gpio0: gpio-controller@500 { - compatible = "brcm,bcm6345-gpio"; - reg-names = "dirout", "dat"; - reg = <0x500 0x28>, <0x528 0x28>; - - #gpio-cells = <2>; - gpio-controller; - }; - - pinctrl@560 { - compatible = "brcm,bcm4908-pinctrl"; - reg = <0x560 0x10>; - - pins_led_0_a: led_0-a-pins { - function = "led_0"; - groups = "led_0_grp_a"; - }; - - pins_led_1_a: led_1-a-pins { - function = "led_1"; - groups = "led_1_grp_a"; - }; - - pins_led_2_a: led_2-a-pins { - function = "led_2"; - groups = "led_2_grp_a"; - }; - - pins_led_3_a: led_3-a-pins { - function = "led_3"; - groups = "led_3_grp_a"; - }; - - pins_led_4_a: led_4-a-pins { - function = "led_4"; - groups = "led_4_grp_a"; - }; - - pins_led_5_a: led_5-a-pins { - function = "led_5"; - groups = "led_5_grp_a"; - }; - - pins_led_6_a: led_6-a-pins { - function = "led_6"; - groups = "led_6_grp_a"; - }; - - pins_led_7_a: led_7-a-pins { - function = "led_7"; - groups = "led_7_grp_a"; - }; - - pins_led_8_a: led_8-a-pins { - function = "led_8"; - groups = "led_8_grp_a"; - }; - - pins_led_9_a: led_9-a-pins { - function = "led_9"; - groups = "led_9_grp_a"; - }; - - pins_led_10_a: led_10-a-pins { - function = "led_10"; - groups = "led_10_grp_a"; - }; - - pins_led_11_a: led_11-a-pins { - function = "led_11"; - groups = "led_11_grp_a"; - }; - - pins_led_12_a: led_12-a-pins { - function = "led_12"; - groups = "led_12_grp_a"; - }; - - pins_led_13_a: led_13-a-pins { - function = "led_13"; - groups = "led_13_grp_a"; - }; - - pins_led_14_a: led_14-a-pins { - function = "led_14"; - groups = "led_14_grp_a"; - }; - - pins_led_15_a: led_15-a-pins { - function = "led_15"; - groups = "led_15_grp_a"; - }; - - pins_led_16_a: led_16-a-pins { - function = "led_16"; - groups = "led_16_grp_a"; - }; - - pins_led_17_a: led_17-a-pins { - function = "led_17"; - groups = "led_17_grp_a"; - }; - - pins_led_18_a: led_18-a-pins { - function = "led_18"; - groups = "led_18_grp_a"; - }; - - pins_led_19_a: led_19-a-pins { - function = "led_19"; - groups = "led_19_grp_a"; - }; - - pins_led_20_a: led_20-a-pins { - function = "led_20"; - groups = "led_20_grp_a"; - }; - - pins_led_21_a: led_21-a-pins { - function = "led_21"; - groups = "led_21_grp_a"; - }; - - pins_led_22_a: led_22-a-pins { - function = "led_22"; - groups = "led_22_grp_a"; - }; - - pins_led_23_a: led_23-a-pins { - function = "led_23"; - groups = "led_23_grp_a"; - }; - - pins_led_24_a: led_24-a-pins { - function = "led_24"; - groups = "led_24_grp_a"; - }; - - pins_led_25_a: led_25-a-pins { - function = "led_25"; - groups = "led_25_grp_a"; - }; - - pins_led_26_a: led_26-a-pins { - function = "led_26"; - groups = "led_26_grp_a"; - }; - - pins_led_27_a: led_27-a-pins { - function = "led_27"; - groups = "led_27_grp_a"; - }; - - pins_led_28_a: led_28-a-pins { - function = "led_28"; - groups = "led_28_grp_a"; - }; - - pins_led_29_a: led_29-a-pins { - function = "led_29"; - groups = "led_29_grp_a"; - }; - - pins_led_30_a: led_30-a-pins { - function = "led_30"; - groups = "led_30_grp_a"; - }; - - pins_led_31_a: led_31-a-pins { - function = "led_31"; - groups = "led_31_grp_a"; - }; - - pins_hs_uart: hs_uart-pins { - function = "hs_uart"; - groups = "hs_uart_grp"; - }; - - pins_i2c_a: i2c-a-pins { - function = "i2c"; - groups = "i2c_grp_a"; - }; - - pins_i2c_b: i2c-b-pins { - function = "i2c"; - groups = "i2c_grp_b"; - }; - - pins_i2s: i2s-pins { - function = "i2s"; - groups = "i2s_grp"; - }; - - pins_nand_ctrl: nand_ctrl-pins { - function = "nand_ctrl"; - groups = "nand_ctrl_grp"; - }; - - pins_nand_data: nand_data-pins { - function = "nand_data"; - groups = "nand_data_grp"; - }; - - pins_emmc_ctrl: emmc_ctrl-pins { - function = "emmc_ctrl"; - groups = "emmc_ctrl_grp"; - }; - - pins_usb0_pwr: usb0_pwr-pins { - function = "usb0_pwr"; - groups = "usb0_pwr_grp"; - }; - - pins_usb1_pwr: usb1_pwr-pins { - function = "usb1_pwr"; - groups = "usb1_pwr_grp"; - }; - }; - - uart0: serial@640 { - compatible = "brcm,bcm6345-uart"; - reg = <0x640 0x18>; - interrupts = ; - clocks = <&periph_clk>; - clock-names = "refclk"; - status = "okay"; - }; - - leds: leds@800 { - compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds"; - reg = <0x800 0xdc>; - - #address-cells = <1>; - #size-cells = <0>; - }; - - nand-controller@1800 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand"; - reg = <0x1800 0x600>, <0x2000 0x10>; - reg-names = "nand", "nand-int-base"; - interrupts = ; - interrupt-names = "nand"; - status = "okay"; - - nandcs: nand@0 { - compatible = "brcm,nandcs"; - reg = <0>; - }; - }; - - i2c@2100 { - compatible = "brcm,brcmper-i2c"; - reg = <0x2100 0x58>; - clock-frequency = <97500>; - pinctrl-names = "default"; - pinctrl-0 = <&pins_i2c_a>; - status = "disabled"; - }; - - misc@2600 { - compatible = "brcm,misc", "simple-mfd"; - reg = <0x2600 0xe4>; - - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x00 0x2600 0xe4>; - - reset-controller@2644 { - compatible = "brcm,bcm4908-misc-pcie-reset"; - reg = <0x44 0x04>; - #reset-cells = <1>; - }; - }; - }; - - reboot { - compatible = "syscon-reboot"; - regmap = <&twd>; - offset = <0x34>; - mask = <1>; - }; -}; --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts @@ -0,0 +1,157 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include +#include + +#include "bcm4906.dtsi" + +/ { + compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca"; + model = "Netgear R8000P"; + + memory@0 { + device_type = "memory"; + reg = <0x00 0x00 0x00 0x20000000>; + }; + + leds { + compatible = "gpio-leds"; + + led-power-white { + function = LED_FUNCTION_POWER; + color = ; + gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; + }; + + led-power-amber { + function = LED_FUNCTION_POWER; + color = ; + gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; + }; + + led-wps { + function = LED_FUNCTION_WPS; + color = ; + gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; + }; + + led-2ghz { + function = "2ghz"; + color = ; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + }; + + led-5ghz-1 { + function = "5ghz-1"; + color = ; + gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; + }; + + led-5ghz-2 { + function = "5ghz-2"; + color = ; + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; + }; + + led-usb2 { + function = "usb2"; + color = ; + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; + }; + + led-usb3 { + function = "usb3"; + color = ; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + }; + + led-wifi { + function = "wifi"; + color = ; + gpios = <&gpio0 56 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&enet { + nvmem-cells = <&base_mac_addr>; + nvmem-cell-names = "mac-address"; +}; + +&usb_phy { + brcm,ioc = <1>; + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&xhci { + status = "okay"; +}; + +&ports { + port@0 { + label = "lan4"; + }; + + port@1 { + label = "lan3"; + }; + + port@2 { + label = "lan2"; + }; + + port@3 { + label = "lan1"; + }; + + port@7 { + reg = <7>; + phy-mode = "internal"; + phy-handle = <&phy12>; + label = "wan"; + }; +}; + +&nandcs { + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-on-flash-bbt; + + #address-cells = <1>; + #size-cells = <0>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + compatible = "nvmem-cells"; + label = "cferom"; + reg = <0x0 0x100000>; + + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x0 0x100000>; + + base_mac_addr: mac@106a0 { + reg = <0x106a0 0x6>; + }; + }; + + partition@100000 { + compatible = "brcm,bcm4908-firmware"; + label = "firmware"; + reg = <0x100000 0x4400000>; + }; + }; +}; --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts @@ -0,0 +1,182 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include +#include + +#include "bcm4906.dtsi" + +/ { + compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca"; + model = "TP-Link Archer C2300 V1"; + + memory@0 { + device_type = "memory"; + reg = <0x00 0x00 0x00 0x20000000>; + }; + + leds { + compatible = "gpio-leds"; + + led-power { + function = LED_FUNCTION_POWER; + color = ; + gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; + }; + + led-2ghz { + function = "2ghz"; + color = ; + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + }; + + led-5ghz { + function = "5ghz"; + color = ; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + }; + + led-wan-amber { + function = LED_FUNCTION_WAN; + color = ; + gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; + }; + + led-wan-blue { + function = LED_FUNCTION_WAN; + color = ; + gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; + }; + + led-lan { + function = LED_FUNCTION_LAN; + color = ; + gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; + }; + + led-wps { + function = LED_FUNCTION_WPS; + color = ; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + }; + + led-usb2 { + function = "usb2"; + color = ; + gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; + }; + + led-usb3 { + function = "usbd3"; + color = ; + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; + }; + + led-brightness { + function = LED_FUNCTION_BACKLIGHT; + color = ; + gpios = <&gpio0 19 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + key-brightness { + label = "LEDs"; + linux,code = ; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + }; + + key-wps { + label = "WPS"; + linux,code = ; + gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; + }; + + key-wifi { + label = "WiFi"; + linux,code = ; + gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; + }; + + key-restart { + label = "Reset"; + linux,code = ; + gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&usb_phy { + brcm,ioc = <1>; + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&xhci { + status = "okay"; +}; + +&ports { + port@0 { + label = "lan4"; + }; + + port@1 { + label = "lan3"; + }; + + port@2 { + label = "lan2"; + }; + + port@3 { + label = "lan1"; + }; + + port@7 { + reg = <7>; + phy-mode = "internal"; + phy-handle = <&phy12>; + label = "wan"; + }; +}; + +&nandcs { + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-on-flash-bbt; + + #address-cells = <1>; + #size-cells = <0>; + + partitions { + compatible = "brcm,bcm4908-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "cferom"; + reg = <0x0 0x100000>; + }; + + partition@100000 { + compatible = "brcm,bcm4908-firmware"; + reg = <0x100000 0x3900000>; + }; + + partition@5800000 { + compatible = "brcm,bcm4908-firmware"; + reg = <0x3a00000 0x3900000>; + }; + }; +}; --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "bcm4908.dtsi" + +/ { + cpus { + /delete-node/ cpu@2; + + /delete-node/ cpu@3; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + }; + + pmu { + compatible = "arm,cortex-a53-pmu"; + interrupts = , + ; + interrupt-affinity = <&cpu0>, <&cpu1>; + }; +}; --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include +#include + +#include "bcm4908.dtsi" + +/ { + compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca"; + model = "Asus GT-AC5300"; + + memory@0 { + device_type = "memory"; + reg = <0x00 0x00 0x00 0x40000000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + key-wifi { + label = "WiFi"; + linux,code = ; + gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; + }; + + key-wps { + label = "WPS"; + linux,code = ; + gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; + }; + + key-restart { + label = "Reset"; + linux,code = ; + gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; + }; + + key-brightness { + label = "LEDs"; + linux,code = ; + gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&enet { + nvmem-cells = <&base_mac_addr>; + nvmem-cell-names = "mac-address"; +}; + +&usb_phy { + brcm,ioc = <1>; + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&xhci { + status = "okay"; +}; + +&ports { + port@0 { + label = "lan2"; + }; + + port@1 { + label = "lan1"; + }; + + port@2 { + label = "lan6"; + }; + + port@3 { + label = "lan5"; + }; + + /* External BCM53134S switch */ + port@7 { + label = "sw"; + reg = <7>; + phy-mode = "rgmii"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; +}; + +&mdio { + /* lan8 */ + ethernet-phy@0 { + reg = <0>; + }; + + /* lan7 */ + ethernet-phy@1 { + reg = <1>; + }; + + /* lan4 */ + ethernet-phy@2 { + reg = <2>; + }; + + /* lan3 */ + ethernet-phy@3 { + reg = <3>; + }; +}; + +&leds { + led-power@11 { + reg = <0x11>; + function = LED_FUNCTION_POWER; + color = ; + default-state = "on"; + active-low; + pinctrl-names = "default"; + pinctrl-0 = <&pins_led_17_a>; + }; + + led-wan-red@12 { + reg = <0x12>; + function = LED_FUNCTION_WAN; + color = ; + active-low; + pinctrl-names = "default"; + pinctrl-0 = <&pins_led_18_a>; + }; + + led-wps@14 { + reg = <0x14>; + function = LED_FUNCTION_WPS; + color = ; + active-low; + pinctrl-names = "default"; + pinctrl-0 = <&pins_led_20_a>; + }; + + led-wan-white@15 { + reg = <0x15>; + function = LED_FUNCTION_WAN; + color = ; + active-low; + pinctrl-names = "default"; + pinctrl-0 = <&pins_led_21_a>; + }; + + led-lan@19 { + reg = <0x19>; + function = LED_FUNCTION_LAN; + color = ; + pinctrl-names = "default"; + pinctrl-0 = <&pins_led_25_a>; + }; +}; + +&nandcs { + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-on-flash-bbt; + brcm,nand-has-wp; + + #address-cells = <1>; + #size-cells = <0>; + + partitions { + compatible = "brcm,bcm4908-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + compatible = "nvmem-cells"; + label = "cferom"; + reg = <0x0 0x100000>; + + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x0 0x100000>; + + base_mac_addr: mac@106a0 { + reg = <0x106a0 0x6>; + }; + }; + + partition@100000 { + compatible = "brcm,bcm4908-firmware"; + reg = <0x100000 0x5700000>; + }; + + partition@5800000 { + compatible = "brcm,bcm4908-firmware"; + reg = <0x5800000 0x5700000>; + }; + }; +}; --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "bcm4908.dtsi" + +/ { + compatible = "netgear,raxe500", "brcm,bcm4908", "brcm,bcmbca"; + model = "Netgear RAXE500"; + + memory@0 { + device_type = "memory"; + reg = <0x00 0x00 0x00 0x40000000>; + }; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&xhci { + status = "okay"; +}; + +&ports { + port@0 { + label = "lan4"; + }; + + port@1 { + label = "lan3"; + }; + + port@2 { + label = "lan2"; + }; + + port@3 { + label = "lan1"; + }; + + port@7 { + reg = <7>; + phy-mode = "internal"; + phy-handle = <&phy12>; + label = "wan"; + }; +}; --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi @@ -0,0 +1,575 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include +#include +#include + +/dts-v1/; + +/ { + interrupt-parent = <&gic>; + + #address-cells = <2>; + #size-cells = <2>; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "brcm,brahma-b53"; + reg = <0x0>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "brcm,brahma-b53"; + reg = <0x1>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "brcm,brahma-b53"; + reg = <0x2>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "brcm,brahma-b53"; + reg = <0x3>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + l2: l2-cache0 { + compatible = "cache"; + }; + }; + + axi@81000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x00 0x00 0x81000000 0x4000>; + + gic: interrupt-controller@1000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0x1000 0x1000>, + <0x2000 0x2000>; + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + }; + + pmu { + compatible = "arm,cortex-a53-pmu"; + interrupts = , + , + , + ; + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; + }; + + clocks { + periph_clk: periph_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <50000000>; + clock-output-names = "periph"; + }; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x00 0x00 0x80000000 0x281000>; + + enet: ethernet@2000 { + compatible = "brcm,bcm4908-enet"; + reg = <0x2000 0x1000>; + + interrupts = , + ; + interrupt-names = "rx", "tx"; + }; + + usb_phy: usb-phy@c200 { + compatible = "brcm,bcm4908-usb-phy"; + reg = <0xc200 0x100>; + reg-names = "ctrl"; + power-domains = <&pmb BCM_PMB_HOST_USB>; + dr_mode = "host"; + brcm,has-xhci; + brcm,has-eohci; + #phy-cells = <1>; + status = "disabled"; + }; + + ehci: usb@c300 { + compatible = "generic-ehci"; + reg = <0xc300 0x100>; + interrupts = ; + phys = <&usb_phy PHY_TYPE_USB2>; + status = "disabled"; + }; + + ohci: usb@c400 { + compatible = "generic-ohci"; + reg = <0xc400 0x100>; + interrupts = ; + phys = <&usb_phy PHY_TYPE_USB2>; + status = "disabled"; + }; + + xhci: usb@d000 { + compatible = "generic-xhci"; + reg = <0xd000 0x8c8>; + interrupts = ; + phys = <&usb_phy PHY_TYPE_USB3>; + status = "disabled"; + }; + + bus@80000 { + compatible = "simple-bus"; + #size-cells = <1>; + #address-cells = <1>; + ranges = <0 0x80000 0x50000>; + + ethernet-switch@0 { + compatible = "brcm,bcm4908-switch"; + reg = <0x0 0x40000>, + <0x40000 0x110>, + <0x40340 0x30>, + <0x40380 0x30>, + <0x40600 0x34>, + <0x40800 0x208>; + reg-names = "core", "reg", "intrl2_0", + "intrl2_1", "fcb", "acb"; + interrupts = , + ; + brcm,num-gphy = <5>; + brcm,num-rgmii-ports = <2>; + + #address-cells = <1>; + #size-cells = <0>; + + ports: ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + phy-mode = "internal"; + phy-handle = <&phy8>; + }; + + port@1 { + reg = <1>; + phy-mode = "internal"; + phy-handle = <&phy9>; + }; + + port@2 { + reg = <2>; + phy-mode = "internal"; + phy-handle = <&phy10>; + }; + + port@3 { + reg = <3>; + phy-mode = "internal"; + phy-handle = <&phy11>; + }; + + port@8 { + reg = <8>; + phy-mode = "internal"; + ethernet = <&enet>; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + }; + + mdio: mdio@405c0 { + compatible = "brcm,unimac-mdio"; + reg = <0x405c0 0x8>; + reg-names = "mdio"; + #size-cells = <0>; + #address-cells = <1>; + + phy8: ethernet-phy@8 { + reg = <8>; + }; + + phy9: ethernet-phy@9 { + reg = <9>; + }; + + phy10: ethernet-phy@a { + reg = <10>; + }; + + phy11: ethernet-phy@b { + reg = <11>; + }; + + phy12: ethernet-phy@c { + reg = <12>; + }; + }; + }; + + procmon: syscon@280000 { + compatible = "simple-bus"; + reg = <0x280000 0x1000>; + ranges; + + #address-cells = <1>; + #size-cells = <1>; + + pmb: power-controller@2800c0 { + compatible = "brcm,bcm4908-pmb"; + reg = <0x2800c0 0x40>; + #power-domain-cells = <1>; + }; + }; + }; + + bus@ff800000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x00 0x00 0xff800000 0x3000>; + + twd: timer-mfd@400 { + compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon"; + reg = <0x400 0x4c>; + ranges = <0x0 0x400 0x4c>; + + #address-cells = <1>; + #size-cells = <1>; + + watchdog@28 { + compatible = "brcm,bcm6345-wdt"; + reg = <0x28 0x8>; + }; + }; + + gpio0: gpio-controller@500 { + compatible = "brcm,bcm6345-gpio"; + reg-names = "dirout", "dat"; + reg = <0x500 0x28>, <0x528 0x28>; + + #gpio-cells = <2>; + gpio-controller; + }; + + pinctrl@560 { + compatible = "brcm,bcm4908-pinctrl"; + reg = <0x560 0x10>; + + pins_led_0_a: led_0-a-pins { + function = "led_0"; + groups = "led_0_grp_a"; + }; + + pins_led_1_a: led_1-a-pins { + function = "led_1"; + groups = "led_1_grp_a"; + }; + + pins_led_2_a: led_2-a-pins { + function = "led_2"; + groups = "led_2_grp_a"; + }; + + pins_led_3_a: led_3-a-pins { + function = "led_3"; + groups = "led_3_grp_a"; + }; + + pins_led_4_a: led_4-a-pins { + function = "led_4"; + groups = "led_4_grp_a"; + }; + + pins_led_5_a: led_5-a-pins { + function = "led_5"; + groups = "led_5_grp_a"; + }; + + pins_led_6_a: led_6-a-pins { + function = "led_6"; + groups = "led_6_grp_a"; + }; + + pins_led_7_a: led_7-a-pins { + function = "led_7"; + groups = "led_7_grp_a"; + }; + + pins_led_8_a: led_8-a-pins { + function = "led_8"; + groups = "led_8_grp_a"; + }; + + pins_led_9_a: led_9-a-pins { + function = "led_9"; + groups = "led_9_grp_a"; + }; + + pins_led_10_a: led_10-a-pins { + function = "led_10"; + groups = "led_10_grp_a"; + }; + + pins_led_11_a: led_11-a-pins { + function = "led_11"; + groups = "led_11_grp_a"; + }; + + pins_led_12_a: led_12-a-pins { + function = "led_12"; + groups = "led_12_grp_a"; + }; + + pins_led_13_a: led_13-a-pins { + function = "led_13"; + groups = "led_13_grp_a"; + }; + + pins_led_14_a: led_14-a-pins { + function = "led_14"; + groups = "led_14_grp_a"; + }; + + pins_led_15_a: led_15-a-pins { + function = "led_15"; + groups = "led_15_grp_a"; + }; + + pins_led_16_a: led_16-a-pins { + function = "led_16"; + groups = "led_16_grp_a"; + }; + + pins_led_17_a: led_17-a-pins { + function = "led_17"; + groups = "led_17_grp_a"; + }; + + pins_led_18_a: led_18-a-pins { + function = "led_18"; + groups = "led_18_grp_a"; + }; + + pins_led_19_a: led_19-a-pins { + function = "led_19"; + groups = "led_19_grp_a"; + }; + + pins_led_20_a: led_20-a-pins { + function = "led_20"; + groups = "led_20_grp_a"; + }; + + pins_led_21_a: led_21-a-pins { + function = "led_21"; + groups = "led_21_grp_a"; + }; + + pins_led_22_a: led_22-a-pins { + function = "led_22"; + groups = "led_22_grp_a"; + }; + + pins_led_23_a: led_23-a-pins { + function = "led_23"; + groups = "led_23_grp_a"; + }; + + pins_led_24_a: led_24-a-pins { + function = "led_24"; + groups = "led_24_grp_a"; + }; + + pins_led_25_a: led_25-a-pins { + function = "led_25"; + groups = "led_25_grp_a"; + }; + + pins_led_26_a: led_26-a-pins { + function = "led_26"; + groups = "led_26_grp_a"; + }; + + pins_led_27_a: led_27-a-pins { + function = "led_27"; + groups = "led_27_grp_a"; + }; + + pins_led_28_a: led_28-a-pins { + function = "led_28"; + groups = "led_28_grp_a"; + }; + + pins_led_29_a: led_29-a-pins { + function = "led_29"; + groups = "led_29_grp_a"; + }; + + pins_led_30_a: led_30-a-pins { + function = "led_30"; + groups = "led_30_grp_a"; + }; + + pins_led_31_a: led_31-a-pins { + function = "led_31"; + groups = "led_31_grp_a"; + }; + + pins_hs_uart: hs_uart-pins { + function = "hs_uart"; + groups = "hs_uart_grp"; + }; + + pins_i2c_a: i2c-a-pins { + function = "i2c"; + groups = "i2c_grp_a"; + }; + + pins_i2c_b: i2c-b-pins { + function = "i2c"; + groups = "i2c_grp_b"; + }; + + pins_i2s: i2s-pins { + function = "i2s"; + groups = "i2s_grp"; + }; + + pins_nand_ctrl: nand_ctrl-pins { + function = "nand_ctrl"; + groups = "nand_ctrl_grp"; + }; + + pins_nand_data: nand_data-pins { + function = "nand_data"; + groups = "nand_data_grp"; + }; + + pins_emmc_ctrl: emmc_ctrl-pins { + function = "emmc_ctrl"; + groups = "emmc_ctrl_grp"; + }; + + pins_usb0_pwr: usb0_pwr-pins { + function = "usb0_pwr"; + groups = "usb0_pwr_grp"; + }; + + pins_usb1_pwr: usb1_pwr-pins { + function = "usb1_pwr"; + groups = "usb1_pwr_grp"; + }; + }; + + uart0: serial@640 { + compatible = "brcm,bcm6345-uart"; + reg = <0x640 0x18>; + interrupts = ; + clocks = <&periph_clk>; + clock-names = "refclk"; + status = "okay"; + }; + + leds: leds@800 { + compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds"; + reg = <0x800 0xdc>; + + #address-cells = <1>; + #size-cells = <0>; + }; + + nand-controller@1800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand"; + reg = <0x1800 0x600>, <0x2000 0x10>; + reg-names = "nand", "nand-int-base"; + interrupts = ; + interrupt-names = "nand"; + status = "okay"; + + nandcs: nand@0 { + compatible = "brcm,nandcs"; + reg = <0>; + }; + }; + + i2c@2100 { + compatible = "brcm,brcmper-i2c"; + reg = <0x2100 0x58>; + clock-frequency = <97500>; + pinctrl-names = "default"; + pinctrl-0 = <&pins_i2c_a>; + status = "disabled"; + }; + + misc@2600 { + compatible = "brcm,misc", "simple-mfd"; + reg = <0x2600 0xe4>; + + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x00 0x2600 0xe4>; + + reset-controller@2644 { + compatible = "brcm,bcm4908-misc-pcie-reset"; + reg = <0x44 0x04>; + #reset-cells = <1>; + }; + }; + }; + + reboot { + compatible = "syscon-reboot"; + regmap = <&twd>; + offset = <0x34>; + mask = <1>; + }; +};