ralink: add support for mt7628
[librecmc/librecmc.git] / target / linux / ramips / image / Makefile
index 9a47f86e160a35994f9839f6f6cdb30b76d601d3..4362d4c3b3f6e75e4138a5762385ad6339f10057 100644 (file)
@@ -275,12 +275,12 @@ define BuildFirmware/PorayDualSize/squashfs
        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; \
+                       -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; \
+                       -o $(call imgname,$(1),$(2)-8M)-factory.bin; \
        fi
 endef
 BuildFirmware/PorayDualSize/initramfs=$(call BuildFirmware/DefaultDualSize/initramfs,$(1),$(2),$(3))
@@ -295,10 +295,36 @@ define BuildFirmware/Gemtek/squashfs
 endef
 BuildFirmware/Gemtek/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
 
+# Airlink101 AR670W -- LZMA without uImage header
+define BuildFirmware/AR670W/squashfs
+       $(call PatchKernelLzmaDtb,$(2),$(3),$(5))
+
+       $(eval output_name=$(IMG_PREFIX)-$(2)-$(1)-$(if $(4),$(4),sysupgrade).bin)
+       $(eval factory_name=$(IMG_PREFIX)-$(2)-$(1)-factory.bin)
+
+       ( dd if=$(KDIR)/vmlinux-$(2).bin.lzma bs=65536 \
+               conv=sync; dd if=$(KDIR)/root.$(1) ) > $(KDIR)/$(output_name)
+
+       $(call prepare_generic_squashfs,$(KDIR)/$(output_name))
+
+       if [ `stat -c%s "$(KDIR)/$(output_name)"` \
+               -gt $(ralink_default_fw_size_4M) ]; then \
+               echo "Warning: $(KDIR)/$(output_name) is too big" >&2; \
+       else \
+               mkwrgimg -i $(KDIR)/$(output_name) \
+                       -d "/dev/mtdblock/2" \
+                       -s "wrgn16a_airlink_ar670w" \
+                       -o $(BIN_DIR)/$(factory_name); \
+               $(CP) $(KDIR)/$(output_name) $(BIN_DIR)/$(output_name); \
+       fi
+endef
+
 #
 # RT288X Profiles
 #
 
+Image/Build/Profile/AR670W=$(call BuildFirmware/AR670W/$(1),$(1),ar670w,AR670W)
+
 Image/Build/Profile/AR725W=$(call BuildFirmware/Gemtek/$(1),$(1),ar725w,AR725W)
 
 # 0x790000
@@ -313,6 +339,7 @@ Image/Build/Profile/WLITX4AG300N=$(call BuildFirmware/Default4M/$(1),$(1),wli-tx
 
 ifeq ($(SUBTARGET),rt288x)
 define Image/Build/Profile/Default
+       $(call Image/Build/Profile/AR670W,$(1))
        $(call Image/Build/Profile/AR725W,$(1))
        $(call Image/Build/Profile/F5D8235V1,$(1))
        $(call Image/Build/Profile/RTN15,$(1))
@@ -336,6 +363,8 @@ Image/Build/Profile/3G6200NL=$(call BuildFirmware/Edimax/$(1),$(1),3g-6200nl,3G-
 
 Image/Build/Profile/3G300M=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),3g300m,3G300M,$(ralink_default_fw_size_4M),3G150M_SPI Kernel Image,factory)
 
+Image/Build/Profile/A5-V11=$(call BuildFirmware/Poray4M/$(1),$(1),a5-v11,A5-V11)
+
 Image/Build/Profile/AIR3GII=$(call BuildFirmware/Default4M/$(1),$(1),air3gii,AIR3GII)
 
 define BuildFirmware/UIMAGE_8M
@@ -593,6 +622,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/3G6200N,$(1))
        $(call Image/Build/Profile/3G6200NL,$(1))
        $(call Image/Build/Profile/3G300M,$(1))
+       $(call Image/Build/Profile/A5-11,$(1))
        $(call Image/Build/Profile/AIR3GII,$(1))
        $(call Image/Build/Profile/ALL02393G,$(1))
        $(call Image/Build/Profile/ALL0256N,$(1))
@@ -742,6 +772,7 @@ endif
 # MT7620A Profiles
 #
 
+Image/Build/Profile/E1700=$(call BuildFirmware/UMedia/$(1),$(1),e1700,E1700,0x013326)
 Image/Build/Profile/MT7620a=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a,MT7620a)
 Image/Build/Profile/MT7620a_MT7610e=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7610e,MT7620a_MT7610e)
 Image/Build/Profile/MT7620a_MT7530=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7530,MT7620a_MT7530)
@@ -762,6 +793,7 @@ Image/Build/Profile/Y1S=$(call BuildFirmware/Default16M/$(1),$(1),Lenovo-y1s,Y1S
 
 ifeq ($(SUBTARGET),mt7620a)
 define Image/Build/Profile/Default
+       $(call Image/Build/Profile/E1700,$(1))
        $(call Image/Build/Profile/MT7620a,$(1))
        $(call Image/Build/Profile/MT7620a_MT7610e,$(1))
        $(call Image/Build/Profile/MT7620a_MT7530,$(1))
@@ -816,6 +848,18 @@ define Image/Build/Profile/Default
 endef
 endif
 
+#
+# MT7628 Profiles
+#
+
+Image/Build/Profile/MT7628=$(call BuildFirmware/Default4M/$(1),$(1),mt7628,MT7628)
+
+ifeq ($(SUBTARGET),mt7628)
+define Image/Build/Profile/Default
+       $(call Image/Build/Profile/MT7628,$(1))
+endef
+endif
+
 
 #
 # Generic Targets