diff mbox

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

Message ID 1428311631-17569-1-git-send-email-gch981213@gmail.com
State Accepted
Headers show

Commit Message

Chuanhong Guo April 6, 2015, 9:13 a.m. UTC
From: 盛凯 <shengkai81@gmail.com>

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

From: 盛凯 <shengkai81@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@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

Comments

Chuanhong Guo April 8, 2015, 12:41 p.m. UTC | #1
Hi!

    I'm sorry for the crazy mistake in the previous patch.This time I've
asked Jason to test the firmware before giving me the patch.Everything
works fine now :-)
I wonder if this patch could be accepted because I'm planning to send
another patch for a new device and I don't know if the new patch should be
based on the source with this patch applied or not.
    Best regards.
    Guo Chuanhong


2015-04-06 17:13 GMT+08:00 郭传鈜 <gch981213@gmail.com>:

> From: 盛凯 <shengkai81@gmail.com>
>
> Sorry,Sheng Kai told me that the flash layout is wrong in his previous
> patch-_-!!
>
> From: 盛凯 <shengkai81@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@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@10000000 {
> +               gpio2: gpio@660 {
> +                       status = "okay";
> +               };
> +
> +               gpio3: gpio@688 {
> +                       status = "okay";
> +               };
> +
> +               spi@b00 {
> +                       status = "okay";
> +
> +                       m25p80@0 {
> +                               #address-cells = <1>;
> +                               #size-cells = <1>;
> +                               compatible = "w25q128";
> +                               reg = <0 0>;
> +                               linux,modalias = "m25p80", "w25q128";
> +                               spi-max-frequency = <10000000>;
> +
> +                               partition@0 {
> +                                       label = "u-boot";
> +                                       reg = <0x0 0x20000>;
> +                                       read-only;
> +                               };
> +
> +                               partition@20000 {
> +                                       label = "u-boot-env";
> +                                       reg = <0x20000 0x10000>;
> +                                       read-only;
> +                               };
> +
> +                               factory: partition@30000 {
> +                                       label = "factory";
> +                                       reg = <0x30000 0x10000>;
> +                                       read-only;
> +                               };
> +
> +                               partition@40000 {
> +                                       label = "firmware";
> +                                       reg = <0x40000 0xfc0000>;
> +                               };
> +                       };
> +               };
> +       };
> +
> +       ehci@101c0000 {
> +               status = "okay";
> +       };
> +
> +       ohci@101c1000 {
> +               status = "okay";
> +       };
> +
> +       pcie@10140000 {
> +               status = "okay";
> +       };
> +
> +       ethernet@10100000 {
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&ephy_pins>;
> +               mtd-mac-address = <&factory 0x4>;
> +               ralink,port-map = "llllw";
> +       };
> +
> +       wmac@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
>
>
diff mbox

Patch

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@10000000 {
+		gpio2: gpio@660 {
+			status = "okay";
+		};
+
+		gpio3: gpio@688 {
+			status = "okay";
+		};
+
+		spi@b00 {
+			status = "okay";
+
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "w25q128";
+				reg = <0 0>;
+				linux,modalias = "m25p80", "w25q128";
+				spi-max-frequency = <10000000>;
+
+				partition@0 {
+					label = "u-boot";
+					reg = <0x0 0x20000>;
+					read-only;
+				};
+
+				partition@20000 {
+					label = "u-boot-env";
+					reg = <0x20000 0x10000>;
+					read-only;
+				};
+
+				factory: partition@30000 {
+					label = "factory";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				partition@40000 {
+					label = "firmware";
+					reg = <0x40000 0xfc0000>;
+				};
+			};
+		};
+	};
+
+	ehci@101c0000 {
+		status = "okay";
+	};
+
+	ohci@101c1000 {
+		status = "okay";
+	};
+
+	pcie@10140000 {
+		status = "okay";
+	};
+
+	ethernet@10100000 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&ephy_pins>;
+		mtd-mac-address = <&factory 0x4>;
+		ralink,port-map = "llllw";
+	};
+
+	wmac@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))