[openwrt/openwrt] ramips: add support for ipTIME A6004NS-M

LEDE Commits lede-commits at lists.infradead.org
Sat Jan 15 03:50:11 PST 2022


mans0n pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/9c8ccdcdc86c46e8be52f20e3668f67eff94c8c0

commit 9c8ccdcdc86c46e8be52f20e3668f67eff94c8c0
Author: SeongUk Moon <antegral at antegral.net>
AuthorDate: Fri Jan 14 21:54:05 2022 +0900

    ramips: add support for ipTIME A6004NS-M
    
    ipTIME A6004NS-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A.
    
    Specifications:
    - SoC: MediaTek MT7621A (880MHz, Duel-Core)
    - RAM: DDR3 256MB
    - Flash: SPI NOR 16MB (Winbond W25Q128BV)
    - WiFi: MediaTek MT7615E (2.4GHz, 5GHz)
    - Ethernet: MediaTek MT7530 (WAN x1, LAN x4, SoC built-in Estimated)
    - USB: USB 3.0 x1
    - UART: [3.3V, TX, RX, GND] (57600 8N1)
    
    Installation via web interface:
    1. Flash initramfs image using OEM's Firmware Update page.
    2. Connect to OpenWrt with an SSH connection to `192.168.1.1`.
    3. Perform sysupgrade with sysupgrade image.
    
    Revert to stock firmware:
    1.  Flash stock firmware via OEM's Recovery mode
    
    How to use OEM's Recovery mode:
    1. Power on the device and connect the shell through UART.
    2. Connect to the shell and press the `t` key on the keyboard.
    3. Set fixed IP with  `192.168.0.2`  with subnet mask  `255.255.255.0`
    4. Flash image via TFTP to  `192.168.0.1`
    
    Additional Notes:
    1. The higher the 5Ghz Frequency, the lower the stability. It is recommended to use less than 5.775Ghz.
    2. If the 5Ghz frequency is too high, 5Ghz may not work.
    3. A6ns-M use shared dtsi file of A6004NS-M. (reference: /mt7621_iptime_a6004ns-m.dtsi).
    
    Signed-off-by: SeongUk Moon <antegral at antegral.net>
    [convert CRLF to LF]
    Signed-off-by: Sungbo Eo <mans0n at gorani.run>
---
 .../linux/ramips/dts/mt7621_iptime_a6004ns-m.dts   |   8 +
 ...ime_a6ns-m.dts => mt7621_iptime_a6004ns-m.dtsi} |   3 -
 target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts   | 177 +--------------------
 target/linux/ramips/image/mt7621.mk                |  11 ++
 4 files changed, 20 insertions(+), 179 deletions(-)

diff --git a/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dts b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dts
new file mode 100644
index 0000000000..8138cc31a7
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_iptime_a6004ns-m.dtsi"
+
+/ {
+	compatible = "iptime,a6004ns-m", "mediatek,mt7621-soc";
+	model = "ipTIME A6004NS-M";
+};
diff --git a/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi
similarity index 97%
copy from target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts
copy to target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi
index b3efe557e2..a033d7f665 100644
--- a/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts
+++ b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi
@@ -6,9 +6,6 @@
 #include <dt-bindings/input/input.h>
 
 / {
-	compatible = "iptime,a6ns-m", "mediatek,mt7621-soc";
-	model = "ipTIME A6ns-M";
-
 	aliases {
 		led-boot = &led_cpu;
 		led-failsafe = &led_cpu;
diff --git a/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts b/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts
index b3efe557e2..f83340e64a 100644
--- a/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts
+++ b/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts
@@ -1,183 +1,8 @@
 // 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>
+#include "mt7621_iptime_a6004ns-m.dtsi"
 
 / {
 	compatible = "iptime,a6ns-m", "mediatek,mt7621-soc";
 	model = "ipTIME A6ns-M";
-
-	aliases {
-		led-boot = &led_cpu;
-		led-failsafe = &led_cpu;
-		led-running = &led_cpu;
-		led-upgrade = &led_cpu;
-		label-mac-device = &gmac0;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		usb {
-			label = "blue:usb";
-			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
-			trigger-sources = <&xhci_ehci_port1>;
-			linux,default-trigger = "usbport";
-		};
-
-		wlan5g {
-			label = "blue:wlan5g";
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy0radio";
-		};
-
-		wlan2g {
-			label = "blue:wlan2g";
-			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy1radio";
-		};
-
-		led_cpu: cpu {
-			label = "blue:cpu";
-			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		wps {
-			label = "wps";
-			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_WPS_BUTTON>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-	};
-};
-
-&spi0 {
-	status = "okay";
-
-	flash at 0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <80000000>;
-		m25p,fast-read;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			uboot: partition at 0 {
-				label = "u-boot";
-				reg = <0x0 0x20000>;
-				read-only;
-			};
-
-			partition at 20000 {
-				label = "config";
-				reg = <0x20000 0x10000>;
-				read-only;
-			};
-
-			factory: partition at 30000 {
-				label = "factory";
-				reg = <0x30000 0x10000>;
-				read-only;
-			};
-
-			partition at 40000 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x40000 0xfc0000>;
-			};
-		};
-	};
-};
-
-&state_default {
-	gpio {
-		groups = "i2c", "uart3", "jtag", "wdt";
-		function = "gpio";
-	};
-};
-
-&gmac0 {
-	nvmem-cells = <&macaddr_uboot_1fc20>;
-	nvmem-cell-names = "mac-address";
-};
-
-&switch0 {
-	ports {
-		port at 0 {
-			status = "okay";
-			label = "wan";
-			nvmem-cells = <&macaddr_uboot_1fc40>;
-			nvmem-cell-names = "mac-address";
-		};
-
-		port at 1 {
-			status = "okay";
-			label = "lan1";
-		};
-
-		port at 2 {
-			status = "okay";
-			label = "lan2";
-		};
-
-		port at 3 {
-			status = "okay";
-			label = "lan3";
-		};
-
-		port at 4 {
-			status = "okay";
-			label = "lan4";
-		};
-	};
-};
-
-&pcie {
-	status = "okay";
-};
-
-&pcie0 {
-	wifi at 0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		mediatek,mtd-eeprom = <&factory 0x0>;
-		ieee80211-freq-limit = <5000000 6000000>;
-	};
-};
-
-&pcie1 {
-	wifi at 0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		mediatek,mtd-eeprom = <&factory 0x8000>;
-		ieee80211-freq-limit = <2400000 2500000>;
-	};
-};
-
-&uboot {
-	compatible = "nvmem-cells";
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	macaddr_uboot_1fc20: macaddr at 1fc20 {
-		reg = <0x1fc20 0x6>;
-	};
-
-	macaddr_uboot_1fc40: macaddr at 1fc40 {
-		reg = <0x1fc40 0x6>;
-	};
 };
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 7755fbef81..a461c57f15 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -785,6 +785,17 @@ define Device/iptime_a3004t
 endef
 TARGET_DEVICES += iptime_a3004t
 
+define Device/iptime_a6004ns-m
+  $(Device/dsa-migration)
+  IMAGE_SIZE := 16128k
+  UIMAGE_NAME := a6004nm
+  DEVICE_VENDOR := ipTIME
+  DEVICE_MODEL := A6004NS-M
+  DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
+        kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += iptime_a6004ns-m
+
 define Device/iptime_a6ns-m
   $(Device/dsa-migration)
   IMAGE_SIZE := 16128k



More information about the lede-commits mailing list