A little HW-mod applied to WT3020 makes it more usable.

Some people can buy it and need an updated OpenWRT.


Signed-off-by: Dmitry Antonov <danto...@gmail.com>
---

diff --git a/openwrt_wt3020-16MB/target/linux/ramips/dts/WT3020-16M.dts
b/openwrt_wt3020-16MB/target/linux/ramips/dts/WT3020-16M.dts
new file mode 100644
index 0000000..ff13560
--- /dev/null
+++ b/openwrt_wt3020-16MB/target/linux/ramips/dts/WT3020-16M.dts
@@ -0,0 +1,102 @@
+/dts-v1/;
+
+/include/ "mt7620n.dtsi"
+
+/ {
+       compatible = "wt3020", "ralink,mt7620n-soc";
+       model = "Nexx WT3020";
+
+       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 = "jedec,spi-nor";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80", "w25q128";
+                               spi-max-frequency = <10000000>;
+
+                               partition@0 {
+                                       label = "u-boot";
+                                       reg = <0x0 0x30000>;
+                                       read-only;
+                               };
+
+                               partition@30000 {
+                                       label = "u-boot-env";
+                                       reg = <0x30000 0x10000>;
+                                       read-only;
+                               };
+
+                               factory: partition@40000 {
+                                       label = "factory";
+                                       reg = <0x40000 0x10000>;
+                                       read-only;
+                               };
+
+                               partition@50000 {
+                                       label = "firmware";
+                                       reg = <0x50000 0xfb0000>;
+                               };
+                       };
+               };
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+
+       ethernet@10100000 {
+               mtd-mac-address = <&factory 0x4>;
+               mediatek,portmap = "wllll";
+       };
+
+       wmac@10180000 {
+               ralink,mtd-eeprom = <&factory 0>;
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       default {
+                               ralink,group = "ephy", "wled", "pa", "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>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               power {
+                       label = "wt3020:blue:power";
+                       gpios = <&gpio3 0 0>;
+               };
+       };
+};
diff --git a/openwrt/target/linux/ramips/image/Makefile
b/openwrt_wt3020-16MB/target/linux/ramips/image/Makefile
index 6e0349f..1d78c86 100644
--- a/openwrt/target/linux/ramips/image/Makefile
+++ b/openwrt_wt3020-16MB/target/linux/ramips/image/Makefile
@@ -145,24 +145,28 @@ endef
 # $(1) = squashfs/initramfs
 # $(2) = lowercase board name
 # $(3) = dts file
+# $(4) = uImage header name field
 ralink_default_fw_size_4M=3866624
 BuildFirmware/Default4M/squashfs=$(call
BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_4M),$(4))
 BuildFirmware/Default4M/initramfs=$(call
BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))

 # Build images for default ralink layout for 8MB flash
 # kernel + roots = 0x7b0000
-# $(1) = squashfs/initramfs
-# $(2) = lowercase board name
-# $(3) = dts file
-# $(4) = uImage header name field
+# parameters' descriptions the same as "... for 4MB flash"
 ralink_default_fw_size_8M=8060928
 BuildFirmware/Default8M/squashfs=$(call
BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_8M),$(4))
 BuildFirmware/Default8M/initramfs=$(call
BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))

-ralink_default_fw_size_16M=16121856
+# Build images for default ralink layout for 16MB flash
+# kernel + roots = 0xfb0000
+# parameters' descriptions the same as "... for 4MB flash"
+ralink_default_fw_size_16M=16449536
 BuildFirmware/Default16M/squashfs=$(call
BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_16M),$(4))
 BuildFirmware/Default16M/initramfs=$(call
BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))

+# Build images for default ralink layout for 32MB flash
+# kernel + roots = 0x1fb0000
+# parameters' descriptions the same as "... for 4MB flash"
 ralink_default_fw_size_32M=33226752
 BuildFirmware/Default32M/squashfs=$(call
BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_32M),$(4))
 BuildFirmware/Default32M/initramfs=$(call
BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))
@@ -192,6 +196,18 @@ define BuildFirmware/DefaultDualSize/initramfs
        $(call BuildFirmware/OF/initramfs,$(1),$(2)-8M,$(3)-8M)
 endef

