From a73a8269e13f9387a2ac883dac7fe0dd49999ede Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Tue, 27 Jul 2021 12:32:00 +0800 Subject: ramips: add support for DomyWifi DM202/DM203/DW22D Specifications: * SOC: MT7620A + MT7610E * ROM: 16 MiB spi flash (W25Q128FVSG) * RAM: 128 MiB DDR2 (W971GG6KB-25) * WAN: 10/100M *1 * LAN: 10/100M *4 * USB: Type-A USB2.0 *1 * SD: MicroSD *1 * Button: Reset *1 * Antennas: 2.4 GHz *2 + 5 GHz *1 * TTL Baudrate: 57600 * U-Boot Recovery: IP: 10.10.10.123, Server: 10.10.10.3 Installation: * Web UI Update 1. Open http://192.168.10.1/upgrade.html in the browser. 2. Rename firmware to a short name like firmware.bin and then upload it. 3. Fill in the password column with the following content: password | mtd -x mIp2osnRG3qZGdIlQPh1 -r write /tmp/firmware.bin firmware * TFTP + U-Boot 1. Connect device with a TTL cable. 2. Press "2" when booting to select "Load system code then write to Flash via TFTP". 3. Upload firmware by tftpd64, it will boot when write instruction is executed. Signed-off-by: Shiji Yang --- target/linux/ramips/dts/mt7620a_domywifi.dtsi | 189 +++++++++++++++++++++ target/linux/ramips/dts/mt7620a_domywifi_dm202.dts | 8 + target/linux/ramips/dts/mt7620a_domywifi_dm203.dts | 8 + target/linux/ramips/dts/mt7620a_domywifi_dw22d.dts | 8 + 4 files changed, 213 insertions(+) create mode 100644 target/linux/ramips/dts/mt7620a_domywifi.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_domywifi_dm202.dts create mode 100644 target/linux/ramips/dts/mt7620a_domywifi_dm203.dts create mode 100644 target/linux/ramips/dts/mt7620a_domywifi_dw22d.dts (limited to 'target/linux/ramips/dts') diff --git a/target/linux/ramips/dts/mt7620a_domywifi.dtsi b/target/linux/ramips/dts/mt7620a_domywifi.dtsi new file mode 100644 index 0000000000..9a96b0a275 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_domywifi.dtsi @@ -0,0 +1,189 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7620a.dtsi" + +#include +#include + +/ { + aliases { + led-boot = &led_system_amber; + led-failsafe = &led_system_amber; + led-running = &led_system_green; + led-upgrade = &led_system_amber; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_system_green: system_green { + label = "green:system"; + gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; + }; + + led_system_amber: system_amber { + label = "amber:system"; + gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; + }; + + internet_green { + label = "green:internet"; + gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; + }; + + internet_amber { + label = "amber:internet"; + gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; + }; + + lan1 { + label = "amber:lan1"; + gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; + }; + + lan2 { + label = "amber:lan2"; + gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; + }; + + lan3 { + label = "amber:lan3"; + gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; + }; + + lan4 { + label = "amber:lan4"; + gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; + }; + + wan { + label = "amber:wan"; + gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; + }; + + wlan2g { + label = "green:wlan2g"; + gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&state_default { + gpio { + groups = "uartf", "rgmii1", "wled"; + function = "gpio"; + }; +}; + +ðernet { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + + mediatek,portmap = "wllll"; + + nvmem-cells = <&macaddr_factory_28>; + nvmem-cell-names = "mac-address"; +}; + +&sdhci { + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + + led { + led-sources = <0>; + led-active-low; + }; + }; +}; + +&wmac { + ralink,mtd-eeprom = <&factory 0x0>; +}; + +&factory { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; +}; diff --git a/target/linux/ramips/dts/mt7620a_domywifi_dm202.dts b/target/linux/ramips/dts/mt7620a_domywifi_dm202.dts new file mode 100644 index 0000000000..f4676edc32 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_domywifi_dm202.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7620a_domywifi.dtsi" + +/ { + compatible = "domywifi,dm202", "ralink,mt7620a-soc"; + model = "DomyWifi DM202"; +}; diff --git a/target/linux/ramips/dts/mt7620a_domywifi_dm203.dts b/target/linux/ramips/dts/mt7620a_domywifi_dm203.dts new file mode 100644 index 0000000000..a51737a279 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_domywifi_dm203.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7620a_domywifi.dtsi" + +/ { + compatible = "domywifi,dm203", "ralink,mt7620a-soc"; + model = "DomyWifi DM203"; +}; diff --git a/target/linux/ramips/dts/mt7620a_domywifi_dw22d.dts b/target/linux/ramips/dts/mt7620a_domywifi_dw22d.dts new file mode 100644 index 0000000000..bfcc04b447 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_domywifi_dw22d.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7620a_domywifi.dtsi" + +/ { + compatible = "domywifi,dw22d", "ralink,mt7620a-soc"; + model = "DomyWifi DW22D"; +}; -- cgit v1.2.3