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 2018-07-16 07:19:19 -07:00 committed by John Crispin
parent ad5c2897ec
commit f72fa883b3
6 changed files with 243 additions and 1 deletions

View file

@ -86,6 +86,12 @@ asl26555-16M)
bc2)
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)
set_usb_led "$boardname:red:diskmounted"
set_wifi_led "$boardname:red:wps_active"

View file

@ -341,6 +341,7 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;;
br-6478ac-v2|\
tplink,c2-v1)
ucidef_add_switch "switch1" \
"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)
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|\
dch-m225)
lan_mac=$(mtd_get_mac_ascii factory lanmac)

View file

@ -82,6 +82,9 @@ ramips_board_detect() {
*"BR-6475nD")
name="br-6475nd"
;;
*"BR-6478AC v2")
name="br-6478ac-v2"
;;
*"Broadway")
name="broadway"
;;

View file

@ -239,7 +239,8 @@ platform_check_image() {
;;
3g-6200n|\
3g-6200nl|\
br-6475nd)
br-6475nd|\
br-6478ac-v2)
[ "$magic" != "43535953" ] && {
echo "Invalid image type."
return 1

View 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";
};
};
};
&ethernet {
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";
};

View file

@ -475,6 +475,18 @@ define Device/tiny-ac
endef
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
$(Device/Archer)
DTS := ArcherC2-v1