[openwrt/openwrt] ramips: add support for Joowin WR758AC V1 and V2

LEDE Commits lede-commits at lists.infradead.org
Fri Jan 7 16:28:40 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/766733e17226221a310a30c91927a79f07a456e5

commit 766733e17226221a310a30c91927a79f07a456e5
Author: Rodrigo Araujo <araujo.rm at gmail.com>
AuthorDate: Fri Dec 10 20:09:37 2021 +0000

    ramips: add support for Joowin WR758AC V1 and V2
    
    This commit adds support for Joowin (aka Comfast) WR758AC V1 and V2
    devices.
    
    Both have the same wall AP/repeater form factor and differ only
    in the 5Ghz chipset (V1 has MT7662, V2 has MT7663).
    
    OpenWrt developers forum page:
    https://forum.openwrt.org/t/87355
    
    Specifications:
    
     - CPU: MediaTek MT7628AN (580MHz)
     - Flash: 8MB
     - RAM: 64MB DDR2
     - 2.4 GHz: 802.11b/g/n (MT7603)
     - 5 GHz: 802.11ac (V1 has MT7662, V2 has MT7663)
     - Antennas: 4x external single band antennas
     - LAN: 1x 10/100M
     - LED: Wifi 3x blue. Programmable
     - Button: WPS
    
    MAC addresses as verified by OEM firmware:
    
    use address source
    LAN *:83 factory 0xe000
    2g *:85 factory 0x4
    5g *:86 factory 0x8004
    
    How to install:
    1- Setup a TFTP server on a machine with IP address 192.168.1.10/24
    2- Name the image as `firmware_auto.bin` and place it on the root of the
    TFTP server
    3- Connect the device via Ethernet, it should pick and flash the image
    
    Signed-off-by: Rodrigo Araujo <araujo.rm at gmail.com>
---
 .../ramips/dts/mt7628an_joowin_jw-wr758ac-v1.dts   |   8 ++
 .../ramips/dts/mt7628an_joowin_jw-wr758ac-v2.dts   |   8 ++
 .../ramips/dts/mt7628an_joowin_jw-wr758ac.dtsi     | 124 +++++++++++++++++++++
 target/linux/ramips/image/mt76x8.mk                |  20 ++++
 .../mt76x8/base-files/etc/board.d/02_network       |   2 +
 5 files changed, 162 insertions(+)

diff --git a/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac-v1.dts b/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac-v1.dts
new file mode 100644
index 0000000000..c3b52c82c1
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac-v1.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an_joowin_jw-wr758ac.dtsi"
+
+/ {
+	compatible = "joowin,jw-wr758ac-v1", "mediatek,mt7628an-soc";
+	model = "Joowin WR758AC V1";
+};
diff --git a/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac-v2.dts b/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac-v2.dts
new file mode 100644
index 0000000000..1cc0d5d38d
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac-v2.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an_joowin_jw-wr758ac.dtsi"
+
+/ {
+	compatible = "joowin,jw-wr758ac-v2", "mediatek,mt7628an-soc";
+	model = "Joowin WR758AC V2";
+};
diff --git a/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac.dtsi b/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac.dtsi
new file mode 100644
index 0000000000..97845cf02b
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_joowin_jw-wr758ac.dtsi
@@ -0,0 +1,124 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	compatible = "joowin,jw-wr758ac", "mediatek,mt7628an-soc";
+
+	keys {
+		compatible = "gpio-keys";
+
+		wps {
+			label = "wps";
+			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		wifi-high {
+			label = "blue:wifi-high";
+			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+		};
+
+		wifi-med {
+			label = "blue:wifi-med";
+			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+		};
+
+		wifi-low {
+			label = "blue:wifi-low";
+			gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "refclk", "wdt", "wled_an";
+		function = "gpio";
+	};
+};
+
+&pcie {
+	status = "okay";
+};
+
+&pcie0 {
+	wifi at 0,0 {
+		compatible = "mediatek,mt76";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	flash at 0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <50000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "u-boot";
+				reg = <0x0 0x30000>;
+				read-only;
+			};
+
+			partition at 30000 {
+				label = "u-boot-env";
+				reg = <0x30000 0x10000>;
+				read-only;
+			};
+
+			factory: partition at 40000 {
+				label = "factory";
+				reg = <0x40000 0x10000>;
+				read-only;
+			};
+
+			partition at 50000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x50000 0x7b0000>;
+			};
+		};
+	};
+};
+
+&wmac {
+	status = "okay";
+
+	mediatek,mtd-eeprom = <&factory 0x0>;
+};
+
+&ethernet {
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
+};
+
+&esw {
+	mediatek,portdisable = <0x2f>;
+};
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr at e000 {
+		reg = <0xe000 0x6>;
+	};
+};
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index e9188e7405..29c2613685 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -220,6 +220,26 @@ define Device/iptime_a604m
 endef
 TARGET_DEVICES += iptime_a604m
 
+define Device/joowin_jw-wr758ac
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := Joowin
+  DEVICE_MODEL := WR758AC
+endef
+
+define Device/joowin_jw-wr758ac-v1
+  $(Device/joowin_jw-wr758ac)
+  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_VARIANT := V1
+endef
+TARGET_DEVICES += joowin_jw-wr758ac-v1
+
+define Device/joowin_jw-wr758ac-v2
+  $(Device/joowin_jw-wr758ac)
+  DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap
+  DEVICE_VARIANT := V2
+endef
+TARGET_DEVICES += joowin_jw-wr758ac-v2
+
 define Device/jotale_js76x8
   DEVICE_VENDOR := Jotale
   DEVICE_MODEL := JS76x8
diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
index 08b2e6cebc..43d2647cf0 100644
--- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
@@ -129,6 +129,8 @@ ramips_setup_interfaces()
 		ucidef_add_switch "switch0" \
 			"0:lan" "1:lan" "2:lan" "3:wan" "6 at eth0"
 		;;
+	joowin,jw-wr758ac-v1|\
+	joowin,jw-wr758ac-v2|\
 	tplink,tl-wr902ac-v3|\
 	wavlink,wl-wn576a2)
 		ucidef_add_switch "switch0" \



More information about the lede-commits mailing list