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