summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2015-11-10 00:16:24 +0000
committerLuka Perkov <luka@openwrt.org>2015-11-10 00:16:24 +0000
commit3ef14d0c3d425f403085ec1ff90ba1c289e0331b (patch)
treef56d3da2cf0301591bf7bd783829a21cea1d2bf5
parent49db4924d7f51bb1d730a1f63097b0beb6becad2 (diff)
downloadmaster-31e0f0ae-3ef14d0c3d425f403085ec1ff90ba1c289e0331b.tar.gz
master-31e0f0ae-3ef14d0c3d425f403085ec1ff90ba1c289e0331b.tar.bz2
master-31e0f0ae-3ef14d0c3d425f403085ec1ff90ba1c289e0331b.zip
kirkwood: rework Linksys EA[34]500 DTS
- Use board engineering names rather than marketing names - Linksys uses a dual firmware layout, where the bootloader will switch to the other stored image when one fails to boot three consecutive times. In order to make this firmware compatible with the factory images and the stock bootloader we must match this layout. Signed-off-by: Claudio Leite <leitec@staticky.com> SVN-Revision: 47429
-rw-r--r--package/boot/uboot-envtools/files/kirkwood2
-rw-r--r--target/linux/kirkwood/patches-3.18/160-ea4500.patch64
-rw-r--r--target/linux/kirkwood/patches-3.18/170-ea3500.patch63
-rw-r--r--target/linux/kirkwood/patches-3.18/180-goflexhome.patch6
-rw-r--r--target/linux/kirkwood/patches-4.3/140-ea4500.patch64
-rw-r--r--target/linux/kirkwood/patches-4.3/150-ea3500.patch63
-rw-r--r--target/linux/kirkwood/patches-4.3/160-goflexhome.patch6
7 files changed, 173 insertions, 95 deletions
diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood
index 98f85dada2..1066371b7b 100644
--- a/package/boot/uboot-envtools/files/kirkwood
+++ b/package/boot/uboot-envtools/files/kirkwood
@@ -15,7 +15,7 @@ board=$(kirkwood_board_name)
case "$board" in
"ea3500")
- ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x20000"
+ ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000"
;;
"ea4500" | \
"guruplug-server-plus" | \
diff --git a/target/linux/kirkwood/patches-3.18/160-ea4500.patch b/target/linux/kirkwood/patches-3.18/160-ea4500.patch
index 386b5eaf49..7a60fa58b6 100644
--- a/target/linux/kirkwood/patches-3.18/160-ea4500.patch
+++ b/target/linux/kirkwood/patches-3.18/160-ea4500.patch
@@ -1,18 +1,18 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -120,6 +120,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
- kirkwood-ds411.dtb \
- kirkwood-ds411j.dtb \
- kirkwood-ds411slim.dtb \
-+ kirkwood-ea4500.dtb \
- kirkwood-goflexnet.dtb \
- kirkwood-guruplug-server-plus.dtb \
- kirkwood-ib62x0.dtb \
+@@ -128,6 +128,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
+ kirkwood-is2.dtb \
+ kirkwood-km_kirkwood.dtb \
+ kirkwood-laplug.dtb \
++ kirkwood-linksys-viper.dtb \
+ kirkwood-lschlv2.dtb \
+ kirkwood-lsxhl.dtb \
+ kirkwood-mplcec4.dtb \
--- /dev/null
-+++ b/arch/arm/boot/dts/kirkwood-ea4500.dts
-@@ -0,0 +1,167 @@
++++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
+@@ -0,0 +1,187 @@
+/*
-+ * kirkwood-ea4500.dts - Device Tree file for Linksys EA4500
++ * kirkwood-linksys-viper.dts - Device Tree file for Linksys E4200v2/EA4500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
@@ -29,8 +29,8 @@
+#include "kirkwood-6282.dtsi"
+
+/ {
-+ model = "Linksys EA4500";
-+ compatible = "linksys,ea4500", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++ model = "Linksys E4200v2 / EA4500";
++ compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
@@ -111,12 +111,12 @@
+ pinctrl-names = "default";
+
+ white-health {
-+ label = "ea4500:white:health";
++ label = "viper:white:health";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ };
+
+ white-pulse {
-+ label = "ea4500:white:pulse";
++ label = "viper:white:pulse";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+ };
@@ -140,22 +140,42 @@
+
+ partition@0 {
+ label = "u-boot";
-+ reg = <0x0000000 0x80000>;
++ reg = <0x0 0x80000>;
+ };
+
+ partition@80000 {
-+ label = "u-boot environment";
++ label = "u_env";
+ reg = <0x80000 0x20000>;
+ };
+
++ partition@a0000 {
++ label = "s_env";
++ reg = <0xa0000 0x20000>;
++ };
++
+ partition@200000 {
-+ label = "kernel";
-+ reg = <0x200000 0x200000>;
++ label = "kernel1";
++ reg = <0x200000 0x1a00000>;
++ };
++
++ partition@4a0000 {
++ label = "rootfs1";
++ reg = <0x4a0000 0x1760000>;
++ };
++
++ partition@1c00000 {
++ label = "kernel2";
++ reg = <0x1c00000 0x1a00000>;
++ };
++
++ partition@1ea0000 {
++ label = "rootfs2";
++ reg = <0x1ea0000 0x1760000>;
+ };
+
-+ partition@400000 {
-+ label = "root";
-+ reg = <0x400000 0x1c00000>;
++ partition@3600000 {
++ label = "syscfg";
++ reg = <0x3600000 0x4a00000>;
+ };
+};
+
diff --git a/target/linux/kirkwood/patches-3.18/170-ea3500.patch b/target/linux/kirkwood/patches-3.18/170-ea3500.patch
index 84645decf3..6a03c41290 100644
--- a/target/linux/kirkwood/patches-3.18/170-ea3500.patch
+++ b/target/linux/kirkwood/patches-3.18/170-ea3500.patch
@@ -1,18 +1,18 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -120,6 +120,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
- kirkwood-ds411.dtb \
- kirkwood-ds411j.dtb \
- kirkwood-ds411slim.dtb \
-+ kirkwood-ea3500.dtb \
- kirkwood-ea4500.dtb \
- kirkwood-goflexnet.dtb \
- kirkwood-guruplug-server-plus.dtb \
+@@ -128,6 +128,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
+ kirkwood-is2.dtb \
+ kirkwood-km_kirkwood.dtb \
+ kirkwood-laplug.dtb \
++ kirkwood-linksys-audi.dtb \
+ kirkwood-linksys-viper.dtb \
+ kirkwood-lschlv2.dtb \
+ kirkwood-lsxhl.dtb \
--- /dev/null
-+++ b/arch/arm/boot/dts/kirkwood-ea3500.dts
-@@ -0,0 +1,160 @@
++++ b/arch/arm/boot/dts/kirkwood-linksys-audi.dts
+@@ -0,0 +1,179 @@
+/*
-+ * kirkwood-ea3500.dts - Device Tree file for Linksys EA3500
++ * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
@@ -31,7 +31,7 @@
+
+/ {
+ model = "Linksys EA3500";
-+ compatible = "linksys,ea3500", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++ compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
@@ -108,7 +108,7 @@
+ pinctrl-names = "default";
+
+ green-power {
-+ label = "ea3500:green:power";
++ label = "audi:green:power";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
@@ -132,23 +132,42 @@
+
+ partition@0 {
+ label = "u-boot";
-+ reg = <0x0000000 0x80000>;
-+ read-only;
++ reg = <0x0 0x80000>;
+ };
+
+ partition@80000 {
-+ label = "u-boot environment";
-+ reg = <0x80000 0x20000>;
++ label = "u_env";
++ reg = <0x80000 0x4000>;
++ };
++
++ partition@84000 {
++ label = "s_env";
++ reg = <0x84000 0x4000>;
+ };
+
+ partition@200000 {
-+ label = "kernel";
-+ reg = <0x200000 0x200000>;
++ label = "kernel1";
++ reg = <0x200000 0x1400000>;
++ };
++
++ partition@490000 {
++ label = "rootfs1";
++ reg = <0x490000 0x1170000>;
++ };
++
++ partition@1600000 {
++ label = "kernel2";
++ reg = <0x1600000 0x1400000>;
++ };
++
++ partition@1890000 {
++ label = "rootfs2";
++ reg = <0x1890000 0x1170000>;
+ };
+
-+ partition@400000 {
-+ label = "root";
-+ reg = <0x400000 0x1200000>;
++ partition@2a00000 {
++ label = "syscfg";
++ reg = <0x2a00000 0x1600000>;
+ };
+};
+
diff --git a/target/linux/kirkwood/patches-3.18/180-goflexhome.patch b/target/linux/kirkwood/patches-3.18/180-goflexhome.patch
index e54c8537f1..0560073660 100644
--- a/target/linux/kirkwood/patches-3.18/180-goflexhome.patch
+++ b/target/linux/kirkwood/patches-3.18/180-goflexhome.patch
@@ -1,9 +1,9 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -122,6 +122,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
+@@ -120,6 +120,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
+ kirkwood-ds411.dtb \
+ kirkwood-ds411j.dtb \
kirkwood-ds411slim.dtb \
- kirkwood-ea3500.dtb \
- kirkwood-ea4500.dtb \
+ kirkwood-goflexhome.dtb \
kirkwood-goflexnet.dtb \
kirkwood-guruplug-server-plus.dtb \
diff --git a/target/linux/kirkwood/patches-4.3/140-ea4500.patch b/target/linux/kirkwood/patches-4.3/140-ea4500.patch
index 440939402a..d1a97264eb 100644
--- a/target/linux/kirkwood/patches-4.3/140-ea4500.patch
+++ b/target/linux/kirkwood/patches-4.3/140-ea4500.patch
@@ -1,18 +1,18 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -168,6 +168,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
- kirkwood-ds411.dtb \
- kirkwood-ds411j.dtb \
- kirkwood-ds411slim.dtb \
-+ kirkwood-ea4500.dtb \
- kirkwood-goflexnet.dtb \
- kirkwood-guruplug-server-plus.dtb \
- kirkwood-ib62x0.dtb \
+@@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ kirkwood-is2.dtb \
+ kirkwood-km_kirkwood.dtb \
+ kirkwood-laplug.dtb \
++ kirkwood-linksys-viper.dtb \
+ kirkwood-lschlv2.dtb \
+ kirkwood-lswvl.dtb \
+ kirkwood-lswxl.dtb \
--- /dev/null
-+++ b/arch/arm/boot/dts/kirkwood-ea4500.dts
-@@ -0,0 +1,167 @@
++++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
+@@ -0,0 +1,187 @@
+/*
-+ * kirkwood-ea4500.dts - Device Tree file for Linksys EA4500
++ * kirkwood-linksys-viper.dts - Device Tree file for Linksys EA4500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
@@ -29,8 +29,8 @@
+#include "kirkwood-6282.dtsi"
+
+/ {
-+ model = "Linksys EA4500";
-+ compatible = "linksys,ea4500", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++ model = "Linksys E4200v2 / EA4500";
++ compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
@@ -111,12 +111,12 @@
+ pinctrl-names = "default";
+
+ white-health {
-+ label = "ea4500:white:health";
++ label = "viper:white:health";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ };
+
+ white-pulse {
-+ label = "ea4500:white:pulse";
++ label = "viper:white:pulse";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+ };
@@ -140,22 +140,42 @@
+
+ partition@0 {
+ label = "u-boot";
-+ reg = <0x0000000 0x80000>;
++ reg = <0x0 0x80000>;
+ };
+
+ partition@80000 {
-+ label = "u-boot environment";
++ label = "u_env";
+ reg = <0x80000 0x20000>;
+ };
+
++ partition@a0000 {
++ label = "s_env";
++ reg = <0xa0000 0x20000>;
++ };
++
+ partition@200000 {
-+ label = "kernel";
-+ reg = <0x200000 0x200000>;
++ label = "kernel1";
++ reg = <0x200000 0x1a00000>;
++ };
++
++ partition@4a0000 {
++ label = "rootfs1";
++ reg = <0x4a0000 0x1760000>;
++ };
++
++ partition@1c00000 {
++ label = "kernel2";
++ reg = <0x1c00000 0x1a00000>;
++ };
++
++ partition@1ea0000 {
++ label = "rootfs2";
++ reg = <0x1ea0000 0x1760000>;
+ };
+
-+ partition@400000 {
-+ label = "root";
-+ reg = <0x400000 0x1c00000>;
++ partition@3600000 {
++ label = "syscfg";
++ reg = <0x3600000 0x4a00000>;
+ };
+};
+
diff --git a/target/linux/kirkwood/patches-4.3/150-ea3500.patch b/target/linux/kirkwood/patches-4.3/150-ea3500.patch
index a2d71e3b2a..a30ade13d0 100644
--- a/target/linux/kirkwood/patches-4.3/150-ea3500.patch
+++ b/target/linux/kirkwood/patches-4.3/150-ea3500.patch
@@ -1,18 +1,18 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -168,6 +168,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
- kirkwood-ds411.dtb \
- kirkwood-ds411j.dtb \
- kirkwood-ds411slim.dtb \
-+ kirkwood-ea3500.dtb \
- kirkwood-ea4500.dtb \
- kirkwood-goflexnet.dtb \
- kirkwood-guruplug-server-plus.dtb \
+@@ -176,6 +176,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ kirkwood-is2.dtb \
+ kirkwood-km_kirkwood.dtb \
+ kirkwood-laplug.dtb \
++ kirkwood-linksys-audi.dtb \
+ kirkwood-linksys-viper.dtb \
+ kirkwood-lschlv2.dtb \
+ kirkwood-lswvl.dtb \
--- /dev/null
-+++ b/arch/arm/boot/dts/kirkwood-ea3500.dts
-@@ -0,0 +1,160 @@
++++ b/arch/arm/boot/dts/kirkwood-linksys-audi.dts
+@@ -0,0 +1,179 @@
+/*
-+ * kirkwood-ea3500.dts - Device Tree file for Linksys EA3500
++ * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
@@ -31,7 +31,7 @@
+
+/ {
+ model = "Linksys EA3500";
-+ compatible = "linksys,ea3500", "marvell,kirkwood-88f6282", "marvell,kirkwood";
++ compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
@@ -108,7 +108,7 @@
+ pinctrl-names = "default";
+
+ green-power {
-+ label = "ea3500:green:power";
++ label = "audi:green:power";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
@@ -132,23 +132,42 @@
+
+ partition@0 {
+ label = "u-boot";
-+ reg = <0x0000000 0x80000>;
-+ read-only;
++ reg = <0x0 0x80000>;
+ };
+
+ partition@80000 {
-+ label = "u-boot environment";
-+ reg = <0x80000 0x20000>;
++ label = "u_env";
++ reg = <0x80000 0x4000>;
++ };
++
++ partition@84000 {
++ label = "s_env";
++ reg = <0x84000 0x4000>;
+ };
+
+ partition@200000 {
-+ label = "kernel";
-+ reg = <0x200000 0x200000>;
++ label = "kernel1";
++ reg = <0x200000 0x1400000>;
++ };
++
++ partition@490000 {
++ label = "rootfs1";
++ reg = <0x490000 0x1170000>;
++ };
++
++ partition@1600000 {
++ label = "kernel2";
++ reg = <0x1600000 0x1400000>;
++ };
++
++ partition@1890000 {
++ label = "rootfs2";
++ reg = <0x1890000 0x1170000>;
+ };
+
-+ partition@400000 {
-+ label = "root";
-+ reg = <0x400000 0x1200000>;
++ partition@2a00000 {
++ label = "syscfg";
++ reg = <0x2a00000 0x1600000>;
+ };
+};
+
diff --git a/target/linux/kirkwood/patches-4.3/160-goflexhome.patch b/target/linux/kirkwood/patches-4.3/160-goflexhome.patch
index cdecbd1013..a4307c73b0 100644
--- a/target/linux/kirkwood/patches-4.3/160-goflexhome.patch
+++ b/target/linux/kirkwood/patches-4.3/160-goflexhome.patch
@@ -1,9 +1,9 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -170,6 +170,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+@@ -168,6 +168,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ kirkwood-ds411.dtb \
+ kirkwood-ds411j.dtb \
kirkwood-ds411slim.dtb \
- kirkwood-ea3500.dtb \
- kirkwood-ea4500.dtb \
+ kirkwood-goflexhome.dtb \
kirkwood-goflexnet.dtb \
kirkwood-guruplug-server-plus.dtb \