diff --git a/target/linux/bmips/bcm6368/base-files/etc/board.d/01_leds b/target/linux/bmips/bcm6368/base-files/etc/board.d/01_leds index e68a4e947b..c7e61fe72f 100644 --- a/target/linux/bmips/bcm6368/base-files/etc/board.d/01_leds +++ b/target/linux/bmips/bcm6368/base-files/etc/board.d/01_leds @@ -6,6 +6,9 @@ board_config_update case "$(board_name)" in +comtrend,wap-5813n) + ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1" + ;; netgear,dgnd3700-v1 |\ netgear,dgnd3800b) ucidef_set_led_netdev "lan" "LAN" "green:lan" "switch.1" @@ -15,6 +18,11 @@ netgear,dgnd3800b) ucidef_set_led_usbport "usb1" "USB1" "green:usb1" "usb1-port1" "usb2-port1" ucidef_set_led_usbport "usb2" "USB2" "green:usb2" "usb1-port2" "usb2-port2" ;; +netgear,evg2000) + ucidef_set_led_netdev "lan" "LAN" "green:lan" "switch.1" + ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan" + ucidef_set_led_usbdev "usb" "USB" "green:usb" "usb1-port1" "usb2-port1" "usb1-port2" "usb2-port2" + ;; observa,vh4032n) ucidef_set_led_usbport "usb1" "USB1" "blue:hspa" "usb1-port1" "usb2-port1" ucidef_set_led_usbport "usb2" "USB2" "red:hspa" "1-2-port1" "1-2-port2" diff --git a/target/linux/bmips/bcm6368/base-files/etc/board.d/02_network b/target/linux/bmips/bcm6368/base-files/etc/board.d/02_network index f99005acd7..58fba05fec 100644 --- a/target/linux/bmips/bcm6368/base-files/etc/board.d/02_network +++ b/target/linux/bmips/bcm6368/base-files/etc/board.d/02_network @@ -10,8 +10,14 @@ observa,vh4032n) ucidef_set_bridge_device switch ucidef_set_interface_lan "lan1 lan2 lan3 lan4" ;; +comtrend,vr-3025un) + ucidef_set_bridge_device switch + ucidef_set_interface_lan "lan1 lan2 lan3 iptv" + ;; +comtrend,wap-5813n |\ netgear,dgnd3700-v1 |\ -netgear,dgnd3800b) +netgear,dgnd3800b |\ +netgear,evg2000) ucidef_set_bridge_device switch ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" ;; diff --git a/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc index d4ff723d14..63d10c9a8e 100644 --- a/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc @@ -4,6 +4,9 @@ case "$(board_name)" in comtrend,vr-3025u |\ +comtrend,vr-3025un |\ +comtrend,wap-5813n |\ +netgear,evg2000 |\ observa,vh4032n) mtd fixtrx firmware ;; diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi index 8e0024a20f..95f330d6c5 100644 --- a/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi +++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi @@ -8,10 +8,6 @@ led-failsafe = &led_power_red; led-running = &led_power_green; led-upgrade = &led_power_green; - - led-internet = &led_internet_green; - led-usb = &led_mobile_green; - led-wireless = &led_wireless_green; }; keys { @@ -56,7 +52,7 @@ label = "red:mobile"; }; - led_mobile_green: led@1 { + led@1 { reg = <1>; label = "green:mobile"; }; @@ -64,9 +60,10 @@ led_power_red: led@8 { reg = <8>; label = "red:power"; + panic-indicator; }; - led_wireless_green: led@9 { + led@9 { reg = <9>; label = "green:wifi"; }; @@ -86,7 +83,7 @@ label = "red:internet"; }; - led_internet_green: led@15 { + led@15 { reg = <15>; label = "green:internet"; }; diff --git a/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts b/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts index 8c4611ee88..5196f90afa 100644 --- a/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts +++ b/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts @@ -11,10 +11,6 @@ led-failsafe = &led_power_green; led-running = &led_power_green; led-upgrade = &led_power_green; - - led-dsl = &led_dsl_green; - led-internet = &led_internet_green; - led-usb = &led_usb_green; }; keys { @@ -78,13 +74,13 @@ label = "red:internet"; }; - led_dsl_green: led@3 { + led@3 { reg = <3>; active-low; label = "green:dsl"; }; - led_usb_green: led@4 { + led@4 { reg = <4>; active-low; label = "green:usb"; @@ -96,7 +92,7 @@ label = "green:wps"; }; - led_internet_green: led@8 { + led@8 { reg = <8>; active-low; label = "green:internet"; diff --git a/target/linux/bmips/dts/bcm63168-sercomm-shg2500.dts b/target/linux/bmips/dts/bcm63168-sercomm-shg2500.dts index bb769b09e1..7b0ebf2aef 100644 --- a/target/linux/bmips/dts/bcm63168-sercomm-shg2500.dts +++ b/target/linux/bmips/dts/bcm63168-sercomm-shg2500.dts @@ -11,10 +11,6 @@ led-failsafe = &led_power_red; led-running = &led_power_red; led-upgrade = &led_power_red; - - led-internet = &led_internet_green; - led-usb = &led_modem_green; - led-wireless = &led_wireless_green; }; i2c { @@ -82,7 +78,7 @@ label = "red:modem"; }; - led_modem_green: led@2 { + led@2 { reg = <2>; label = "green:modem"; }; @@ -107,7 +103,7 @@ label = "green:phone"; }; - led_wireless_green: led@7 { + led@7 { reg = <7>; label = "green:wifi"; }; @@ -117,7 +113,7 @@ label = "red:power"; }; - led_internet_green: led@9 { + led@9 { reg = <9>; label = "green:internet"; }; diff --git a/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts b/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts index 8ac37be495..45ed6e2a3b 100644 --- a/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts +++ b/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts @@ -11,10 +11,6 @@ led-failsafe = &led_power_red; led-running = &led_power_green; led-upgrade = &led_power_green; - - led-dsl = &led_dsl_green; - led-internet = &led_internet_green; - led-usb = &led_usb_green; }; keys { @@ -130,41 +126,41 @@ label = "green:power"; }; - led_usb_green: led@2 { + led@2 { reg = <2>; active-low; label = "green:usb"; }; led@4 { + /* EPHY0 Act */ reg = <4>; brcm,hardware-controlled; brcm,link-signal-sources = <4>; - /* EPHY0 Act */ }; led@5 { + /* EPHY1 Act */ reg = <5>; brcm,hardware-controlled; brcm,link-signal-sources = <5>; - /* EPHY1 Act */ }; led@6 { + /* EPHY2 Act */ reg = <6>; brcm,hardware-controlled; brcm,link-signal-sources = <6>; - /* EPHY2 Act */ }; led@7 { + /* EPHY3 Act */ reg = <7>; brcm,hardware-controlled; brcm,link-signal-sources = <7>; - /* EPHY3 Act */ }; - led_internet_green: led@8 { + led@8 { reg = <8>; active-low; label = "green:internet"; @@ -176,7 +172,7 @@ label = "red:internet"; }; - led_dsl_green: led@10 { + led@10 { reg = <10>; active-low; label = "green:dsl"; @@ -186,6 +182,7 @@ reg = <11>; active-low; label = "red:power"; + panic-indicator; }; }; diff --git a/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts b/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts index 72802366a0..a0d1c117f7 100644 --- a/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts +++ b/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts @@ -11,9 +11,6 @@ led-failsafe = &led_power_red; led-running = &led_power_green; led-upgrade = &led_power_green; - - led-dsl = &led_dsl_green; - led-internet = &led_internet_green; }; keys { @@ -129,9 +126,10 @@ led_power_red: led@4 { reg = <4>; label = "red:power"; + panic-indicator; }; - led_internet_green: led@7 { + led@7 { reg = <7>; label = "green:internet"; }; @@ -141,7 +139,7 @@ label = "green:power"; }; - led_dsl_green: led@11 { + led@11 { reg = <11>; active-low; label = "green:dsl"; diff --git a/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts b/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts index 716c6227f8..d5f162846d 100644 --- a/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts +++ b/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts @@ -3,17 +3,14 @@ #include "bcm6358.dtsi" / { - compatible = "huawei,hg556a-b", "brcm,bcm6358"; model = "Huawei EchoLife HG556a (version B)"; + compatible = "huawei,hg556a-b", "brcm,bcm6358"; aliases { led-boot = &led_power_red; led-failsafe = &led_power_red; led-running = &led_power_red; led-upgrade = &led_power_red; - - led-dsl = &led_dsl_red; - led-usb = &led_hspa_red; }; keys { @@ -57,12 +54,12 @@ gpios = <&gpio 0 GPIO_ACTIVE_LOW>; }; - led_hspa_red: led@1 { + led@1 { label = "red:hspa"; gpios = <&gpio 1 GPIO_ACTIVE_LOW>; }; - led_dsl_red: led@2 { + led@2 { label = "red:dsl"; gpios = <&gpio 2 GPIO_ACTIVE_LOW>; }; diff --git a/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts b/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts index 2a9a6c559a..f562bcd9b2 100644 --- a/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts +++ b/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts @@ -10,10 +10,6 @@ led-boot = &led_phone_green; led-failsafe = &led_phone_green; led-upgrade = &led_phone_green; - - led-internet = &led_internet_green; - led-usb = &led_usb_green; - led-wireless = &led_wireless_green; }; keys { @@ -50,7 +46,7 @@ gpios = <&gpio 28 GPIO_ACTIVE_LOW>; }; - led_usb_green: led@30 { + led@30 { label = "green:usb"; gpios = <&gpio 30 GPIO_ACTIVE_LOW>; }; @@ -74,13 +70,13 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_leds>; - led_internet_green: led@3 { + led@3 { reg = <3>; active-low; label = "green:internet"; }; - led_wireless_green: led@5 { + led@5 { reg = <5>; active-low; label = "green:wifi"; diff --git a/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts b/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts index ddcde2b688..46bb3e8bf6 100644 --- a/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts +++ b/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts @@ -11,12 +11,6 @@ led-failsafe = &led_power_red; led-running = &led_power_green; led-upgrade = &led_power_green; - - led-dsl = &led_dsl_green; - led-ethernet = &led_ethernet_green; - led-internet = &led_internet_green; - led-usb = &led_usb1_green; - led-usb2 = &led_usb2_green; }; keys { @@ -48,7 +42,7 @@ leds { compatible = "gpio-leds"; - led_dsl_green: led@28 { + led@28 { label = "green:dsl"; gpios = <&gpio 28 GPIO_ACTIVE_LOW>; }; @@ -56,6 +50,7 @@ led_power_red: led@34 { label = "red:power"; gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + panic-indicator; }; }; }; @@ -82,7 +77,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_leds &pinctrl_serial_led>; - led_internet_green: led@1 { + led@1 { reg = <1>; active-low; label = "green:internet"; @@ -99,13 +94,13 @@ label = "green:wps"; }; - led_usb1_green: led@10 { + led@10 { reg = <10>; active-low; label = "green:usb1"; }; - led_usb2_green: led@11 { + led@11 { reg = <11>; active-low; label = "green:usb2"; @@ -117,7 +112,7 @@ label = "amber:internet"; }; - led_ethernet_green: led@13 { + led@13 { reg = <13>; active-low; label = "green:ethernet"; diff --git a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts index 60029fe7f8..e67db8b6bd 100644 --- a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts +++ b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts @@ -11,9 +11,6 @@ led-failsafe = &led_power_red; led-running = &led_power_green; led-upgrade = &led_power_green; - - led-dsl = &led_dsl_green; - led-internet = &led_internet_green; }; keys { @@ -31,12 +28,12 @@ leds { compatible = "gpio-leds"; - led_dsl_green: led@2 { + led@2 { label = "green:dsl"; gpios = <&gpio 2 GPIO_ACTIVE_LOW>; }; - led_internet_green: led@5 { + led@5 { label = "green:internet"; gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; }; @@ -49,6 +46,7 @@ led_power_red: led@24 { label = "red:power"; gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; + panic-indicator; }; led@31 { diff --git a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025un.dts b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025un.dts new file mode 100644 index 0000000000..3256783e0e --- /dev/null +++ b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025un.dts @@ -0,0 +1,182 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "bcm6368.dtsi" + +/ { + model = "Comtrend VR-3025un"; + compatible = "comtrend,vr-3025un", "brcm,bcm6368"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led@2 { + label = "green:dsl"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + + led@5 { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; + }; + + led_power_green: led@22 { + label = "green:power"; + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; + }; + + led_power_red: led@24 { + label = "red:power"; + gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; + panic-indicator; + }; + + led@31 { + label = "red:internet"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; + }; + }; + + bcm43222-sprom { + compatible = "brcm,ssb-sprom"; + + pci-bus = <0>; + pci-dev = <1>; + + nvmem-cells = <&macaddr_cfe_6a0>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <1>; + + brcm,sprom = "brcm/bcm43222-sprom.bin"; + brcm,sprom-fixups = <97 0xfeb3>, + <98 0x1618>, + <99 0xfab0>, + <113 0xfed1>, + <114 0x1609>, + <115 0xfad9>; + }; +}; + +&ehci { + status = "okay"; +}; + +ðernet { + status = "okay"; + + nvmem-cells = <&macaddr_cfe_6a0>; + nvmem-cell-names = "mac-address"; +}; + +&ohci { + status = "okay"; +}; + +&pci { + status = "okay"; +}; + +&pflash { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe: partition@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + partition@20000 { + compatible = "brcm,bcm963xx-imagetag"; + label = "firmware"; + reg = <0x010000 0x7e0000>; + }; + + partition@1fe0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led>; +}; + +&switch0 { + ports { + port@0 { + reg = <0>; + label = "lan1"; + + phy-handle = <&phy1>; + phy-mode = "mii"; + }; + + port@1 { + reg = <1>; + label = "lan2"; + + phy-handle = <&phy2>; + phy-mode = "mii"; + }; + + port@2 { + reg = <2>; + label = "lan3"; + + phy-handle = <&phy3>; + phy-mode = "mii"; + }; + + port@3 { + reg = <3>; + label = "iptv"; + + phy-handle = <&phy4>; + phy-mode = "mii"; + }; + }; +}; + +&uart0 { + status = "okay"; +}; + +&usbh { + status = "okay"; +}; + +&cfe { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_cfe_6a0: macaddr@6a0 { + reg = <0x6a0 0x6>; + }; +}; diff --git a/target/linux/bmips/dts/bcm6368-netgear-dgnd3700.dtsi b/target/linux/bmips/dts/bcm6368-netgear-dgnd3700.dtsi index 2299611d55..7449455631 100644 --- a/target/linux/bmips/dts/bcm6368-netgear-dgnd3700.dtsi +++ b/target/linux/bmips/dts/bcm6368-netgear-dgnd3700.dtsi @@ -59,14 +59,14 @@ gpios = <&gpio 11 GPIO_ACTIVE_LOW>; }; - /* usb front */ led@13 { + /* Front USB port */ label = "green:usb2"; gpios = <&gpio 13 GPIO_ACTIVE_LOW>; }; - /* usb back */ led@14 { + /* Back USB port */ label = "green:usb1"; gpios = <&gpio 14 GPIO_ACTIVE_LOW>; }; @@ -85,7 +85,6 @@ led_power_green: led@24 { label = "green:power"; gpios = <&gpio 24 GPIO_ACTIVE_LOW>; - default-state = "on"; }; led@26 { diff --git a/target/linux/bmips/dts/bcm6368-observa-vh4032n.dts b/target/linux/bmips/dts/bcm6368-observa-vh4032n.dts index 4a4cca0982..14fbd856f8 100644 --- a/target/linux/bmips/dts/bcm6368-observa-vh4032n.dts +++ b/target/linux/bmips/dts/bcm6368-observa-vh4032n.dts @@ -58,12 +58,12 @@ led_power_blue: led@22 { label = "blue:power"; gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; - default-state = "on"; }; led_power_red: led@24 { label = "red:power"; gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; + panic-indicator; }; led@25 { diff --git a/target/linux/bmips/dts/bcm6369-comtrend-wap-5813n.dts b/target/linux/bmips/dts/bcm6369-comtrend-wap-5813n.dts new file mode 100644 index 0000000000..517a894cf5 --- /dev/null +++ b/target/linux/bmips/dts/bcm6369-comtrend-wap-5813n.dts @@ -0,0 +1,230 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "bcm6368.dtsi" + +/ { + model = "Comtrend WAP-5813n"; + compatible = "comtrend,wap-5813n", "brcm,bcm6369", "brcm,bcm6368"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wlan { + label = "wlan"; + gpios = <&gpio 32 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&gpio 35 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led@5 { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; + }; + + led@14 { + label = "green:usb"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led_power_green: led@22 { + label = "green:power"; + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; + }; + + led@23 { + label = "green:wps"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + + led_power_red: led@24 { + label = "red:power"; + gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; + panic-indicator; + }; + + led@31 { + label = "red:internet"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; + }; + }; + + bcm4322-sprom { + compatible = "brcm,ssb-sprom"; + + pci-bus = <0>; + pci-dev = <1>; + + nvmem-cells = <&macaddr_cfe_6a0>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <1>; + + brcm,sprom = "brcm/bcm4322-sprom.bin"; + brcm,sprom-fixups = <97 0xfeed>, + <98 0x15d1>, + <99 0xfb0d>, + <113 0xfef7>, + <114 0x15f7>, + <115 0xfb1a>; + }; +}; + +&ehci { + status = "okay"; +}; + +ðernet { + status = "okay"; + + nvmem-cells = <&macaddr_cfe_6a0>; + nvmem-cell-names = "mac-address"; +}; + +&lsspi { + status = "okay"; + + switch@0 { + compatible = "brcm,bcm53115"; + reg = <0>; + spi-max-frequency = <781000>; + dsa,member = <1 0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + label = "lan4"; + }; + + port@1 { + reg = <1>; + label = "lan3"; + }; + + port@2 { + reg = <2>; + label = "lan2"; + }; + + port@3 { + reg = <3>; + label = "lan1"; + }; + + port@4 { + reg = <4>; + label = "wan"; + }; + + port@5 { + reg = <5>; + + phy-mode = "rgmii"; + ethernet = <&switch0port4>; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + }; +}; + +&pflash { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe: partition@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + partition@fe0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&ohci { + status = "okay"; +}; + +&pci { + status = "okay"; +}; + +&switch0 { + dsa,member = <0 0>; + + ports { + switch0port4: port@4 { + reg = <4>; + label = "extsw"; + + phy-mode = "rgmii"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; +}; + +&uart0 { + status = "okay"; +}; + +&usbh { + status = "okay"; +}; + +&cfe { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_cfe_6a0: macaddr@6a0 { + reg = <0x6a0 0x6>; + }; +}; diff --git a/target/linux/bmips/dts/bcm6369-netgear-evg2000.dts b/target/linux/bmips/dts/bcm6369-netgear-evg2000.dts new file mode 100644 index 0000000000..460c88f755 --- /dev/null +++ b/target/linux/bmips/dts/bcm6369-netgear-evg2000.dts @@ -0,0 +1,237 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "bcm6368.dtsi" + +/ { + model = "Netgear EVG2000"; + compatible = "netgear,evg2000", "brcm,bcm6369", "brcm,bcm6368"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 25 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led@2 { + label = "green:voip2"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + + led@4 { + label = "red:internet"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + led@5 { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + led@14 { + label = "green:voip1"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led@15 { + label = "green:usb"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + led_power_green: led@22 { + label = "green:power"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + + led_power_red: led@23 { + label = "red:power"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + panic-indicator; + }; + + led@24 { + label = "green:lan"; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + }; + + led@27 { + label = "green:wan"; + gpios = <&gpio 27 GPIO_ACTIVE_LOW>; + }; + }; + + bcm4322-sprom { + compatible = "brcm,ssb-sprom"; + + pci-bus = <0>; + pci-dev = <1>; + + nvmem-cells = <&macaddr_cfe_6a0>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <1>; + + brcm,sprom = "brcm/bcm4322-sprom.bin"; + brcm,sprom-fixups = <219 0xec08>; + }; +}; + +&ehci { + status = "okay"; +}; + +ðernet { + status = "okay"; + + nvmem-cells = <&macaddr_cfe_6a0>; + nvmem-cell-names = "mac-address"; +}; + +&mdio_ext { + switch@1e { + compatible = "brcm,bcm53115"; + reg = <30>; + + dsa,member = <1 0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + label = "wan"; + }; + + port@1 { + reg = <1>; + label = "lan1"; + }; + + port@2 { + reg = <2>; + label = "lan2"; + }; + + port@3 { + reg = <3>; + label = "lan3"; + }; + + port@4 { + reg = <4>; + label = "lan4"; + }; + + port@8 { + reg = <8>; + + phy-mode = "rgmii"; + ethernet = <&switch0port5>; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + }; +}; + +&switch0 { + dsa,member = <0 0>; + + ports { + switch0port5: port@5 { + reg = <5>; + label = "extsw"; + + phy-mode = "rgmii"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; +}; + +&pflash { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe: partition@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x020000 0xf40000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + partition@f60000 { + label = "board_data"; + reg = <0xf60000 0x080000>; + read-only; + }; + + partition@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&ohci { + status = "okay"; +}; + +&pci { + status = "okay"; +}; + +&uart0 { + status = "okay"; +}; + +&usbh { + status = "okay"; +}; + +&cfe { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_cfe_6a0: macaddr@6a0 { + reg = <0x6a0 0x6>; + }; +}; diff --git a/target/linux/bmips/image/Makefile b/target/linux/bmips/image/Makefile index 9063daa3dc..fec6d9da53 100644 --- a/target/linux/bmips/image/Makefile +++ b/target/linux/bmips/image/Makefile @@ -313,7 +313,7 @@ define Device/bcm63xx-nand DEVICE_PACKAGES += nand-utils endef -define Device/bcm63xx_netgear +define Device/bcm63xx-netgear $(Device/bcm63xx-cfe) DEVICE_VENDOR := NETGEAR IMAGES := factory.chk sysupgrade.bin diff --git a/target/linux/bmips/image/bcm6368.mk b/target/linux/bmips/image/bcm6368.mk index 41bce9e938..83cd096959 100644 --- a/target/linux/bmips/image/bcm6368.mk +++ b/target/linux/bmips/image/bcm6368.mk @@ -14,8 +14,35 @@ define Device/comtrend_vr-3025u endef TARGET_DEVICES += comtrend_vr-3025u +define Device/comtrend_vr-3025un + $(Device/bcm63xx-cfe) + DEVICE_VENDOR := Comtrend + DEVICE_MODEL := VR-3025un + CHIP_ID := 6368 + CFE_BOARD_ID := 96368M-1341N + FLASH_MB := 8 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + $(B43_PACKAGES) broadcom-43222-sprom \ + kmod-leds-gpio +endef +TARGET_DEVICES += comtrend_vr-3025un + +define Device/comtrend_wap-5813n + $(Device/bcm63xx-cfe) + DEVICE_VENDOR := Comtrend + DEVICE_MODEL := WAP-5813n + CHIP_ID := 6368 + SOC := bcm6369 + CFE_BOARD_ID := 96369R-1231N + FLASH_MB := 8 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + $(B43_PACKAGES) broadcom-4322-sprom \ + kmod-leds-gpio +endef +TARGET_DEVICES += comtrend_wap-5813n + define Device/netgear_dgnd3700-v1 - $(Device/bcm63xx_netgear) + $(Device/bcm63xx-netgear) DEVICE_VENDOR := NETGEAR DEVICE_MODEL := DGND3700 DEVICE_VARIANT := v1 @@ -25,12 +52,13 @@ define Device/netgear_dgnd3700-v1 NETGEAR_BOARD_ID := U12L144T01_NETGEAR_NEWLED NETGEAR_REGION := 1 DEVICE_PACKAGES += $(USB2_PACKAGES) \ - $(B43_PACKAGES) + $(B43_PACKAGES) \ + kmod-leds-gpio endef TARGET_DEVICES += netgear_dgnd3700-v1 define Device/netgear_dgnd3800b - $(Device/bcm63xx_netgear) + $(Device/bcm63xx-netgear) DEVICE_VENDOR := NETGEAR DEVICE_MODEL := DGND3800B CFE_BOARD_ID := 96368MVWG @@ -39,10 +67,26 @@ define Device/netgear_dgnd3800b NETGEAR_BOARD_ID := U12L144T11_NETGEAR_NEWLED NETGEAR_REGION := 1 DEVICE_PACKAGES += $(USB2_PACKAGES) \ - $(B43_PACKAGES) + $(B43_PACKAGES) \ + kmod-leds-gpio endef TARGET_DEVICES += netgear_dgnd3800b +define Device/netgear_evg2000 + $(Device/bcm63xx-netgear) + DEVICE_MODEL := EVG2000 + CFE_BOARD_ID := 96369PVG + CHIP_ID := 6368 + SOC := bcm6369 + BLOCKSIZE := 0x20000 + NETGEAR_BOARD_ID := U12H154T90_NETGEAR + NETGEAR_REGION := 1 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + $(B43_PACKAGES) broadcom-4322-sprom \ + kmod-leds-gpio +endef +TARGET_DEVICES += netgear_evg2000 + define Device/observa_vh4032n $(Device/bcm63xx-cfe) DEVICE_VENDOR := Observa diff --git a/target/linux/ramips/dts/mt7621_yuncore_fap640.dts b/target/linux/ramips/dts/mt7621_yuncore_fap640.dts index a0c32a0211..d525dde385 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_fap640.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_fap640.dts @@ -148,10 +148,26 @@ }; &gmac0 { + nvmem-cells = <&macaddr_factory_e006>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; + nvmem-cells = <&macaddr_factory_0004>; nvmem-cell-names = "mac-address"; }; +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + + &switch0 { gpio-controller; #gpio-cells = <2>; @@ -176,13 +192,6 @@ status = "okay"; label = "lan1"; }; - - port@4 { - status = "okay"; - label = "wan"; - nvmem-cells = <&macaddr_factory_0004>; - nvmem-cell-names = "mac-address"; - }; }; }; @@ -201,5 +210,9 @@ macaddr_factory_0004: macaddr@0004 { reg = <0x0004 0x6>; }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; };