Re: [OpenWrt-Devel] [PATCH] ramips: Add support for Netgear EX2700

2016-01-21 Thread John Crispin
Hi,

few comments inline.

On 19/01/2016 22:42, Joseph C. Lehner wrote:
> This patch adds support for the Netgear EX2700 and builds an approriate 
> sysupgrade image. 
> 
> What's missing is the option to build a factory image flashable via the 
> router's stock web interface, but this approach is hindered by the fact 
> that u-boot operforms an additional integrity check, which expects a 
> uImage header in the last 64 bytes of the "kernel" partition, which
> the bootloader expects to be 960k, a size exceeded by the standard 
> OpenWrt kernel.
> 
> Signed-off-by: Joseph C. Lehner 
> 
> ---
> 
> diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds 
> b/target/linux/ramips/base-files/etc/board.d/01_leds
> index c3a81a4..62478f0 100755
> --- a/target/linux/ramips/base-files/etc/board.d/01_leds
> +++ b/target/linux/ramips/base-files/etc/board.d/01_leds
> @@ -121,6 +121,10 @@ dir-615-h1)
>  dir-620-d1)
>   set_wifi_led "$board:green:wifi"
>   ;;
> +ex2700)
> + ucidef_set_led_default "power_r" "POWER (red)" "$board:red:power" "0"
> + set_wifi_led "$board:router:green"
> + ;;

