diff options
author | INAGAKI Hiroshi <musashino.open@gmail.com> | 2018-05-16 21:42:48 +0900 |
---|---|---|
committer | Mathias Kresin <dev@kresin.me> | 2018-06-19 22:45:36 +0200 |
commit | afe0320ffc212b405e068281d636626df754261e (patch) | |
tree | 64eedf063ff3c372f23634d1ddcbda0ff6248d84 | |
parent | a1373bc6fce77a7839c5d26c9f2f376ae78ceba7 (diff) | |
download | upstream-afe0320ffc212b405e068281d636626df754261e.tar.gz upstream-afe0320ffc212b405e068281d636626df754261e.tar.bz2 upstream-afe0320ffc212b405e068281d636626df754261e.zip |
ramips: add support for I-O DATA WN-GX300GR
I-O DATA WN-GX300GR is a 2.4 GHz band 11n router, based on MediaTek
MT7621S.
Specification:
- MT7621S (1-Core, 2-Threads)
- 64 MB of RAM
- 8 MB of Flash (SPI)
- 2T2R 2.4 GHz
- 5x 10/100/1000 Mbps Ethernet
- 2x LEDs, 4x keys (2x buttons, 1x slide switch)
- UART header on PCB
- Vcc, GND, TX, RX from ethernet port side
- baudrate: 115200 bps (U-Boot, OpenWrt)
Flash instruction using initramfs image:
1. Connect serial cable to UART header
2. Rename OpenWrt initramfs image for WN-GX300GR to "uImageWN-GX300GR"
and place it in the TFTP directory
3. Set the IP address of the computer to 192.168.99.8, connect to the
LAN port of WN-GX300GR, and start the TFTP server on the computer
4. Connect power cable to WN-GX300GR and turn on the router
5. Press "1" key on the serial console to interrupt boot process on
U-Boot, press Enter key 3 times and start firmware download via TFTP
6. WN-GX300GR downloads initramfs image and boot with it
7. On the initramfs image, execute "mtd erase firmware" to erase stock
firmware and execute sysupgrade with sysupgrade image for WN-GX300GR
8. Wait ~150 seconds to complete flasing
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/01_leds | 1 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/02_network | 4 | ||||
-rw-r--r-- | target/linux/ramips/base-files/etc/diag.sh | 1 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/lib/upgrade/platform.sh | 1 | ||||
-rw-r--r-- | target/linux/ramips/dts/WN-GX300GR.dts | 156 | ||||
-rw-r--r-- | target/linux/ramips/image/mt7621.mk | 8 |
6 files changed, 171 insertions, 0 deletions
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 1318ab3e8a..a9a68f6eef 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -168,6 +168,7 @@ dlink,dwr-921-c1) ucidef_set_led_default "sigstrength" "Signal Strength" "$boardname:green:sigstrength" "0" ;; dir-810l|\ +iodata,wn-gx300gr|\ mzk-750dhp|\ mzk-dp150n|\ vr500) 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 de98c1efc2..49d7f9220a 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -195,6 +195,7 @@ ramips_setup_interfaces() gl-mt300n|\ gl-mt750|\ hg255d|\ + iodata,wn-gx300gr|\ jhr-n805r|\ jhr-n825r|\ jhr-n926r|\ @@ -460,6 +461,9 @@ ramips_setup_macs() [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address) wan_mac=$(macaddr_add "$lan_mac" 1) ;; + iodata,wn-gx300gr) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1) + ;; kn_rc|\ kn_rf|\ kng_rc) diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 7f8e471860..e5373a80d1 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -27,6 +27,7 @@ get_status_led() { fonera20n|\ firewrt|\ hg255d|\ + iodata,wn-gx300gr|\ kn|\ kn_rc|\ kn_rf|\ diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 5488972d59..9b17ecbebb 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -75,6 +75,7 @@ platform_check_image() { hpm|\ ht-tm02|\ hw550-3g|\ + iodata,wn-gx300gr|\ ip2202|\ jhr-n805r|\ jhr-n825r|\ diff --git a/target/linux/ramips/dts/WN-GX300GR.dts b/target/linux/ramips/dts/WN-GX300GR.dts new file mode 100644 index 0000000000..aa89f05555 --- /dev/null +++ b/target/linux/ramips/dts/WN-GX300GR.dts @@ -0,0 +1,156 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + compatible = "iodata,wn-gx300gr", "mediatek,mt7621-soc"; + model = "I-O DATA WN-GX300GR"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "wn-gx300gr:green:power"; + gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "wn-gx300gr:green:wps"; + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + auto { + label = "auto"; + gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; + linux,code = <BTN_0>; + linux,input-type = <EV_SW>; + }; + + custom { + label = "custom"; + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; + linux,code = <BTN_0>; + linux,input-type = <EV_SW>; + }; + }; +}; + +&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 = "Bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "Config"; + reg = <0x30000 0x10000>; + read-only; + }; + + Factory: partition@40000 { + label = "Factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "iNIC_rf"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0x770000>; + }; + + partition@7d0000 { + label = "Key"; + reg = <0x7d0000 0x10000>; + read-only; + }; + + partition@7e0000 { + label = "backup"; + reg = <0x7e0000 0x10000>; + read-only; + }; + + partition@7f0000 { + label = "storage"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; +}; + +ðernet { + mtd-mac-address = <&Factory 0x4>; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uart2", "uart3", "jtag"; + ralink,function = "gpio"; + }; + }; +}; + +&pcie { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&Factory 0x0>; + }; + }; +}; + +&xhci { + status = "disabled"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 4ef4546d1e..f8fb28196b 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -114,6 +114,14 @@ define Device/hc5962 endef TARGET_DEVICES += hc5962 +define Device/iodata_wn-gx300gr + DTS := WN-GX300GR + IMAGE_SIZE := 7798784 + DEVICE_TITLE := I-O DATA WN-GX300GR + DEVICE_PACKAGES := kmod-mt7603 wpad-mini +endef +TARGET_DEVICES += iodata_wn-gx300gr + define Device/k2p DTS := K2P IMAGE_SIZE := $(ralink_default_fw_size_16M) |