ramips: add support for netis WF2770
netis WF2770 is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A. Specifications: - SoC: MT7620A - RAM: DDR2 64MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7610EN - Ethernet: 5x 10/100/1000Mbps - Switch: MT7530BU - UART: - J2: 3.3V, RX, TX, GND (3.3V is the square pad) / 57600 8N1 MAC addresses in factory partition: 0x0004: LAN, WiFi 2.4GHz (label_mac-6) 0x0028: not used (label_mac-1) 0x002e: WAN (label_mac) 0x8004: WiFi 5GHz (label_mac+2) Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Reviewed-by: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This commit is contained in:
		
				
					committed by
					
						
						Adrian Schmutzler
					
				
			
			
				
	
			
			
			
						parent
						
							46674723e1
						
					
				
				
					commit
					a4e9c8f14b
				
			
							
								
								
									
										161
									
								
								target/linux/ramips/dts/mt7620a_netis_wf2770.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								target/linux/ramips/dts/mt7620a_netis_wf2770.dts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,161 @@
 | 
				
			|||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 | 
				
			||||||
 | 
					/dts-v1/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "mt7620a.dtsi"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <dt-bindings/gpio/gpio.h>
 | 
				
			||||||
 | 
					#include <dt-bindings/input/input.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/ {
 | 
				
			||||||
 | 
						compatible = "netis,wf2770", "ralink,mt7620a-soc";
 | 
				
			||||||
 | 
						model = "NETIS WF2770";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						leds {
 | 
				
			||||||
 | 
							compatible = "gpio-leds";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							wlan {
 | 
				
			||||||
 | 
								label = "wf2770:blue:wlan";
 | 
				
			||||||
 | 
								gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,default-trigger = "phy0tpt";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						keys {
 | 
				
			||||||
 | 
							compatible = "gpio-keys";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							reset {
 | 
				
			||||||
 | 
								label = "reset";
 | 
				
			||||||
 | 
								gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,code = <KEY_RESTART>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							wps {
 | 
				
			||||||
 | 
								label = "wps";
 | 
				
			||||||
 | 
								gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,code = <KEY_WPS_BUTTON>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							rfkill {
 | 
				
			||||||
 | 
								label = "rfkill";
 | 
				
			||||||
 | 
								gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,code = <KEY_RFKILL>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							led-toggle {
 | 
				
			||||||
 | 
								label = "led-toggle";
 | 
				
			||||||
 | 
								gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,code = <KEY_LIGHTS_TOGGLE>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&spi0 {
 | 
				
			||||||
 | 
						status = "okay";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						flash@0 {
 | 
				
			||||||
 | 
							compatible = "jedec,spi-nor";
 | 
				
			||||||
 | 
							reg = <0>;
 | 
				
			||||||
 | 
							spi-max-frequency = <50000000>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							partitions {
 | 
				
			||||||
 | 
								compatible = "fixed-partitions";
 | 
				
			||||||
 | 
								#address-cells = <1>;
 | 
				
			||||||
 | 
								#size-cells = <1>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								partition@0 {
 | 
				
			||||||
 | 
									label = "u-boot";
 | 
				
			||||||
 | 
									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 {
 | 
				
			||||||
 | 
									compatible = "denx,uimage";
 | 
				
			||||||
 | 
									label = "firmware";
 | 
				
			||||||
 | 
									reg = <0x50000 0xfb0000>;
 | 
				
			||||||
 | 
								};
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&state_default {
 | 
				
			||||||
 | 
						gpio {
 | 
				
			||||||
 | 
							groups = "i2c", "uartf";
 | 
				
			||||||
 | 
							function = "gpio";
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ðernet {
 | 
				
			||||||
 | 
						pinctrl-names = "default";
 | 
				
			||||||
 | 
						pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mtd-mac-address = <&factory 0x4>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						port@5 {
 | 
				
			||||||
 | 
							status = "okay";
 | 
				
			||||||
 | 
							mediatek,fixed-link = <1000 1 1 1>;
 | 
				
			||||||
 | 
							phy-mode = "rgmii";
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mdio-bus {
 | 
				
			||||||
 | 
							status = "okay";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ethernet-phy@0 {
 | 
				
			||||||
 | 
								reg = <0>;
 | 
				
			||||||
 | 
								phy-mode = "rgmii";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ethernet-phy@1 {
 | 
				
			||||||
 | 
								reg = <1>;
 | 
				
			||||||
 | 
								phy-mode = "rgmii";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ethernet-phy@2 {
 | 
				
			||||||
 | 
								reg = <2>;
 | 
				
			||||||
 | 
								phy-mode = "rgmii";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ethernet-phy@3 {
 | 
				
			||||||
 | 
								reg = <3>;
 | 
				
			||||||
 | 
								phy-mode = "rgmii";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ethernet-phy@4 {
 | 
				
			||||||
 | 
								reg = <4>;
 | 
				
			||||||
 | 
								phy-mode = "rgmii";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ethernet-phy@1f {
 | 
				
			||||||
 | 
								reg = <0x1f>;
 | 
				
			||||||
 | 
								phy-mode = "rgmii";
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&pcie {
 | 
				
			||||||
 | 
						status = "okay";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&pcie0 {
 | 
				
			||||||
 | 
						wifi@0,0 {
 | 
				
			||||||
 | 
							compatible = "mediatek,mt76";
 | 
				
			||||||
 | 
							reg = <0x0000 0 0 0 0>;
 | 
				
			||||||
 | 
							mediatek,mtd-eeprom = <&factory 0x8000>;
 | 
				
			||||||
 | 
							ieee80211-freq-limit = <5000000 6000000>;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&wmac {
 | 
				
			||||||
 | 
						ralink,mtd-eeprom = <&factory 0x0>;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -100,6 +100,12 @@ define Build/mkdlinkfw-factory
 | 
				
			|||||||
	mv $@.new $@
 | 
						mv $@.new $@
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Build/netis-tail
 | 
				
			||||||
 | 
						echo -n $(1) >> $@
 | 
				
			||||||
 | 
						echo -n $(UIMAGE_NAME)-yun | $(STAGING_DIR_HOST)/bin/mkhash md5 | \
 | 
				
			||||||
 | 
							sed 's/../\\\\x&/g' | xargs echo -ne >> $@
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define Build/poray-header
 | 
					define Build/poray-header
 | 
				
			||||||
	$(STAGING_DIR_HOST)/bin/mkporayfw $(1) -f $@ -o $@.new
 | 
						$(STAGING_DIR_HOST)/bin/mkporayfw $(1) -f $@ -o $@.new
 | 
				
			||||||
	mv $@.new $@
 | 
						mv $@.new $@
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -700,6 +700,17 @@ define Device/netgear_wn3000rp-v3
 | 
				
			|||||||
endef
 | 
					endef
 | 
				
			||||||
TARGET_DEVICES += netgear_wn3000rp-v3
 | 
					TARGET_DEVICES += netgear_wn3000rp-v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Device/netis_wf2770
 | 
				
			||||||
 | 
					  SOC := mt7620a
 | 
				
			||||||
 | 
					  IMAGE_SIZE := 16064k
 | 
				
			||||||
 | 
					  UIMAGE_NAME := WF2770_0.0.00
 | 
				
			||||||
 | 
					  DEVICE_VENDOR := NETIS
 | 
				
			||||||
 | 
					  DEVICE_MODEL := WF2770
 | 
				
			||||||
 | 
					  DEVICE_PACKAGES := kmod-mt76x0e
 | 
				
			||||||
 | 
					  KERNEL_INITRAMFS := $(KERNEL_DTB) | netis-tail WF2770 | uImage lzma
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					TARGET_DEVICES += netis_wf2770
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define Device/nexx_wt3020-4m
 | 
					define Device/nexx_wt3020-4m
 | 
				
			||||||
  SOC := mt7620n
 | 
					  SOC := mt7620n
 | 
				
			||||||
  BLOCKSIZE := 4k
 | 
					  BLOCKSIZE := 4k
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,12 +81,6 @@ define Build/iodata-mstc-header
 | 
				
			|||||||
	)
 | 
						)
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define Build/netis-tail
 | 
					 | 
				
			||||||
	echo -n $(1) >> $@
 | 
					 | 
				
			||||||
	echo -n $(UIMAGE_NAME)-yun | $(STAGING_DIR_HOST)/bin/mkhash md5 | \
 | 
					 | 
				
			||||||
		sed 's/../\\\\x&/g' | xargs echo -ne >> $@
 | 
					 | 
				
			||||||
endef
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
define Build/ubnt-erx-factory-image
 | 
					define Build/ubnt-erx-factory-image
 | 
				
			||||||
	if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
 | 
						if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
 | 
				
			||||||
		echo '21001:6' > $(1).compat; \
 | 
							echo '21001:6' > $(1).compat; \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,6 +170,7 @@ ramips_setup_interfaces()
 | 
				
			|||||||
			"1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
 | 
								"1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	linksys,e1700|\
 | 
						linksys,e1700|\
 | 
				
			||||||
 | 
						netis,wf2770|\
 | 
				
			||||||
	ralink,mt7620a-mt7530-evb)
 | 
						ralink,mt7620a-mt7530-evb)
 | 
				
			||||||
		ucidef_add_switch "switch0"
 | 
							ucidef_add_switch "switch0"
 | 
				
			||||||
		ucidef_add_switch_attr "switch0" "enable" "false"
 | 
							ucidef_add_switch_attr "switch0" "enable" "false"
 | 
				
			||||||
@@ -338,6 +339,10 @@ ramips_setup_macs()
 | 
				
			|||||||
	linksys,e1700)
 | 
						linksys,e1700)
 | 
				
			||||||
		wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
 | 
							wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
 | 
						netis,wf2770)
 | 
				
			||||||
 | 
							wan_mac=$(mtd_get_mac_binary factory 0x2e)
 | 
				
			||||||
 | 
							label_mac=$wan_mac
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
	tplink,archer-c2-v1|\
 | 
						tplink,archer-c2-v1|\
 | 
				
			||||||
	tplink,archer-c20-v1|\
 | 
						tplink,archer-c20-v1|\
 | 
				
			||||||
	tplink,archer-c20i|\
 | 
						tplink,archer-c20i|\
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user