[OpenWrt-Devel] [PATCH][V3] ramips:Add support for Microduino MicroWRT

郭传鈜 gch981213 at gmail.com
Mon Apr 6 05:13:51 EDT 2015


From: 盛凯 <shengkai81 at gmail.com>

Sorry,Sheng Kai told me that the flash layout is wrong in his previous patch-_-!!

From: 盛凯 <shengkai81 at gmail.com>

v3:fix flash layout and change model name
v2:fix space issues

MicroWRT is an wireless router with 2 USB,1 ethernet port. It
has a 16M flash and 64M DDR2 RAM. You can use most interface, such as
i2c, SPI, i2s and PCIe. Besides that there are three expansion borad to
combine with the core board. The detailed information, please refer to
https://www.microduino.cc/wiki/index.php?title=Main_Page

This patch adds support for it.
Because there is only one port,so disabled VLAN and use eth0 as lan
port. and only a power LED control by power pin.
Signed-off-by: 盛凯 <shengkai81 at gmail.com>
---
 .../linux/ramips/base-files/etc/board.d/02_network |   1 +
 target/linux/ramips/base-files/lib/ramips.sh       |   3 +
 .../ramips/base-files/lib/upgrade/platform.sh      |   1 +
 target/linux/ramips/dts/MicroWRT.dts               | 107 +++++++++++++++++++++
 target/linux/ramips/image/Makefile                 |   3 +
 target/linux/ramips/mt7620/profiles/microwrt.mk    |   9 ++
 6 files changed, 124 insertions(+)
 create mode 100644 target/linux/ramips/dts/MicroWRT.dts
 create mode 100644 target/linux/ramips/mt7620/profiles/microwrt.mk

diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index d4ec19d..24e1ba8 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -45,6 +45,7 @@ ramips_setup_interfaces()
 
 	3g150b | \
 	3g300m | \
+	microwrt | \
 	w150m | \
 	zte-q7 | \
 	all0256n | \
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index fc6eb37..dffa832 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -202,6 +202,9 @@ ramips_board_detect() {
 	*"Planex MZK-750DHP")
 		name="mzk-750dhp"
 		;;
+	*"Microduino MicroWRT")
+		name="microwrt"
+		;;
 	*"NBG-419N")
 		name="nbg-419n"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index a5773b5..17b456b 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -60,6 +60,7 @@ platform_check_image() {
 	m2m | \
 	m3 | \
 	m4 | \
+	microwrt | \
 	mlw221 | \
 	mlwg2 | \
 	mofi3500-3gn | \
diff --git a/target/linux/ramips/dts/MicroWRT.dts b/target/linux/ramips/dts/MicroWRT.dts
new file mode 100644
index 0000000..9500b14
--- /dev/null
+++ b/target/linux/ramips/dts/MicroWRT.dts
@@ -0,0 +1,107 @@
+/dts-v1/;
+
+/include/ "mt7620a.dtsi"
+
+/ {
+	compatible = "microwrt", "ralink,mt7620a-soc";
+	model = "Microduino MicroWRT";
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+	};
+
+	palmbus at 10000000 {
+		gpio2: gpio at 660 {
+			status = "okay";
+		};
+
+		gpio3: gpio at 688 {
+			status = "okay";
+		};
+
+		spi at b00 {
+			status = "okay";
+
+			m25p80 at 0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "w25q128";
+				reg = <0 0>;
+				linux,modalias = "m25p80", "w25q128";
+				spi-max-frequency = <10000000>;
+
+				partition at 0 {
+					label = "u-boot";
+					reg = <0x0 0x20000>;
+					read-only;
+				};
+
+				partition at 20000 {
+					label = "u-boot-env";
+					reg = <0x20000 0x10000>;
+					read-only;
+				};
+
+				factory: partition at 30000 {
+					label = "factory";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				partition at 40000 {
+					label = "firmware";
+					reg = <0x40000 0xfc0000>;
+				};
+			};
+		};
+	};
+
+	ehci at 101c0000 {
+		status = "okay";
+	};
+
+	ohci at 101c1000 {
+		status = "okay";
+	};
+
+	pcie at 10140000 {
+		status = "okay";
+	};
+
+	ethernet at 10100000 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&ephy_pins>;
+		mtd-mac-address = <&factory 0x4>;
+		ralink,port-map = "llllw";
+	};
+
+	wmac at 10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			default {
+				ralink,group = "wled", "i2c", "wdt", "uartf";
+				ralink,function = "gpio";
+			};
+		};
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+		reset {
+			label = "reset";
+			gpios = <&gpio0 1 1>;
+			linux,code = <0x198>;
+		};
+		wps {
+			label = "wps";
+			gpios = <&gpio0 2 1>;
+			linux,code = <0x211>;
+		};
+	};
+   };
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 743f7b4..e6b5112 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -865,6 +865,8 @@ Image/Build/Profile/XIAOMI-MIWIFI-MINI=$(call BuildFirmware/Default16M/$(1),$(1)
 Image/Build/Profile/ZTE-Q7=$(call BuildFirmware/Default8M/$(1),$(1),zte-q7,ZTE-Q7)
 Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05)
 Image/Build/Profile/ArcherC20i=$(call BuildFirmware/Tplink/$(1),$(1),ArcherC20i,ArcherC20i)
+microwrt_mtd_size=16515072
+Image/Build/Profile/MicroWRT=$(call BuildFirmware/CustomFlash/$(1),$(1),microwrt,MicroWRT,$(microwrt_mtd_size))
 
 
 ifeq ($(SUBTARGET),mt7620)
@@ -895,6 +897,7 @@ define Image/Build/Profile/Default
 	$(call Image/Build/Profile/ZTE-Q7,$(1))
 	$(call Image/Build/Profile/ZBT-WA05,$(1))
 	$(call Image/Build/Profile/ArcherC20i,$(1))
+	$(call Image/Build/Profile/MicroWRT,$(1))
 endef
 endif
 
diff --git a/target/linux/ramips/mt7620/profiles/microwrt.mk b/target/linux/ramips/mt7620/profiles/microwrt.mk
new file mode 100644
index 0000000..38213ac
--- /dev/null
+++ b/target/linux/ramips/mt7620/profiles/microwrt.mk
@@ -0,0 +1,9 @@
+define Profile/MicroWRT
+	NAME:=Microduino MicroWRT
+	PACKAGES:= kmod-usb-core kmod-usb2 kmod-usb-ohci
+endef
+
+define Profile/MicroWRT/Description
+		Package set compatible with MicroWRT
+endef
+$(eval $(call Profile,MicroWRT))
-- 
2.1.0
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list