diff options
author | DENG Qingfang <dengqf6@mail2.sysu.edu.cn> | 2019-12-14 00:24:19 +0800 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2019-12-13 19:43:47 +0100 |
commit | 1b7199c90c7128e3f81cc4abc6d80ab76a820b12 (patch) | |
tree | 74ec71602f5aee46c6f542ea9652037e9d8989f1 | |
parent | 0bf4d681d4f2e4bd3c3a61e7fe5dca2a40b1902f (diff) | |
download | upstream-1b7199c90c7128e3f81cc4abc6d80ab76a820b12.tar.gz upstream-1b7199c90c7128e3f81cc4abc6d80ab76a820b12.tar.bz2 upstream-1b7199c90c7128e3f81cc4abc6d80ab76a820b12.zip |
ramips: add support for JCG JHR-AC876M
JCG JHR-AC876M is an AC2600M router
Hardware specs:
SoC: MT7621AT
2.4GHz: MT7615N 4x4 @ PCIe0
5GHz: MT7615N 4x4 @ PCIe1
Flash: Winbond W25Q128JVSQ 16MiB
RAM: Nanya NT5CB128M16 256MiB
USB 2.0 and 3.0 ports
6 LEDs, 3 of which are connected to SoC GPIO
Reset and WPS buttons
Flash instructions:
Stock to OpenWrt:
Upload factory.bin in stock firmware's upgrade page,
do not preserve settings
OpenWrt to stock:
Push and hold the reset button for 5s while power cycling to
enter recovery mode;
Visit 192.168.1.1 and upload stock firmware
MAC addresses map:
0x0004 *:1c wlan2g/wan/label
0x8004 *:20 wlan5g
0xe000 *:1b lan
0xe006 *:1a not used in stock fw
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
-rw-r--r-- | target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts | 144 | ||||
-rw-r--r-- | target/linux/ramips/image/mt7621.mk | 13 | ||||
-rwxr-xr-x | target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 5 |
3 files changed, 162 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts new file mode 100644 index 0000000000..e3266ebbcb --- /dev/null +++ b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts @@ -0,0 +1,144 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + compatible = "jcg,jhr-ac876m", "mediatek,mt7621-soc"; + model = "JCG JHR-AC876M"; + + aliases { + led-boot = &led_wps; + led-failsafe = &led_wps; + led-running = &led_wps; + led-upgrade = &led_wps; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + usb3 { + label = "jhr-ac876m:blue:usb3"; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + + usb2 { + label = "jhr-ac876m:blue:usb2"; + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + trigger-sources = <&ehci_port2>; + linux,default-trigger = "usbport"; + }; + + led_wps: wps { + label = "jhr-ac876m:blue:wps"; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + 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 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + ieee80211-freq-limit = <2400000 2500000>; + + led { + led-active-low; + }; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + + led { + led-active-low; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + +&state_default { + gpio { + ralink,group = "i2c", "uart3", "jtag", "wdt"; + ralink,function = "gpio"; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 5b1c4b7321..e9190844ac 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -371,6 +371,19 @@ define Device/iptime_a6ns-m endef TARGET_DEVICES += iptime_a6ns-m +define Device/jcg_jhr-ac876m + MTK_SOC := mt7621 + IMAGE_SIZE := 16064k + IMAGES += factory.bin + IMAGE/factory.bin := \ + $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | jcg-header 89.1 + JCG_MAXSIZE := 16064k + DEVICE_VENDOR := JCG + DEVICE_MODEL := JHR-AC876M + DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += jcg_jhr-ac876m + define Device/lenovo_newifi-d1 MTK_SOC := mt7621 IMAGE_SIZE := 32448k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index bae7f41f1c..5c6b5659cb 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ ramips_setup_interfaces() d-team,pbr-m1|\ firefly,firewrt|\ hiwifi,hc5962|\ + jcg,jhr-ac876m|\ mediatek,ap-mt7621a-v60|\ mediatek,mt7621-eval-board|\ mqmaker,witi|\ @@ -222,6 +223,10 @@ ramips_setup_macs() iptime,a6ns-m) wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) ;; + jcg,jhr-ac876m) + label_mac=$(mtd_get_mac_binary factory 0x4) + wan_mac=$label_mac + ;; mediatek,ap-mt7621a-v60) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1) ;; |