hi Maintainer and All,

We are an open source hardware team come from china, and we developed an open 
source route board using MT7620A soc. In order to support this new board 
officially, we plan to sumbit the special code for our prodcut to openwrt 
branch.


This is the first time to summbit code, maybe there is some error although read 
the wiki carefully, appreciat your commants. Thanks in advance.


The following is the detailed information for this path. Beside that, I 
attached the patch file in mail although the wiki doesn't suggest using this 
way.
I use the Git to clone the latest code and do change on it. All the code has 
been tested carefully.


Patch Information:
This patch used to support new route board "MicroWRT". It's an open source 
hardware and use the MT7620a SOC. It has a 16M flash and 64M 16bit 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. For detailed 
infomation, you can refer to our webpage: 
https://www.microduino.cc/wiki/index.php?title=Main_Page


In this path, changed one existing file "/target/linux/ramips/image/Makefile" 
which used to define the microWRT build.


Two new file are introduced.
/target/linux/ramips/dts/MicroWRT.dts. This is the dts file for board "MicroWRT"
/target/linux/ramips/mt7620/profiles/microwrt.mk. This is the file to define 
the profile, then you can choose microwrt in "Target profile" configuartion.




Patch Code:
changed file
===================================
diff --git a/target/linux/ramips/image/Makefile 
b/target/linux/ramips/image/Makefile
index 743f7b4..ce0733d 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -865,7 +865,7 @@ 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)
-
+Image/Build/Profile/MicroWRT=$(call 
BuildFirmware/Default16M/$(1),$(1),microwrt,MicroWRT)
 
 ifeq ($(SUBTARGET),mt7620)
 define Image/Build/Profile/Default
@@ -895,6 +895,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


New file /target/linux/ramips/dts/MicroWRT.dts
===================================================
+/dts-v1/;


+/include/ "mt7620a.dtsi"


+/ {
+        compatible = "microwrt", "ralink,mt7620a-soc";
+        model = "MicroWRT";
+
+        palmbus@10000000 {
+                gpio0: gpio@600 {
+                        status = "okay";
+                };
+                gpio1: gpio@638 {
+                        status = "okay";
+                };
+                gpio2: gpio@660 {
+                        status = "okay";
+                };
+                gpio3: gpio@688 {
+                        status = "okay";
+                };
+
+                spi@b00 {
+                        status = "okay";
+
+                        m25p80@0 {
+                                #address-cells = <1>;
+                                #size-cells = <1>;
+                                compatible = "mx25l12805d";
+                                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 0xfb0000>;
+                                };
+                        };
+                };
+        };
+
+        pinctrl {
+                state_default: pinctrl0 {
+                        default {
+                                ralink,group = "i2c", "spi refclk", "rgmii1";
+                                ralink,function = "gpio";
+                        };
+                };
+        };
+
+        ehci@101c0000 {
+                status = "okay";
+        };
+
+        ohci@101c1000 {
+                status = "okay";
+        };
+
+        ethernet@10100000 {
+                pinctrl-names = "default";
+                pinctrl-0 = <&ephy_pins>;
+
+                mtd-mac-address = <&factory 0x4>;
+                ralink,port-map = "llllw";
+        };
+
+        gsw@10110000 {
+                ralink,port4 = "ephy";
+        };
+
+        wmac@10180000 {
+                ralink,mtd-eeprom = <&factory 0>;
+        };
+
+        pcie@10140000 {
+                status = "okay";
+        };
+
+        gpio-keys-polled {
+                compatible = "gpio-keys-polled";
+                #address-cells = <1>;
+                #size-cells = <0>;
+                poll-interval = <20>;
+                s1 {
+                        label = "reset";
+                        gpios = <&gpio0 1 1>;
+                        linux,code = <0x198>;
+                };
+                s2 {
+                        label = "wps";
+                        gpios = <&gpio0 2 1>;
+                        linux,code = <0x211>;
+                };
+        };
+};


New file  /target/linux/ramips/mt7620/profiles/microwrt.mk
=============================================================
+   define Profile/MicroWRT
+       NAME:=MicroWRT
+       PACKAGES:=\
+           kmod-usb-core kmod-usb-dwc2 kmod-usb2 kmod-usb-ohci \
+           kmod-mt76
+   endef
+
+   define Profile/MicroWRT/Description
+       Support for MicroWRT
+   endef
+   $(eval $(call Profile,MicroWRT))


Appreciate your responsed!


Thanks,
Jason

Attachment: new patch.diff
Description: Binary data

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to