ramips: add support for the YouHua WR1200JS
authorZheng Qian <sotux82@gmail.com>
Thu, 29 Mar 2018 10:33:02 +0000 (18:33 +0800)
committerMathias Kresin <dev@kresin.me>
Sun, 8 Apr 2018 07:52:48 +0000 (09:52 +0200)
YouHua tech WR1200JS is an AC1200 router with 5 1Gb ports (4 Lan, 1 Wan)
and 1 USB 2.0 port.

Devices is base on MediaTek MT7621AT + MT7603E + MT7612E.

Specification:

- MT7612AT (880 MHz)
- 128 MB of RAM
- 16 MB of FLASH (SPI NOR)
- 5x 10/100/1000 Mbps Ethernet
- 2T2R 2.4 GHz (MT7603E)
- 2T2R 5 GHz (MT7612E)
- 1x USB 2.0
- 10x LED (Power 2G 5G WPS Internet LAN4-1 USB)
- 3x button (reset wifi wps)
- DC jack for main power input (12V)

Installation:

1.) Press reset key 5 sec and restore the factory default
2.) Login webUI and change username to root and set a
    new password
3.) Visit http://192.168.2.254/adm/telnetd.shtml and
    turn on the telnet service
4.) Copy openwrt-ramips-mt7621-youhua_wr1200js-initramfs-kernel.bin
    to a usb pan
5.) Plug the usb pan to the router, telnet to the router
    and login by root
6.) cd /media/sda1 and check the initramfs file is there
7.) exec command:
    mtd_write write openwrt-ramips-mt7621-youhua_wr1200js-initramfs-kernel.bin Kernel
8.) reboot and visit 192.168.1.1

Signed-off-by: Zheng Qian <sotux82@gmail.com>
target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/WR1200JS.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk

index a34abbb69f325f2e4d727bc9ecc28652b6ce531e..1a8e37623e9cae7c068ae07efa27bda621defe03 100755 (executable)
@@ -495,6 +495,11 @@ y1s)
        ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi" "wlan0"
        ucidef_set_led_netdev "wan" "WAN" "$boardname:blue:internet" "eth0.2" "tx rx"
        ;;
+youhua,wr1200js)
+       ucidef_set_led_switch "internet" "INTERNET" "$boardname:green:wan" "switch0" "0x01"
+       ucidef_set_led_usbdev "usb" "USB" "$boardname:blue:usb" "1-2"
+       ucidef_set_led_default "wps" "wps" "$boardname:blue:wps" "0"
+       ;;
 zbt-ape522ii)
        ucidef_set_led_netdev "wlan2g4" "wlan1-link" "$boardname:green:wlan2g4" "wlan1"
        ucidef_set_led_netdev "sys1" "wlan1" "$boardname:green:sys1" "wlan1" "tx rx"
index 8f3a95d3e3dbd5490191635a197632a71a6e2798..0f173bc95c93c786262ce4d2e880a51cbf790f10 100755 (executable)
@@ -210,6 +210,7 @@ ramips_setup_interfaces()
        wrtnode|\
        wrtnode2p | \
        wrtnode2r | \
+       youhua,wr1200js|\
        zbt-wa05)
                ucidef_add_switch "switch0" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
index 7b90f6ba1273bdea77dfbefdc95d00667690c25e..cbaa2d663ef4dca5ed70fb3e15cea1eb1f7433f9 100644 (file)
@@ -132,7 +132,8 @@ get_status_led() {
                status_led="$boardname:yellow:status"
                ;;
        cy-swr1100|\
-       w502u)
+       w502u|\
+       youhua,wr1200js)
                status_led="$boardname:blue:wps"
                ;;
        d240|\
index c58102cf4e96b3548045d62d3f18d2bc44ca1065..473b2c48bb6d0c8eb0ae82a3c73a767939bca280 100755 (executable)
@@ -203,6 +203,7 @@ platform_check_image() {
        x8|\
        y1|\
        y1s|\
+       youhua,wr1200js|\
        we1026-5g-16m|\
        zbt-ape522ii|\
        zbt-cpe102|\
diff --git a/target/linux/ramips/dts/WR1200JS.dts b/target/linux/ramips/dts/WR1200JS.dts
new file mode 100644 (file)
index 0000000..2169e74
--- /dev/null
@@ -0,0 +1,139 @@
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "youhua,wr1200js", "mediatek,mt7621-soc";
+       model = "YouHua WR1200JS";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x8000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200";
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               internet {
+                       label = "wr1200js:blue:internet";
+                       gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
+               };
+
+               wps {
+                       label = "wr1200js:blue:wps";
+                       gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
+               };
+
+               usb {
+                       label = "wr1200js:blue:usb";
+                       gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+
+               wifi {
+                       label = "wifi";
+                       gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RFKILL>;
+               };
+       };
+};
+
+&spi0 {
+       status = "okay";
+
+       m25p80@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <10000000>;
+               m25p,chunked-io = <32>;
+
+               partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0x30000>;
+                       read-only;
+               };
+
+               partition@30000 {
+                       label = "u-boot-env";
+                       reg = <0x30000 0x10000>;
+                       read-only;
+               };
+
+               factory: partition@40000 {
+                       label = "factory";
+                       reg = <0x40000 0x10000>;
+                       read-only;
+               };
+
+               partition@50000 {
+                       label = "firmware";
+                       reg = <0x50000 0xfb0000>;
+               };
+       };
+};
+
+&pcie {
+       status = "okay";
+
+       pcie0 {
+               mt76@0,0 {
+                       reg = <0x0000 0 0 0 0>;
+                       device_type = "pci";
+                       mediatek,mtd-eeprom = <&factory 0x0000>;
+               };
+       };
+
+       pcie1 {
+               mt76@1,0 {
+                       reg = <0x0000 0 0 0 0>;
+                       device_type = "pci";
+                       mediatek,mtd-eeprom = <&factory 0x8000>;
+                       ieee80211-freq-limit = <5000000 6000000>;
+
+                       led {
+                               led-sources = <2>;
+                               led-active-low;
+                       };
+               };
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0xe000>;
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               gpio {
+                       ralink,group = "i2c", "uart2", "uart3", "wdt";
+                       ralink,function = "gpio";
+               };
+       };
+};
index 18b6934529e3883276e2b8fa8dc00a098ca0f73a..d78175cf74d6ae754a1f6396ed0a1cb2303cc7fd 100644 (file)
@@ -328,6 +328,15 @@ define Device/wndr3700v5
 endef
 TARGET_DEVICES += wndr3700v5
 
+define Device/youhua_wr1200js
+  DTS := WR1200JS
+  IMAGE_SIZE := 16064k
+  DEVICE_TITLE := YouHua WR1200JS
+  DEVICE_PACKAGES := \
+       kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += youhua_wr1200js
+
 define Device/wsr-1166
   DTS := WSR-1166
   IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata