ar71xx: add carambola2 support
[openwrt/openwrt.git] / target / linux / ar71xx / image / Makefile
index 22b6f729f4f8259f0adbe79377553e253245aa82..dce68dac2d318eb20fac0a5e4395c7ec4fb29af6 100644 (file)
@@ -82,8 +82,8 @@ define MkuImage
 endef
 
 define MkuImageLzma
-       $(call PatchKernelLzma,$(1),$(2),$(3))
-       $(call MkuImage,lzma,,$(KDIR_TMP)/vmlinux-$(1).bin.lzma,$(KDIR_TMP)/vmlinux-$(1).uImage)
+       $(call PatchKernelLzma,$(1),$(2),$(3),$(4))
+       $(call MkuImage,lzma,,$(KDIR_TMP)/vmlinux$(4)-$(1).bin.lzma,$(KDIR_TMP)/vmlinux$(4)-$(1).uImage)
 endef
 
 define MkuImageLzma/initramfs
@@ -131,8 +131,9 @@ define Image/BuildLoader
        -rm -rf $(KDIR)/lzma-loader
        $(LOADER_MAKE) LOADER=loader-$(1).$(2) KERNEL_CMDLINE="$(3)"\
                LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
-               LOADER_DATA="$(KDIR)/vmlinux.bin.lzma" BOARD="$(1)" \
+               LOADER_DATA="$(KDIR)/vmlinux$(5).bin.lzma" BOARD="$(1)" \
                compile loader.$(2)
+       -$(CP) $(KDIR)/loader-$(1).$(2) $(KDIR)/loader-$(1)$(5).$(2)
 endef
 
 define Image/BuildLoaderAlone
@@ -156,6 +157,7 @@ ap96_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,6144k(rootfs),17
 ap113_mtd_layout=mtdparts=spi0.0:64k(u-boot),3008k(rootfs),896k(uImage),64k(NVRAM),64k(ART),3904k@0x10000(firmware)
 ap121_mtdlayout_2M=mtdparts=spi0.0:64k(u-boot)ro,1216k(rootfs),704k(kernel),64k(art)ro,1920k@0x10000(firmware)
 ap121_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k@0x50000(firmware)
+carambola2_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2048k(kernel),13888k(rootfs),64k(nvram),64k(art)ro,15936k@0x50000(firmware)
 ap132_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),6400k(rootfs),64k(art),7808k@0x50000(firmware)
 ap135_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware)
 ap136_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(mib0),64k(art)ro,7744k@0x50000(firmware)
@@ -176,7 +178,7 @@ ubntxm_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),
 uap_pro_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1536k(kernel),14208k(rootfs),256k(cfg)ro,64k(EEPROM)ro,15744k@0x50000(firmware)
 ubdev_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),6464k(rootfs),64k(certs),256k(cfg)ro,64k(EEPROM)ro,7488k@0x50000(firmware)
 whrhpg300n_mtdlayout=mtdparts=spi0.0:248k(u-boot)ro,8k(u-boot-env)ro,1024k(kernel),2752k(rootfs),64k(art)ro,3712k@0x40000(firmware)
-wndap360_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1728k(kernel),6080k(rootfs),64k(art)ro,7808k@0x50000(firmware)
+wndap360_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1728k(kernel),6016k(rootfs),64k(nvram)ro,64k(art)ro,7744k@0x50000(firmware)
 wnr2000v3_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),2688k(rootfs),64k(art)ro,3712k@0x50000(firmware)
 wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),6656k(rootfs),64k(art)ro,7680k@0x70000(firmware)
 wndr3700v2_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),14848k(rootfs),64k(art)ro,15872k@0x70000(firmware)
@@ -191,6 +193,7 @@ define Image/BuildKernel
        $(call MkuImage,gzip,,$(KDIR)/vmlinux.bin.gz,$(UIMAGE)-gzip.bin)
        $(call MkuImage,lzma,,$(KDIR)/vmlinux.bin.lzma,$(UIMAGE)-lzma.bin)
        cp $(KDIR)/loader-generic.elf $(VMLINUX)-lzma.elf
+       -mkdir -p $(KDIR_TMP)
 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
        cp $(KDIR)/vmlinux-initramfs.elf $(VMLINUX)-initramfs.elf
        cp $(KDIR)/vmlinux-initramfs $(VMLINUX)-initramfs.bin
@@ -198,10 +201,9 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
        dd if=$(KDIR)/vmlinux-initramfs.bin.gz of=$(VMLINUX)-initramfs.gz bs=65536 conv=sync
        $(call MkuImage,gzip,,$(KDIR)/vmlinux-initramfs.bin.gz,$(UIMAGE)-initramfs-gzip.bin)
        $(call MkuImage,lzma,,$(KDIR)/vmlinux-initramfs.bin.lzma,$(UIMAGE)-initramfs-lzma.bin)
-       cp $(KDIR)/loader-generic.elf $(VMLINUX)-initramfs-lzma.elf
-endif
-       -mkdir -p $(KDIR_TMP)
+       cp $(KDIR)/loader-generic-initramfs.elf $(VMLINUX)-initramfs-lzma.elf
        $(call Image/Build/Initramfs)
+endif
 endef
 
 define Image/Build/WRT400N
@@ -547,11 +549,11 @@ define Image/Build/TPLINKOLD
 endef
 
 define Image/Build/TPLINKOLD/initramfs
-       $(call Image/BuildLoader,$(2),gz,$(3),0x80060000)
+       $(call Image/BuildLoader,$(2),gz,$(3),0x80060000,-initramfs)
        -$(STAGING_DIR_HOST)/bin/mktplinkfw -c \
                -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) -s\
