ramips: add support for Linksys E7350
Linksys E7350 is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7621A. Specifications: - SoC: MT7621 (880MHz, 2 Cores) - RAM: 256 MB - Flash: 128 MB NAND - Wi-Fi: - MT7915D: 2.4/5 GHz (DBDC) - Ethernet: 5x 1GiE MT7530 - USB: 1x USB 3.0 - UART: J4 (57600 baud) - Pinout: [3V3] (TXD) (RXD) (blank) (GND) Notes: * This device has a dual-boot partition scheme, but this firmware works only on boot partition 1. Installation: Upload the generated factory.bin image via the stock web firmware updater. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
		 Rosen Penev
					Rosen Penev
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							26a6a6a60b
						
					
				
				
					commit
					f4eef5f2a1
				
			| @@ -52,6 +52,7 @@ h3c,tx1800-plus|\ | ||||
| h3c,tx1801-plus|\ | ||||
| h3c,tx1806|\ | ||||
| jcg,q20|\ | ||||
| linksys,e7350|\ | ||||
| netgear,wax202) | ||||
| 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" | ||||
| 	;; | ||||
|   | ||||
							
								
								
									
										205
									
								
								target/linux/ramips/dts/mt7621_linksys_e7350.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								target/linux/ramips/dts/mt7621_linksys_e7350.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,205 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "mt7621.dtsi" | ||||
