From 1b7199c90c7128e3f81cc4abc6d80ab76a820b12 Mon Sep 17 00:00:00 2001 From: DENG Qingfang Date: Sat, 14 Dec 2019 00:24:19 +0800 Subject: 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 --- target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts | 144 +++++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 13 ++ .../mt7621/base-files/etc/board.d/02_network | 5 + 3 files changed, 162 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts (limited to 'target') 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 +#include + +/ { + 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 = ; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&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) ;; -- cgit v1.2.3