-               -k $(KDIR)/loader-$(2).gz \
-               -o $(call imgname,$(1),$(2))-uImage.bin
+               -k $(KDIR)/loader-$(2)-initramfs.gz \
+               -o $(call imgname,$(1),$(2))-initramfs-uImage.bin
 endef
 
 define Image/Build/TPLINK/loader
@@ -580,10 +582,10 @@ define Image/Build/TPLINK
 endef
 
 define Image/Build/TPLINK/initramfs
-       $(call Image/BuildLoader,$(2),gz,$(3),0x80060000)
+       $(call Image/BuildLoader,$(2),gz,$(3),0x80060000,-initramfs)
        -$(STAGING_DIR_HOST)/bin/mktplinkfw -c \
                -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) -s\
-               -k $(KDIR)/loader-$(2).gz \
+               -k $(KDIR)/loader-$(2)-initramfs.gz \
                -o $(call imgname,$(1),$(2))-uImage.bin
 endef
 
@@ -604,10 +606,10 @@ define Image/Build/TPLINK-LZMA
 endef
 
 define Image/Build/TPLINK-LZMA/initramfs
-       $(call PatchKernelLzma,$(2),$(3))
+       $(call PatchKernelLzma,$(2),$(3),,-initramfs)
        -$(STAGING_DIR_HOST)/bin/mktplinkfw -c \
                -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) $(7) -s \
-               -k $(KDIR_TMP)/vmlinux-$(2).bin.lzma \
+               -k $(KDIR_TMP)/vmlinux-initramfs-$(2).bin.lzma \
                -o $(call imgname,$(1),$(2))-uImage.bin
 endef
 
@@ -700,10 +702,10 @@ define Image/Build/Netgear
 endef
 
 define Image/Build/Netgear/initramfs
-       $(call MkuImageLzma,$(2),$(3) $(4))
+       $(call MkuImageLzma,$(2),$(3) $(4),,-initramfs)
        $(STAGING_DIR_HOST)/bin/wndr3700 \
-               $(KDIR_TMP)/vmlinux-$(2).uImage \
-               $(call imgname,$(1),$(2))-uImage.bin \
+               $(KDIR_TMP)/vmlinux-initramfs-$(2).uImage \
+               $(call imgname,$(1),$(2))-initramfs-uImage.bin \
                $(5)
 endef
 
@@ -851,6 +853,7 @@ $(eval $(call SingleProfile,AthLzma,$(fs_256k),ALL0315N,all0315n,ALL0315N,ttyS0,
 $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP113,ap113,AP113,ttyS0,115200,$$(ap113_mtd_layout),917504,3080192,RK))
 $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP121_2M,ap121-2M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_2M),720896,1245184,RKuImage))
 $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP121_4M,ap121-4M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_4M),917504,2818048,RKuImage))
+$(eval $(call SingleProfile,AthLzma,$(fs_64k),CARAMBOLA2,carambola2,CARAMBOLA2,ttyATH0,115200,$$(carambola2_mtdlayout_16M),2097152,14221312,KRuImage))
 $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP121MINI,ap121-mini,AP121-MINI,ttyATH0,115200,$$(ap121_mtdlayout_4M),917504,2818048,RKuImage))
 $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP132,ap132,AP132,ttyS0,115200,$$(ap132_mtdlayout),1441792,6553600,KRuImage))
 $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP135,ap135-020,AP135-020,ttyS0,115200,$$(ap135_mtdlayout),1507328,14876672,RKuImage))
@@ -895,7 +898,7 @@ $(eval $(call SingleProfile,MyLoader,$(fs_64k),WPE72_8M,wpe72,,ttyS0,115200,0x80
 $(eval $(call SingleProfile,MyLoader,$(fs_64k),WPE72_16M,wpe72,,ttyS0,115200,0x1000000,16M))
 
 # This is used with AthGzip profile for now
-$(eval $(call SingleProfile,AthGzip,$(fs_64k),WNDAP360,wndap360,WNDAP360,ttyS0,9600,$$(wndap360_mtdlayout),1769472,6225920,KRuImage))
+$(eval $(call SingleProfile,AthGzip,$(fs_64k),WNDAP360,wndap360,WNDAP360,ttyS0,9600,$$(wndap360_mtdlayout),1769472,6160384,KRuImage))
 $(eval $(call SingleProfile,Netgear,$(fs_64k),WNR2000V3,wnr2000v3,WNR2000V3,ttyS0,115200,$$(wnr2000v3_mtdlayout),2003,WNR2000V3,"" NA,))
 $(eval $(call SingleProfile,Netgear,$(fs_64k),WNDR3700V1,wndr3700,WNDR3700,ttyS0,115200,$$(wndr3700_mtdlayout),3700,WNDR3700,"" NA,))
 $(eval $(call SingleProfile,Netgear,$(fs_64k),WNDR3700V2,wndr3700v2,WNDR3700,ttyS0,115200,$$(wndr3700v2_mtdlayout),3701,WNDR3700v2,"",-H 29763654+16+64))
@@ -1045,6 +1048,7 @@ define Image/Prepare
 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
        gzip -9 -c $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs.bin.gz
        $(call CompressLzma,$(KDIR)/vmlinux-initramfs,$(KDIR)/vmlinux-initramfs.bin.lzma)
+       $(call Image/BuildLoader,generic,elf,,,-initramfs)
 endif
        $(call Image/BuildLoader,generic,elf)
        $(call Image/Build/Profile/$(if $(CONFIG_IB),Default,$(PROFILE)),loader)