|  | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	compatible = "linksys,e7350", "mediatek,mt7621-soc"; | ||||
| 	model = "Linksys E7350"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&gpio 6 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&gpio 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led-wps { | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			gpios = <&gpio 13 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led_power: led-power { | ||||
| 			label = "blue:power"; | ||||
| 			gpios = <&gpio 14 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
|  | ||||
| 		led-wan { | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			gpios = <&gpio 15 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-wan2 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			gpios = <&switch0 0 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-lan4 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <4>; | ||||
| 			gpios = <&switch0 3 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-lan3 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <3>; | ||||
| 			gpios = <&switch0 6 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-lan2 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <2>; | ||||
| 			gpios = <&switch0 9 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led-lan1 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <1>; | ||||
| 			gpios = <&switch0 12 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	partitions { | ||||
| 		compatible = "fixed-partitions"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
|  | ||||
| 		partition@0 { | ||||
| 			label = "Boot"; | ||||
| 			reg = <0x0 0x80000>; | ||||
| 			read-only; | ||||
| 		}; | ||||
|  | ||||
| 		partition@80000 { | ||||
| 			label = "Config"; | ||||
| 			reg = <0x80000 0x80000>; | ||||
| 		}; | ||||
|  | ||||
| 		factory: partition@100000 { | ||||
| 			label = "Factory"; | ||||
| 			reg = <0x100000 0x80000>; | ||||
| 			read-only; | ||||
| 		}; | ||||
|  | ||||
| 		partition@180000 { | ||||
| 			label = "firmware"; | ||||
| 			reg = <0x180000 0x3000000>; | ||||
|  | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x0 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@400000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x400000 0x2c00000>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		partition@3180000 { | ||||
| 			label = "alt_firmware"; | ||||
| 			reg = <0x3180000 0x3000000>; | ||||
| 			read-only; | ||||
| 		}; | ||||
|  | ||||
| 		partition@6180000 { | ||||
| 			label = "cbtinfo"; | ||||
| 			reg = <0x6180000 0x80000>; | ||||
| 			read-only; | ||||
| 		}; | ||||
| 		/* seems to be the end here. Can't read past 0x6200000 */ | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &pcie { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &pcie1 { | ||||
| 	wifi@0,0 { | ||||
| 		compatible = "mediatek,mt76"; | ||||
| 		reg = <0x0000 0 0 0 0>; | ||||
| 		mediatek,mtd-eeprom = <&factory 0x0000>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &gmac1 { | ||||
| 	status = "okay"; | ||||
| 	label = "wan"; | ||||
| 	phy-handle = <ðphy0>; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	ethphy0: ethernet-phy@0 { | ||||
| 		reg = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &switch0 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
|  | ||||
| 	ports { | ||||
| 		port@1 { | ||||
| 			status = "okay"; | ||||
| 			label = "lan4"; | ||||
| 		}; | ||||
|  | ||||
| 		port@2 { | ||||
| 			status = "okay"; | ||||
| 			label = "lan3"; | ||||
| 		}; | ||||
|  | ||||
| 		port@3 { | ||||
| 			status = "okay"; | ||||
| 			label = "lan2"; | ||||
| 		}; | ||||
|  | ||||
| 		port@4 { | ||||
| 			status = "okay"; | ||||
| 			label = "lan1"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @@ -1192,6 +1192,15 @@ define Device/linksys_e5600 | ||||
| endef | ||||
| TARGET_DEVICES += linksys_e5600 | ||||
|  | ||||
| define Device/linksys_e7350 | ||||
|   $(Device/belkin_rt1800) | ||||
|   DEVICE_VENDOR := Linksys | ||||
|   DEVICE_MODEL := E7350 | ||||
|   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \ | ||||
| 	append-ubi | check-size | belkin-header GOLF 1 9.9.9 | ||||
| endef | ||||
| TARGET_DEVICES += linksys_e7350 | ||||
|  | ||||
| define Device/linksys_ea7xxx | ||||
|   $(Device/dsa-migration) | ||||
|   $(Device/uimage-lzma-loader) | ||||
|   | ||||
| @@ -75,6 +75,13 @@ gnubee,gb-pc2) | ||||
| linksys,e5600) | ||||
| 	ucidef_set_led_netdev "wan" "wan link" "blue:wan" "wan" "link" | ||||
| 	;; | ||||
| linksys,e7350) | ||||
| 	ucidef_set_led_netdev "lan1" "lan1" "blue:lan-1" "lan1" | ||||
| 	ucidef_set_led_netdev "lan2" "lan2" "blue:lan-2" "lan2" | ||||
| 	ucidef_set_led_netdev "lan3" "lan4" "blue:lan-3" "lan3" | ||||
| 	ucidef_set_led_netdev "lan4" "lan4" "blue:lan-4" "lan4" | ||||
| 	ucidef_set_led_netdev "wan" "wan" "blue:wan" "wan" | ||||
| 	;; | ||||
| linksys,ea6350-v4|\ | ||||
| linksys,ea7300-v1|\ | ||||
| linksys,ea7300-v2|\ | ||||
|   | ||||
| @@ -205,7 +205,8 @@ ramips_setup_macs() | ||||
| 		wan_mac=$lan_mac | ||||
| 		label_mac=$lan_mac | ||||
| 		;; | ||||
| 	belkin,rt1800) | ||||
| 	belkin,rt1800|\ | ||||
| 	linksys,e7350) | ||||
| 		lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr) | ||||
| 		wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr) | ||||
| 		label_mac=$lan_mac | ||||
|   | ||||
| @@ -84,7 +84,8 @@ case "$board" in | ||||
| 		[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress | ||||
| 		[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress | ||||
| 		;; | ||||
| 	belkin,rt1800) | ||||
| 	belkin,rt1800|\ | ||||
| 	linksys,e7350) | ||||
| 		hw_mac_addr=$(mtd_get_mac_ascii Config wan_hwaddr) | ||||
| 		[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress | ||||
| 		[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress | ||||
|   | ||||
| @@ -23,6 +23,7 @@ boot() { | ||||
| 		mtd resetbc s_env || true | ||||
| 		;; | ||||
| 	belkin,rt1800|\ | ||||
| 	linksys,e7350|\ | ||||
| 	samknows,whitebox-v8) | ||||
| 		fw_setenv bootcount 0 | ||||
| 		;; | ||||
|   | ||||
| @@ -71,6 +71,7 @@ platform_do_upgrade() { | ||||
| 	iptime,t5004|\ | ||||
| 	jcg,q20|\ | ||||
| 	linksys,e5600|\ | ||||
| 	linksys,e7350|\ | ||||
| 	linksys,ea6350-v4|\ | ||||
| 	linksys,ea7300-v1|\ | ||||
| 	linksys,ea7300-v2|\ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user