cloudengines,pogoe02|\
cloudengines,pogoplugv4|\
iom,ix2-200|\
-linksys,viper|\
+linksys,e4200-v2|\
+linksys,ea4500|\
raidsonic,ib-nas62x0|\
seagate,dockstar|\
zyxel,nsa310b|\
zyxel,nsa325)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
;;
-linksys,audi)
+linksys,ea3500)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000"
;;
esac
board=$(board_name)
case "$board" in
-"iom,ix2-200")
+iom,ix2-200)
ucidef_set_led_timer "health" "health" "status:white:rebuild_led" "200" "800"
;;
-"linksys,viper")
+linksys,e4200-v2|\
+linksys,ea4500)
ucidef_set_led_default "pulse" "pulse" "viper:white:pulse" "1"
;;
esac
"zyxel,nsa310s")
ucidef_set_interface_lan "eth0" "dhcp"
;;
-"linksys,audi"|\
-"linksys,viper")
+"linksys,e4200-v2"|\
+"linksys,ea3500"|\
+"linksys,ea4500")
ucidef_set_interfaces_lan_wan "ethernet1 ethernet2 ethernet3 ethernet4" "internet"
ucidef_set_interface_macaddr "wan" $( mtd_get_mac_ascii u_env eth1addr )
;;
board_config_update
case "$(board_name)" in
- linksys,audi|\
- linksys,viper)
+ linksys,e4200-v2|\
+ linksys,ea3500|\
+ linksys,ea4500)
ucidef_set_compat_version "1.1"
;;
esac
boot() {
case $(board_name) in
- linksys,audi|\
- linksys,viper)
+ linksys,e4200-v2|\
+ linksys,ea3500|\
+ linksys,ea4500)
mtd resetbc s_env || true
;;
esac
local board="$(board_name)"
case "$board" in
- "linksys,audi"|\
- "linksys,viper")
+ linksys,e4200-v2|\
+ linksys,ea3500|\
+ linksys,ea4500)
platform_do_upgrade_linksys "$1"
;;
*)
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "kirkwood-linksys-viper.dts"
+
+/ {
+ model = "Linksys E4200 v2 (Viper)";
+ compatible = "linksys,e4200-v2", "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+};
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
+ * (c) 2014 Luka Perkov <luka@openwrt.org>
+ * (c) 2014 Dan Walters <dan@walters.io>
+ *
+ */
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6282.dtsi"
+
+/ {
+ model = "Linksys EA3500 (Audi)";
+ compatible = "linksys,ea3500", "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x4000000>;
+ };
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&pmx_btn_wps &pmx_btn_reset>;
+ pinctrl-names = "default";
+
+ wps {
+ label = "WPS Button";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+
+ reset {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ pinctrl-0 = <&pmx_led_green_power>;
+ pinctrl-names = "default";
+
+ led_power: power {
+ label = "audi:green:power";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+};
+
+&pinctrl {
+ pmx_led_green_power: pmx-led-green-power {
+ marvell,pins = "mpp7";
+ marvell,function = "gpo";
+ };
+
+ pmx_btn_wps: pmx-btn-wps {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+
+ pmx_btn_reset: pmx-btn-reset {
+ marvell,pins = "mpp48";
+ marvell,function = "gpio";
+ };
+};
+
+&mdio {
+ status = "okay";
+
+ switch@10 {
+ compatible = "marvell,mv88e6085";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <16>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ label = "ethernet1";
+ };
+
+ port@1 {
+ reg = <1>;
+ label = "ethernet2";
+ };
+
+ port@2 {
+ reg = <2>;
+ label = "ethernet3";
+ };
+
+ port@3 {
+ reg = <3>;
+ label = "ethernet4";
+ };
+
+ port@4 {
+ reg = <4>;
+ label = "internet";
+ };
+
+ port@5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0port>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+};
+
+&nand {
+ status = "okay";
+
+ pinctrl-0 = <&pmx_nand>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x80000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "u_env";
+ reg = <0x80000 0x4000>;
+ };
+
+ partition@84000 {
+ label = "s_env";
+ reg = <0x84000 0x4000>;
+ };
+
+ partition@200000 {
+ label = "kernel1";
+ reg = <0x200000 0x290000>;
+ };
+
+ partition@490000 {
+ label = "rootfs1";
+ reg = <0x490000 0x1170000>;
+ };
+
+ partition@1600000 {
+ label = "kernel2";
+ reg = <0x1600000 0x290000>;
+ };
+
+ partition@1890000 {
+ label = "rootfs2";
+ reg = <0x1890000 0x1170000>;
+ };
+
+ partition@2a00000 {
+ label = "syscfg";
+ reg = <0x2a00000 0x1600000>;
+ };
+
+ partition@88000 {
+ label = "unused";
+ reg = <0x88000 0x178000>;
+ };
+ };
+};
+
+&pciec {
+ status = "okay";
+};
+
+&pcie0 {
+ status = "okay";
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&mdio {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
+
+/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
+ * fixed speed and duplex.
+ */
+ð0 {
+ status = "okay";
+
+ ethernet0-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};
+
+/* eth1 is connected to the switch at port 6. However DSA only supports a
+ * single CPU port. This port is disabled to avoid confusion.
+ */
+ð1 {
+ status = "disabled";
+};
+
+/* There is no battery on the board, so the RTC does not keep
+ * time when there is no power, making it useless.
+ */
+&rtc {
+ status = "disabled";
+};
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "kirkwood-linksys-viper.dts"
+
+/ {
+ model = "Linksys EA4500 (Viper)";
+ compatible = "linksys,ea4500", "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+};
+++ /dev/null
-// SPDX-License-Identifier: GPL-2.0
-/*
- * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
- *
- * (c) 2013 Jonas Gorski <jogo@openwrt.org>
- * (c) 2013 Deutsche Telekom Innovation Laboratories
- * (c) 2014 Luka Perkov <luka@openwrt.org>
- * (c) 2014 Dan Walters <dan@walters.io>
- *
- */
-
-/dts-v1/;
-
-#include "kirkwood.dtsi"
-#include "kirkwood-6282.dtsi"
-
-/ {
- model = "Linksys Audi (EA3500)";
- compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
-
- memory@0 {
- device_type = "memory";
- reg = <0x00000000 0x4000000>;
- };
-
- aliases {
- led-boot = &led_power;
- led-failsafe = &led_power;
- led-running = &led_power;
- led-upgrade = &led_power;
- serial0 = &uart0;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- gpio-keys {
- compatible = "gpio-keys";
-
- pinctrl-0 = <&pmx_btn_wps &pmx_btn_reset>;
- pinctrl-names = "default";
-
- wps {
- label = "WPS Button";
- linux,code = <KEY_WPS_BUTTON>;
- gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
- };
-
- reset {
- label = "Reset Button";
- linux,code = <KEY_RESTART>;
- gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
- };
- };
-
- gpio-leds {
- compatible = "gpio-leds";
-
- pinctrl-0 = <&pmx_led_green_power>;
- pinctrl-names = "default";
-
- led_power: power {
- label = "audi:green:power";
- gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
- default-state = "on";
- };
- };
-};
-
-&pinctrl {
- pmx_led_green_power: pmx-led-green-power {
- marvell,pins = "mpp7";
- marvell,function = "gpo";
- };
-
- pmx_btn_wps: pmx-btn-wps {
- marvell,pins = "mpp47";
- marvell,function = "gpio";
- };
-
- pmx_btn_reset: pmx-btn-reset {
- marvell,pins = "mpp48";
- marvell,function = "gpio";
- };
-};
-
-&mdio {
- status = "okay";
-
- switch@10 {
- compatible = "marvell,mv88e6085";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <16>;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- label = "ethernet1";
- };
-
- port@1 {
- reg = <1>;
- label = "ethernet2";
- };
-
- port@2 {
- reg = <2>;
- label = "ethernet3";
- };
-
- port@3 {
- reg = <3>;
- label = "ethernet4";
- };
-
- port@4 {
- reg = <4>;
- label = "internet";
- };
-
- port@5 {
- reg = <5>;
- label = "cpu";
- ethernet = <ð0port>;
- fixed-link {
- speed = <1000>;
- full-duplex;
- };
- };
- };
- };
-};
-
-&nand {
- status = "okay";
-
- pinctrl-0 = <&pmx_nand>;
- pinctrl-names = "default";
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x80000>;
- read-only;
- };
-
- partition@80000 {
- label = "u_env";
- reg = <0x80000 0x4000>;
- };
-
- partition@84000 {
- label = "s_env";
- reg = <0x84000 0x4000>;
- };
-
- partition@200000 {
- label = "kernel1";
- reg = <0x200000 0x290000>;
- };
-
- partition@490000 {
- label = "rootfs1";
- reg = <0x490000 0x1170000>;
- };
-
- partition@1600000 {
- label = "kernel2";
- reg = <0x1600000 0x290000>;
- };
-
- partition@1890000 {
- label = "rootfs2";
- reg = <0x1890000 0x1170000>;
- };
-
- partition@2a00000 {
- label = "syscfg";
- reg = <0x2a00000 0x1600000>;
- };
-
- partition@88000 {
- label = "unused";
- reg = <0x88000 0x178000>;
- };
- };
-};
-
-&pciec {
- status = "okay";
-};
-
-&pcie0 {
- status = "okay";
-};
-
-&pcie1 {
- status = "okay";
-};
-
-&mdio {
- status = "okay";
-};
-
-&uart0 {
- status = "okay";
-};
-
-/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
- * fixed speed and duplex.
- */
-ð0 {
- status = "okay";
-
- ethernet0-port@0 {
- speed = <1000>;
- duplex = <1>;
- };
-};
-
-/* eth1 is connected to the switch at port 6. However DSA only supports a
- * single CPU port. This port is disabled to avoid confusion.
- */
-ð1 {
- status = "disabled";
-};
-
-/* There is no battery on the board, so the RTC does not keep
- * time when there is no power, making it useless.
- */
-&rtc {
- status = "disabled";
-};
endef
TARGET_DEVICES += iom_ix2-200
-define Device/linksys_audi
- $(Device/dsa-migration)
+define Device/linksys
DEVICE_VENDOR := Linksys
- DEVICE_MODEL := EA3500 (Audi)
DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug
+ KERNEL_IN_UBI :=
+ UBINIZE_OPTS := -E 5
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
+endef
+
+define Device/linksys_e4200-v2
+ $(Device/linksys)
+ $(Device/dsa-migration)
+ DEVICE_MODEL := E4200
+ DEVICE_VARIANT := v2
+ DEVICE_DTS := kirkwood-e4200-v2
+ KERNEL_SIZE := 2688k
+ SUPPORTED_DEVICES += linksys,viper linksys-viper
+endef
+TARGET_DEVICES += linksys_e4200-v2
+
+define Device/linksys_ea3500
+ $(Device/linksys)
+ $(Device/dsa-migration)
+ DEVICE_MODEL := EA3500
+ DEVICE_DTS := kirkwood-ea3500
PAGESIZE := 512
SUBPAGESIZE := 256
BLOCKSIZE := 16k
KERNEL_SIZE := 2624k
- KERNEL_IN_UBI :=
- UBINIZE_OPTS := -E 5
- IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
- BOARD_NAME := linksys-audi
+ SUPPORTED_DEVICES += linksys,audi linksys-audi
endef
-TARGET_DEVICES += linksys_audi
+TARGET_DEVICES += linksys_ea3500
-define Device/linksys_viper
+define Device/linksys_ea4500
+ $(Device/linksys)
$(Device/dsa-migration)
- DEVICE_VENDOR := Linksys
- DEVICE_MODEL := E4200v2 / EA4500 (Viper)
- DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug
+ DEVICE_MODEL := EA4500
+ DEVICE_DTS := kirkwood-ea4500
KERNEL_SIZE := 2688k
- KERNEL_IN_UBI :=
- UBINIZE_OPTS := -E 5
- IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
- BOARD_NAME := linksys-viper
+ SUPPORTED_DEVICES += linksys,viper linksys-viper
endef
-TARGET_DEVICES += linksys_viper
+TARGET_DEVICES += linksys_ea4500
define Device/raidsonic_ib-nas62x0
DEVICE_VENDOR := RaidSonic
+++ /dev/null
---- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts
-+++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
-@@ -24,6 +24,10 @@
- };
-
- aliases {
-+ led-boot = &led_white_health;
-+ led-failsafe = &led_white_health;
-+ led-running = &led_white_health;
-+ led-upgrade = &led_white_health;
- serial0 = &uart0;
- };
-
-@@ -56,9 +60,10 @@
- pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >;
- pinctrl-names = "default";
-
-- white-health {
-+ led_white_health: white-health {
- label = "viper:white:health";
- gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
-+ default-state = "on";
- };
-
- white-pulse {
-@@ -114,22 +119,22 @@
- };
-
- partition@200000 {
-- label = "kernel";
-+ label = "kernel1";
- reg = <0x200000 0x2A0000>;
- };
-
- partition@4a0000 {
-- label = "rootfs";
-+ label = "rootfs1";
- reg = <0x4A0000 0x1760000>;
- };
-
- partition@1c00000 {
-- label = "alt_kernel";
-+ label = "kernel2";
- reg = <0x1C00000 0x2A0000>;
- };
-
- partition@1ea0000 {
-- label = "alt_rootfs";
-+ label = "rootfs2";
- reg = <0x1EA0000 0x1760000>;
- };
-
--- /dev/null
+--- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts
++++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
+@@ -24,6 +24,10 @@
+ };
+
+ aliases {
++ led-boot = &led_white_health;
++ led-failsafe = &led_white_health;
++ led-running = &led_white_health;
++ led-upgrade = &led_white_health;
+ serial0 = &uart0;
+ };
+
+@@ -56,9 +60,10 @@
+ pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >;
+ pinctrl-names = "default";
+
+- white-health {
++ led_white_health: white-health {
+ label = "viper:white:health";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
++ default-state = "on";
+ };
+
+ white-pulse {
+@@ -114,22 +119,22 @@
+ };
+
+ partition@200000 {
+- label = "kernel";
++ label = "kernel1";
+ reg = <0x200000 0x2A0000>;
+ };
+
+ partition@4a0000 {
+- label = "rootfs";
++ label = "rootfs1";
+ reg = <0x4A0000 0x1760000>;
+ };
+
+ partition@1c00000 {
+- label = "alt_kernel";
++ label = "kernel2";
+ reg = <0x1C00000 0x2A0000>;
+ };
+
+ partition@1ea0000 {
+- label = "alt_rootfs";
++ label = "rootfs2";
+ reg = <0x1EA0000 0x1760000>;
+ };
+