please stick to the alphabetical ordering (there are 2 more cases like
this later on in the patch. please fix all 3 and resend the patch

rest looks good

John



>  dir-810l|\
>  mzk-dp150n)
>   ucidef_set_led_default "power" "power" "$board:green:power" "1"
> diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
> b/target/linux/ramips/base-files/etc/board.d/02_network
> index dafa3e9..9853729 100755
> --- a/target/linux/ramips/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> @@ -141,7 +141,8 @@ ramips_setup_interfaces()
>   ucidef_add_switch "switch0" \
>   "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
>   ;;
> - cf-wr800n)
> + cf-wr800n|\
> + ex2700)
>   ucidef_add_switch "switch0" \
>   "4:lan" "6t@eth0"
>   ;;
> diff --git a/target/linux/ramips/base-files/etc/diag.sh 
> b/target/linux/ramips/base-files/etc/diag.sh
> index acc500b..59c5965 100644
> --- a/target/linux/ramips/base-files/etc/diag.sh
> +++ b/target/linux/ramips/base-files/etc/diag.sh
> @@ -34,6 +34,7 @@ get_status_led() {
>   a5-v11|\
>   d105|\
>   dcs-930l-b1|\
> + ex2700|\
>   hlk-rm04|\
>   mpr-a1|\
>   mpr-a2)
> diff --git a/target/linux/ramips/base-files/lib/ramips.sh 
> b/target/linux/ramips/base-files/lib/ramips.sh
> index 8025a40..aed8350 100755
> --- a/target/linux/ramips/base-files/lib/ramips.sh
> +++ b/target/linux/ramips/base-files/lib/ramips.sh
> @@ -154,6 +154,9 @@ ramips_board_detect() {
>   *"ESR-9753")
>   name="esr-9753"
>   ;;
> + *"EX2700")
> + name="ex2700";
> + ;;
>   *"F5D8235 v1")
>   name="f5d8235-v1"
>   ;;
> diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
> b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> index 39b5f94..78edd22 100755
> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> @@ -51,6 +51,7 @@ platform_check_image() {
>   dir-810l|\
>   e1700|\
>   esr-9753|\
> + ex2700|\
>   f7c027|\
>   firewrt|\
>   fonera20n|\
> diff --git a/target/linux/ramips/dts/EX2700.dts 
> b/target/linux/ramips/dts/EX2700.dts
> new file mode 100644
> index 000..b63949a
> --- /dev/null
> +++ b/target/linux/ramips/dts/EX2700.dts
> @@ -0,0 +1,153 @@
> +/*
> + * Device Tree file for the Netgear EX2700
> + *
> + * Copyright (C) 2016 Joseph C. Lehner 
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> + */
> +
> +/dts-v1/;
> +
> +/include/ "mt7620a.dtsi"
> +
> +/ {
> + compatible = "ralink,mt7620a-soc";
> + model = "Netgear EX2700";
> +
> + chosen {
> + bootargs = "console=ttyS0,57600";
> + };
> +
> + palmbus@1000 {
> +
> + gpio0: gpio@600 {
> + status = "okay";
> + };
> +
> + gpio1: gpio@638 {
> + status = "okay";
> + };
> +
> + spi@b00 {
> + status = "okay";
> +
> + m25p80@0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "jedec,spi-nor";
> + reg = <0 0>;
> + linux,modalias = "m25p80", "mx25l3205d";
> + spi-max-frequency = <1000>;
> +
> + partition@0 {
> + label = "u-boot";
> +  

[OpenWrt-Devel] [PATCH] ramips: Add support for Netgear EX2700

2016-01-19 Thread Joseph C. Lehner
This patch adds support for the Netgear EX2700 and builds an approriate 
sysupgrade image. 

What's missing is the option to build a factory image flashable via the 
router's stock web interface, but this approach is hindered by the fact 
that u-boot operforms an additional integrity check, which expects a 
uImage header in the last 64 bytes of the "kernel" partition, which
the bootloader expects to be 960k, a size exceeded by the standard 
OpenWrt kernel.

Signed-off-by: Joseph C. Lehner 

---

diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds 
b/target/linux/ramips/base-files/etc/board.d/01_leds
index c3a81a4..62478f0 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -121,6 +121,10 @@ dir-615-h1)
 dir-620-d1)
set_wifi_led "$board:green:wifi"
;;
+ex2700)
+   ucidef_set_led_default "power_r" "POWER (red)" "$board:red:power" "0"
+   set_wifi_led "$board:router:green"
+   ;;
 dir-810l|\
 mzk-dp150n)
ucidef_set_led_default "power" "power" "$board:green:power" "1"
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
b/target/linux/ramips/base-files/etc/board.d/02_network
index dafa3e9..9853729 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -141,7 +141,8 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
;;
-   cf-wr800n)
+   cf-wr800n|\
+   ex2700)
ucidef_add_switch "switch0" \
"4:lan" "6t@eth0"
;;
diff --git a/target/linux/ramips/base-files/etc/diag.sh 
b/target/linux/ramips/base-files/etc/diag.sh
index acc500b..59c5965 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -34,6 +34,7 @@ get_status_led() {
a5-v11|\
d105|\
dcs-930l-b1|\
+   ex2700|\
hlk-rm04|\
mpr-a1|\
mpr-a2)
diff --git a/target/linux/ramips/base-files/lib/ramips.sh 
b/target/linux/ramips/base-files/lib/ramips.sh
index 8025a40..aed8350 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -154,6 +154,9 @@ ramips_board_detect() {
*"ESR-9753")
name="esr-9753"
;;
+   *"EX2700")
+   name="ex2700";
+   ;;
*"F5D8235 v1")
name="f5d8235-v1"
;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 39b5f94..78edd22 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -51,6 +51,7 @@ platform_check_image() {
dir-810l|\
e1700|\
esr-9753|\
+   ex2700|\
f7c027|\
firewrt|\
fonera20n|\
diff --git a/target/linux/ramips/dts/EX2700.dts 
b/target/linux/ramips/dts/EX2700.dts
new file mode 100644
index 000..b63949a
--- /dev/null
+++ b/target/linux/ramips/dts/EX2700.dts
@@ -0,0 +1,153 @@
+/*
+ * Device Tree file for the Netgear EX2700
+ *
+ * Copyright (C) 2016 Joseph C. Lehner 
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+
+/include/ "mt7620a.dtsi"
+
+/ {
+   compatible = "ralink,mt7620a-soc";
+   model = "Netgear EX2700";
+
+   chosen {
+   bootargs = "console=ttyS0,57600";
+   };
+
+   palmbus@1000 {
+
+   gpio0: gpio@600 {
+   status = "okay";
+   };
+
+   gpio1: gpio@638 {
+   status = "okay";
+   };
+
+   spi@b00 {
+   status = "okay";
+
+   m25p80@0 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "jedec,spi-nor";
+   reg = <0 0>;
+   linux,modalias = "m25p80", "mx25l3205d";
+   spi-max-frequency = <1000>;
+
+   partition@0 {
+   label = "u-boot";
+   reg = <0x0 0x3>;
+   read-only;
+   };
+
+   partition@3 {
+   label = "u-boot-env";
+   reg = <0x3 0x1>;
+   read-only;
+