ramips: add support for Edimax BR-6478AC v2
Roll-up of patches by Rohan Murch, Hans Ulli Kroll, and James McKenzie. Taken from https://forum.openwrt.org/viewtopic.php?id=67192 and updated. Specification: - System-On-Chip: MT7620A - CPU/Speed: 580 MHz - Flash-Chip: Macronix MX25L6405D - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7620A 2.4GHz 802.11bgn - Wireless No2: On-board chip: MT7612E 5GHz 802.11ac - Switch: Mediatek MT7530W Gigabit Switch - USB: Yes 1 x 2.0 Installation: 1. Download sysupgrade.bin 2. Open vendor web interface 3. Choose to upgrade firmware 4. After reboot connect via ethernet at 192.168.1.1 Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
This commit is contained in:
		 Daniel Gimpelevich
					Daniel Gimpelevich
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							ad5c2897ec
						
					
				
				
					commit
					f72fa883b3
				
			| @@ -86,6 +86,12 @@ asl26555-16M) | |||||||
| bc2) | bc2) | ||||||
| 	set_usb_led "$boardname:blue:usb" | 	set_usb_led "$boardname:blue:usb" | ||||||
| 	;; | 	;; | ||||||
|  | br-6478ac-v2) | ||||||
|  | 	ucidef_set_led_default "power" "POWER" "$boardname:white:power" "1" | ||||||
|  | 	ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" "eth0.2" | ||||||
|  | 	set_wifi_led "$boardname:blue:wlan" | ||||||
|  | 	set_usb_led "$boardname:blue:usb" | ||||||
|  | 	;; | ||||||
| broadway) | broadway) | ||||||
| 	set_usb_led "$boardname:red:diskmounted" | 	set_usb_led "$boardname:red:diskmounted" | ||||||
| 	set_wifi_led "$boardname:red:wps_active" | 	set_wifi_led "$boardname:red:wps_active" | ||||||
|   | |||||||
| @@ -341,6 +341,7 @@ ramips_setup_interfaces() | |||||||
| 		ucidef_add_switch "switch0" \ | 		ucidef_add_switch "switch0" \ | ||||||
| 			"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0" | 			"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0" | ||||||
| 		;; | 		;; | ||||||
|  | 	br-6478ac-v2|\ | ||||||
| 	tplink,c2-v1) | 	tplink,c2-v1) | ||||||
| 		ucidef_add_switch "switch1" \ | 		ucidef_add_switch "switch1" \ | ||||||
| 			"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" | 			"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" | ||||||
| @@ -446,6 +447,10 @@ ramips_setup_macs() | |||||||
| 		lan_mac=$(cat /sys/class/net/eth0/address) | 		lan_mac=$(cat /sys/class/net/eth0/address) | ||||||
| 		wan_mac=$(mtd_get_mac_binary devdata 7) | 		wan_mac=$(mtd_get_mac_binary devdata 7) | ||||||
| 		;; | 		;; | ||||||
|  | 	br-6478ac-v2) | ||||||
|  | 		lan_mac=$(cat /sys/class/net/eth0/address) | ||||||
|  | 		wan_mac=$(macaddr_add "$lan_mac" 2) | ||||||
|  | 		;; | ||||||
| 	cy-swr1100|\ | 	cy-swr1100|\ | ||||||
| 	dch-m225) | 	dch-m225) | ||||||
| 		lan_mac=$(mtd_get_mac_ascii factory lanmac) | 		lan_mac=$(mtd_get_mac_ascii factory lanmac) | ||||||
|   | |||||||
| @@ -82,6 +82,9 @@ ramips_board_detect() { | |||||||
| 	*"BR-6475nD") | 	*"BR-6475nD") | ||||||
| 		name="br-6475nd" | 		name="br-6475nd" | ||||||
| 		;; | 		;; | ||||||
|  | 	*"BR-6478AC v2") | ||||||
|  | 		name="br-6478ac-v2" | ||||||
|  | 		;; | ||||||
| 	*"Broadway") | 	*"Broadway") | ||||||
| 		name="broadway" | 		name="broadway" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -239,7 +239,8 @@ platform_check_image() { | |||||||
| 		;; | 		;; | ||||||
| 	3g-6200n|\ | 	3g-6200n|\ | ||||||
| 	3g-6200nl|\ | 	3g-6200nl|\ | ||||||
| 	br-6475nd) | 	br-6475nd|\ | ||||||
|  | 	br-6478ac-v2) | ||||||
| 		[ "$magic" != "43535953" ] && { | 		[ "$magic" != "43535953" ] && { | ||||||
| 			echo "Invalid image type." | 			echo "Invalid image type." | ||||||
| 			return 1 | 			return 1 | ||||||
|   | |||||||
							
								
								
									
										215
									
								
								target/linux/ramips/dts/BR-6478AC-V2.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										215
									
								
								target/linux/ramips/dts/BR-6478AC-V2.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,215 @@ | |||||||
|  | /* | ||||||
|  |  * Device Tree file for the Edimax BR-6478AC V2 | ||||||
|  |  * based on Linksys E1700 | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2016 Rohan Murch <rohan.murch@gmail.com> | ||||||
|  |  * Copyright (C) 2016 Hans Ulli Kroll <ulli.kroll@googlemail.com> | ||||||
|  |  * Copyright (C) 2017 James McKenzie <openwrt@madingley.org> | ||||||
|  |  * | ||||||
|  |  * This file is licensed under the terms of the GNU General Public | ||||||
|  |  * License version 2.  This program is licensed "as is" without any | ||||||
|  |  * warranty of any kind, whether express or implied. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | /include/ "mt7620a.dtsi" | ||||||
|  |  | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "edimax,br-6478ac-v2", "ralink,mt7620a-soc"; | ||||||
|  | 	model = "Edimax BR-6478AC v2"; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-status = &led_power; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyS0,57600"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-keys-polled { | ||||||
|  | 		compatible = "gpio-keys-polled"; | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		poll-interval = <20>; | ||||||
|  |  | ||||||
|  | 		reset_wps { | ||||||
|  | 			label = "reset_wps"; | ||||||
|  | 			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		led_power: power { | ||||||
|  | 			label = "br-6478ac-v2:white:power"; | ||||||
|  | 			gpios = <&gpio0 11 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 		wan { | ||||||
|  | 			label = "br-6478ac-v2:blue:wan"; | ||||||
|  | 			gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 		wlan { | ||||||
|  | 			label = "br-6478ac-v2:blue:wlan"; | ||||||
|  | 			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 		usb { | ||||||
|  | 			label = "br-6478ac-v2:blue:usb"; | ||||||
|  | 			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	gpio_export { | ||||||
|  | 		compatible = "gpio-export"; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		usb-power { | ||||||
|  | 			gpio-export,name="usb-power"; | ||||||
|  | 			gpio-export,output=<1>; | ||||||
|  | 			gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;  /* pin45 */ | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | &gpio2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | &spi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	m25p80@0 { | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <1>; | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <0 0>; | ||||||
|  | 		linux,modalias = "m25p80", "mx25l6405d"; | ||||||
|  | 		spi-max-frequency = <10000000>; | ||||||
|  |  | ||||||
|  | 		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 { | ||||||
|  | 			label = "cimage"; | ||||||
|  | 			reg = <0x50000 0x20000>; | ||||||
|  | 			read-only; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		partition@70000 { | ||||||
|  | 			label = "firmware"; | ||||||
|  | 			reg = <0x00070000 0x00790000>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pinctrl { | ||||||
|  | 	state_default: pinctrl0 { | ||||||
|  | 		gpio { | ||||||
|  | 			ralink,group = "i2c", "uartf", "wdt", "pa", | ||||||
|  | 					"ephy", "nd_sd", "wled"; | ||||||
|  | 			ralink,function = "gpio"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ðernet { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	mtd-mac-address = <&factory 0x4>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; | ||||||
|  | 	mediatek,portmap = "wllll"; | ||||||
|  |  | ||||||
|  | 	port@5 { | ||||||
|  | 		status = "okay"; | ||||||
|  | 		mediatek,fixed-link = <1000 1 1 1>; | ||||||
|  | 		phy-mode = "rgmii"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	mdio-bus { | ||||||
|  | 		status = "okay"; | ||||||
|  |  | ||||||
|  | 		phy0: ethernet-phy@0 { | ||||||
|  | 			reg = <0>; | ||||||
|  | 			phy-mode = "rgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		phy1: ethernet-phy@1 { | ||||||
|  | 			reg = <1>; | ||||||
|  | 			phy-mode = "rgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		phy2: ethernet-phy@2 { | ||||||
|  | 			reg = <2>; | ||||||
|  | 			phy-mode = "rgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		phy3: ethernet-phy@3 { | ||||||
|  | 			reg = <3>; | ||||||
|  | 			phy-mode = "rgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		phy4: ethernet-phy@4 { | ||||||
|  | 			reg = <4>; | ||||||
|  | 			phy-mode = "rgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		phy1f: ethernet-phy@1f { | ||||||
|  | 			reg = <0x1f>; | ||||||
|  | 			phy-mode = "rgmii"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &gsw { | ||||||
|  | 	mediatek,port4 = "gmac"; | ||||||
|  | 	mediatek,mt7530 = <1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | &wmac { | ||||||
|  | 	ralink,mtd-eeprom = <&factory 0>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	pcie-bridge { | ||||||
|  | 		mt76@0,0 { | ||||||
|  | 			reg = <0x0000 0 0 0 0>; | ||||||
|  | 			device_type = "pci"; | ||||||
|  | 			mediatek,mtd-eeprom = <&factory 0x8000>; | ||||||
|  | 			mediatek,2ghz = <0>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &ehci { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &ohci { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
| @@ -475,6 +475,18 @@ define Device/tiny-ac | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += tiny-ac | TARGET_DEVICES += tiny-ac | ||||||
|  |  | ||||||
|  | define Device/br-6478ac-v2 | ||||||
|  |   DTS := BR-6478AC-V2 | ||||||
|  |   DEVICE_TITLE := Edimax BR-6478AC V2 | ||||||
|  |   BLOCKSIZE := 64k | ||||||
|  |   IMAGE_SIZE := 7616k | ||||||
|  |   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \ | ||||||
|  | 	edimax-header -s CSYS -m RN68 -f 0x70000 -S 0x01100000 | pad-rootfs | \ | ||||||
|  | 	append-metadata | check-size $$$$(IMAGE_SIZE) | ||||||
|  |   DEVICE_PACKAGES := kmod-mt76 | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += br-6478ac-v2 | ||||||
|  |  | ||||||
| define Device/tplink_c2-v1 | define Device/tplink_c2-v1 | ||||||
|   $(Device/Archer) |   $(Device/Archer) | ||||||
|   DTS := ArcherC2-v1 |   DTS := ArcherC2-v1 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user