+# wrappers for boards that have 4MB, 8MB and 16MB versions
+define BuildFirmware/DefaultThreeSize/squashfs
+       $(call BuildFirmware/Default4M/$(1),$(1),$(2)-4M,$(3)-4M)
+       $(call BuildFirmware/Default8M/$(1),$(1),$(2)-8M,$(3)-8M)
+       $(call BuildFirmware/Default16M/$(1),$(1),$(2)-16M,$(3)-16M)
+endef
+define BuildFirmware/DefaultThreeSize/initramfs
+       $(call BuildFirmware/OF/initramfs,$(1),$(2)-4M,$(3)-4M)
+       $(call BuildFirmware/OF/initramfs,$(1),$(2)-8M,$(3)-8M)
+       $(call BuildFirmware/OF/initramfs,$(1),$(2)-16M,$(3)-16M)
+endef
+
 # build Seama header images
 define BuildFirmware/Seama/squashfs
        $(call MkImageLzmaDtb,$(2),$(3),$(5))
@@ -239,6 +255,25 @@ define BuildFirmware/PorayDualSize/squashfs
 endef
 BuildFirmware/PorayDualSize/initramfs=$(call
BuildFirmware/DefaultDualSize/initramfs,$(1),$(2),$(3))

+define BuildFirmware/PorayThreeSize/squashfs
+       $(call BuildFirmware/DefaultThreeSize/$(1),$(1),$(2),$(3))
+       if [ -e "$(call sysupname,$(1),$(2)-4M)" ]; then \
+               mkporayfw -B $(3) -F 4M \
+                       -f $(call sysupname,$(1),$(2)-4M) \
+                       -o $(call imgname,$(1),$(2)-4M)-factory.bin; \
+       fi
+       if [ -e "$(call sysupname,$(1),$(2)-8M)" ]; then \
+               mkporayfw -B $(3) -F 8M \
+                       -f $(call sysupname,$(1),$(2)-8M) \
+                       -o $(call imgname,$(1),$(2)-8M)-factory.bin; \
+       fi
+       if [ -e "$(call sysupname,$(1),$(2)-16M)" ]; then \
+               mkporayfw -B $(3) -F 16M \
+                       -f $(call sysupname,$(1),$(2)-16M) \
+                       -o $(call imgname,$(1),$(2)-16M)-factory.bin; \
+       fi
+endef
+BuildFirmware/PorayThreeSize/initramfs=$(call
BuildFirmware/DefaultThreeSize/initramfs,$(1),$(2),$(3))

 ifeq ($(SUBTARGET),rt288x)
 include rt288x.mk
diff --git a/openwrt/target/linux/ramips/image/mt7620.mk
b/openwrt_wt3020-16MB/target/linux/ramips/image/mt7620.mk
index 09c0ec2..539149d 100644
--- a/openwrt/target/linux/ramips/image/mt7620.mk
+++ b/openwrt_wt3020-16MB/target/linux/ramips/image/mt7620.mk
@@ -116,7 +116,7 @@ Image/Build/Profile/WMR-300=$(call
BuildFirmware/Default8M/$(1),$(1),wmr-300,WMR
 Image/Build/Profile/RT-N14U=$(call
BuildFirmware/Default8M/$(1),$(1),rt-n14u,RT-N14U)
 Image/Build/Profile/WRH-300CR=$(call
BuildFirmware/WRH-300CR/$(1),$(1),wrh-300cr,WRH-300CR)
 Image/Build/Profile/WRTNODE=$(call
BuildFirmware/Default16M/$(1),$(1),wrtnode,WRTNODE)
-Image/Build/Profile/WT3020=$(call
BuildFirmware/PorayDualSize/$(1),$(1),wt3020,WT3020)
+Image/Build/Profile/WT3020=$(call
BuildFirmware/PorayThreeSize/$(1),$(1),wt3020,WT3020)
 Image/Build/Profile/MIWIFI-MINI=$(call
BuildFirmware/Default16M/$(1),$(1),miwifi-mini,MIWIFI-MINI)
 Image/Build/Profile/GL-MT300A=$(call
BuildFirmware/Default16M/$(1),$(1),gl-mt300a,GL-MT300A)
 Image/Build/Profile/GL-MT300N=$(call
BuildFirmware/Default16M/$(1),$(1),gl-mt300n,GL-MT300N)
diff --git a/openwrt/tools/firmware-utils/src/mkporayfw.c
b/openwrt_wt3020-16MB/tools/firmware-utils/src/mkporayfw.c
index 6ec4f32..1463e03 100644
--- a/openwrt/tools/firmware-utils/src/mkporayfw.c
+++ b/openwrt_wt3020-16MB/tools/firmware-utils/src/mkporayfw.c
@@ -136,6 +136,10 @@ static struct flash_layout layouts[] = {
                .id             = "8M",
                .fw_max_len     = 0x7c0000,
        }, {
+               .id             = "16M",
+               .fw_max_len     = 0xfc0000,
+       }, {
                /* terminating entry */
        }
 };
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to