summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Monteiro2024-03-20 23:11:47 +0000
committerHauke Mehrtens2025-04-22 20:06:28 +0000
commitd89f5f3ab0ea6bb68f850d8e0ec2052a00c325ce (patch)
treede1322f88e7b03187ca968c02997bae902e9d829
parent5a3b9d88f15869f125fe6cdd80fff02b289a404d (diff)
downloadopenwrt-d89f5f3ab0ea6bb68f850d8e0ec2052a00c325ce.tar.gz
ramips: mt7620: Add support for the devolo WiFi Repeater ac (MT 2767, 2779)
Specification: - MT7620A 580 MHz MIPS24KEc - 64MB RAM - 8MB SPI NOR - MediaTek MT7612E 5.0GHz 802.11a/n/ac - MediaTek MT7620 2.4GHz 802.11b/g/n - 5 LEDs (white) - 1 button - 1 Gbit port Realtek RTL8211E GbE Phy Serial Interface: - 3 Pins GND, RX, TX - Settings: 57600, 8N1 Based on support from edimax_ew-7476rpc/edimax_ew-747x and netgear_ex3700/netgear_ex3x00_ex61xx Notes: - ATM there is no known way to revert to stock firmware Flash instruction: The only known way to flash OpenWrt image is to use tftp in U-Boot, with the aid of a serial adapter for U-Boot console access: 1. Open the device and connect to the serial port. The device is very similar to Edimax 7476RPC. See https://openwrt.org/toh/edimax/ew-7476rpc. No VCC! 2. Configure PC with static IP 192.168.1.2/24 and tftp server and connect PC to device using an ethernet cable. 3. Power on the device and, on the serial console, as soon as U-Boot starts loading, press "2" to interrupt loading. 4. Enter device ip address 192.168.1.1, PC ip address 192.168.1.2 and the firmware filename placed on the TFTP server. 5. Device will download file from server, write it to flash and reboot. Signed-off-by: Hugo Monteiro <monteiro.hugo@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16956 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/ramips/dts/mt7620a_devolo_rac.dts203
-rw-r--r--target/linux/ramips/image/mt7620.mk9
-rw-r--r--target/linux/ramips/mt7620/base-files/etc/board.d/02_network1
3 files changed, 213 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7620a_devolo_rac.dts b/target/linux/ramips/dts/mt7620a_devolo_rac.dts
new file mode 100644
index 0000000000..9276ba612e
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_devolo_rac.dts
@@ -0,0 +1,203 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "devolo,rac", "ralink,mt7620a-soc";
+ model = "devolo WiFi Repeater ac";
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset_wps {
+ label = "reset_wps";
+ gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ switch_high {
+ label = "switch high";
+ gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ linux,input-type = <EV_SW>;
+ };
+
+ switch_off {
+ label = "switch off";
+ gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_1>;
+ linux,input-type = <EV_SW>;
+ };
+ };
+
+ leds {
+
+ compatible = "gpio-leds";
+
+ led_power: power {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_WHITE>;
+ gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
+ };
+
+ led2 {
+ function = LED_FUNCTION_WLAN_5GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <0>;
+ gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0radio";
+ };
+
+ led3 {
+ function = LED_FUNCTION_WLAN_5GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <1>;
+ gpios = <&gpio2 29 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0radio";
+ };
+
+ led4 {
+ function = LED_FUNCTION_WLAN_2GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <0>;
+ gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1radio";
+ };
+
+ led5 {
+ function = LED_FUNCTION_WLAN_2GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <1>;
+ gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1radio";
+ };
+ };
+};
+
+&gpio2 {
+ status = "okay";
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "u-boot-env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "factory";
+ reg = <0x40000 0x10000>;
+ read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eeprom_factory_0: eeprom@0 {
+ reg = <0x0 0x200>;
+ };
+
+ eeprom_factory_8000: eeprom@8000 {
+ reg = <0x8000 0x200>;
+ };
+
+ macaddr_factory_4: macaddr@4 {
+ compatible = "mac-base";
+ reg = <0x4 0x6>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
+ };
+
+ partition@50000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x50000 0x7b0000>;
+ };
+ };
+ };
+};
+
+&state_default {
+ gpio {
+ groups = "i2c", "uartf", "nd_sd", "rgmii2";
+ function = "gpio";
+ };
+};
+
+&pinctrl {
+ phy_reset_pins: phy-reset {
+ gpio {
+ groups = "spi refclk";
+ function = "gpio";
+ };
+ };
+};
+
+&ethernet {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmii1_pins>,<&mdio_pins>;
+
+ nvmem-cells = <&macaddr_factory_4 0>;
+ nvmem-cell-names = "mac-address";
+
+ port@5 {
+ status = "okay";
+ mediatek,fixed-link = <1000 1 1 1>;
+ phy-mode = "rgmii";
+ };
+};
+
+&gsw {
+ mediatek,ephy-base = /bits/ 8 <8>;
+};
+
+&wmac {
+ nvmem-cells = <&eeprom_factory_0>;
+ nvmem-cell-names = "eeprom";
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi@0,0 {
+ compatible = "mediatek,mt76";
+ reg = <0x0000 0 0 0 0>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_4 2>;
+ nvmem-cell-names = "eeprom", "mac-address";
+ };
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index a21473311e..79d73cde59 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -207,6 +207,15 @@ define Device/comfast_cf-wr800n
endef
TARGET_DEVICES += comfast_cf-wr800n
+define Device/devolo_rac
+ SOC := mt7620a
+ IMAGE_SIZE := 7872k
+ DEVICE_VENDOR := devolo
+ DEVICE_MODEL := WiFi Repeater ac
+ DEVICE_PACKAGES := kmod-mt76x2 kmod-phy-realtek
+endef
+TARGET_DEVICES += devolo_rac
+
define Device/dlink_dch-m225
$(Device/seama)
SOC := mt7620a
diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
index 57db30b923..9f436a2e8f 100644
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
@@ -43,6 +43,7 @@ ramips_setup_interfaces()
alfa-network,tube-e4g|\
ampedwireless,b1200ex|\
buffalo,wmr-300|\
+ devolo,rac|\
dlink,dch-m225|\
edimax,ew-7476rpc|\
edimax,ew-7478ac|\