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 $@
 | 
			
		||||
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
 | 
			
		||||
	$(STAGING_DIR_HOST)/bin/mkporayfw $(1) -f $@ -o $@.new
 | 
			
		||||
	mv $@.new $@
 | 
			
		||||
 
 | 
			
		||||
@@ -700,6 +700,17 @@ define Device/netgear_wn3000rp-v3
 | 
			
		||||
endef
 | 
			
		||||
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
 | 
			
		||||
  SOC := mt7620n
 | 
			
		||||
  BLOCKSIZE := 4k
 | 
			
		||||
 
 | 
			
		||||
@@ -81,12 +81,6 @@ define Build/iodata-mstc-header
 | 
			
		||||
	)
 | 
			
		||||
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
 | 
			
		||||
	if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
 | 
			
		||||
		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"
 | 
			
		||||
		;;
 | 
			
		||||
	linksys,e1700|\
 | 
			
		||||
	netis,wf2770|\
 | 
			
		||||
	ralink,mt7620a-mt7530-evb)
 | 
			
		||||
		ucidef_add_switch "switch0"
 | 
			
		||||
		ucidef_add_switch_attr "switch0" "enable" "false"
 | 
			
		||||
@@ -338,6 +339,10 @@ ramips_setup_macs()
 | 
			
		||||
	linksys,e1700)
 | 
			
		||||
		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-c20-v1|\
 | 
			
		||||
	tplink,archer-c20i|\
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user