ramips: add support for cudy WR2100
authorLeon M. George <leon@georgemail.eu>
Thu, 24 Dec 2020 10:32:47 +0000 (11:32 +0100)
committerDavid Bauer <mail@david-bauer.net>
Wed, 26 May 2021 21:10:37 +0000 (23:10 +0200)
Specifications

  SoC:       MT7621
  CPU:       880 MHz
  Flash:     16 MiB
  RAM:       128 MiB
  WLAN:      2.4 GHz b/g/n, 5 GHz a/n/ac
             MT7603E / MT7615E
  Ethernet:  5x Gbit ports

Installation

There are two known options:
1) The Luci-based UI.
2) Press and hold the reset button during power up.
   The router will request 'recovery.bin' from a TFTP server at
   192.168.1.88.

Both options require a signed firmware binary.
The openwrt image supplied by cudy is signed and can be used to
install unsigned images.

R4 & R5 need to be shorted (0-100Ω) for the UART to work.

Signed-off-by: Leon M. George <leon@georgemail.eu>
[remove non-required switch-port node - remove trgmii phy-mode]
Signed-off-by: David Bauer <mail@david-bauer.net>
target/linux/ramips/dts/mt7621_cudy_wr2100.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk
target/linux/ramips/mt7621/base-files/etc/board.d/01_leds

diff --git a/target/linux/ramips/dts/mt7621_cudy_wr2100.dts b/target/linux/ramips/dts/mt7621_cudy_wr2100.dts
new file mode 100644 (file)
index 0000000..692c94d
--- /dev/null
@@ -0,0 +1,201 @@
+// 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>
+
+/ {
+       compatible = "cudy,wr2100", "mediatek,mt7621-soc";
+       model = "Cudy WR2100";
+
+       aliases {
+               led-boot = &led_internet_blue;
+               led-failsafe = &led_internet_blue;
+               led-running = &led_internet_blue;
+               led-upgrade = &led_internet_blue;
+               label-mac-device = &gmac0;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200";
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_internet_blue: internet_blue {
+                       label = "blue:internet";
+                       gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+               };
+
+               internet_red {
+                       label = "red:internet";
+                       gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+               };
+
+               wan {
+                       label = "green:wan";
+                       gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+               };
+
+               lan1 {
+                       label = "green:lan1";
+                       gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+               };
+
+               lan2 {
+                       label = "green:lan2";
+                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+               };
+
+               lan3 {
+                       label = "green:lan3";
+                       gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+               };
+
+               lan4 {
+                       label = "green:lan4";
+                       gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&gmac0 {
+       mtd-mac-address = <&bdinfo 0xde00>;
+};
+
+&pcie {
+       status = "okay";
+};
+
+&pcie0 {
+       wifi@0,0 {
+               compatible = "mediatek,mt76";
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x0000>;
+               ieee80211-freq-limit = <2400000 2500000>;
+       };
+};
+
+&pcie1 {
+       wifi@1,0 {
+               compatible = "mediatek,mt76";
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x8000>;
+               ieee80211-freq-limit = <5000000 6000000>;
+       };
+};
+
+&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 = "u-boot-env";
+                               reg = <0x30000 0x10000>;
+                               read-only;
+                       };
+
+                       factory: partition@40000 {
+                               label = "factory";
+                               reg = <0x40000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@50000 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x50000 0xf80000>;
+                       };
+
+                       partition@fd0000 {
+                               label = "debug";
+                               reg = <0xfd0000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@fe0000 {
+                               label = "backup";
+                               reg = <0xfe0000 0x10000>;
+                               read-only;
+                       };
+
+                       bdinfo: partition@ff0000 {
+                               label = "bdinfo";
+                               reg = <0xff0000 0x10000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               groups = "i2c", "jtag", "uart2", "uart3", "wdt";
+               function = "gpio";
+       };
+};
+
+&switch0 {
+       ports {
+               port@0 {
+                       status = "okay";
+                       label = "lan1";
+               };
+
+               port@1 {
+                       status = "okay";
+                       label = "lan2";
+               };
+
+               port@2 {
+                       status = "okay";
+                       label = "lan3";
+               };
+
+               port@3 {
+                       status = "okay";
+                       label = "lan4";
+               };
+
+               port@4 {
+                       status = "okay";
+                       label = "wan";
+
+                       mtd-mac-address = <&bdinfo 0xde00>;
+                       mtd-mac-address-increment = <1>;
+               };
+       };
+};
index 9ff066c8c32ed0b3a1fb7951733c632fc1caaca4..1ae49cb96e85d5b7a940b91defe41b6a338c29a6 100644 (file)
@@ -240,6 +240,16 @@ define Device/cudy_wr1300
 endef
 TARGET_DEVICES += cudy_wr1300
 
+define Device/cudy_wr2100
+  $(Device/dsa-migration)
+  DEVICE_VENDOR := Cudy
+  DEVICE_MODEL := WR2100
+  IMAGE_SIZE := 15872k
+  UIMAGE_NAME := R11
+  DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
+endef
+TARGET_DEVICES += cudy_wr2100
+
 define Device/dlink_dir-8xx-a1
   $(Device/dsa-migration)
   IMAGE_SIZE := 16000k
index 5855b469e392f072fb6fc184bd03dd18c0846e94..427983e44bde2f6a2e0cd26e6389feb31454d167 100644 (file)
@@ -11,6 +11,13 @@ asus,rt-n56u-b1)
        ucidef_set_led_netdev "lan" "LAN link" "blue:lan" "br-lan"
        ucidef_set_led_netdev "wan" "WAN link" "blue:wan" "wan"
        ;;
+cudy,wr2100)
+       ucidef_set_led_netdev "lan1" "lan1" "green:lan1" "lan1"
+       ucidef_set_led_netdev "lan2" "lan2" "green:lan2" "lan2"
+       ucidef_set_led_netdev "lan3" "lan3" "green:lan3" "lan3"
+       ucidef_set_led_netdev "lan4" "lan4" "green:lan4" "lan4"
+       ucidef_set_led_netdev "wan" "wan" "green:wan" "wan"
+       ;;
 d-team,newifi-d2)
        ucidef_set_led_netdev "internet" "internet" "amber:internet" "wan"
        ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "blue:wlan2g" "wlan0"