ipq40xx: add support for EnGenius ENS620EXT
[openwrt/staging/stintel.git] / target / linux / ipq40xx / image / Makefile
index eaf9f68395948fd76647628e9bf4b157e5cafbc0..626223a7cb0177913bb624f6785f91b82056d9c2 100644 (file)
@@ -26,6 +26,12 @@ define Device/FitImageLzma
        KERNEL_NAME := Image
 endef
 
+define Device/FitzImage
+       KERNEL_SUFFIX := -fit-zImage.itb
+       KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+       KERNEL_NAME := zImage
+endef
+
 define Device/UbiFit
        KERNEL_IN_UBI := 1
        IMAGES := nand-factory.ubi nand-sysupgrade.bin
@@ -40,8 +46,8 @@ define Device/DniImage
        NETGEAR_BOARD_ID :=
        NETGEAR_HW_ID :=
        IMAGES := factory.img sysupgrade.bin
-       IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | netgear-dni
-       IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
+       IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | netgear-dni
+       IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | append-metadata
 endef
 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
 
@@ -56,6 +62,30 @@ define Device/8dev_jalapeno
 endef
 TARGET_DEVICES += 8dev_jalapeno
 
+define Device/alfa-network_ap120c-ac
+       $(call Device/FitImage)
+       $(call Device/UbiFit)
+       DEVICE_TITLE := ALFA Network AP120C-AC
+       DEVICE_DTS := qcom-ipq4018-ap120c-ac
+       DEVICE_PACKAGES := ipq-wifi-alfa-network_ap120c-ac kmod-usb-acm \
+               kmod-tpm-i2c-atmel uboot-envtools
+       BLOCKSIZE := 128k
+       PAGESIZE := 2048
+       IMAGE_SIZE := 65536k
+       IMAGES := nand-factory.bin nand-sysupgrade.bin
+       IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
+endef
+TARGET_DEVICES += alfa-network_ap120c-ac
+
+define Device/asus_map-ac2200
+       $(call Device/FitImageLzma)
+       DEVICE_DTS := qcom-ipq4019-map-ac2200
+       DEVICE_TITLE := ASUS Lyra MAP-AC2200
+       IMAGES := sysupgrade.bin
+       DEVICE_PACKAGES := ipq-wifi-asus_map-ac2200 ath10k-firmware-qca9888-ct kmod-ath3k
+endef
+TARGET_DEVICES += asus_map-ac2200
+
 define Device/asus_rt-ac58u
        $(call Device/FitImageLzma)
        DEVICE_DTS := qcom-ipq4018-rt-ac58u
@@ -82,15 +112,33 @@ define Device/avm_fritzbox-4040
        BOARD_NAME := fritz4040
        DEVICE_TITLE := AVM Fritz!Box 4040
        IMAGE_SIZE := 29753344
-       UBOOT_PATH := $$(BIN_DIR)/u-boot-fritz4040/uboot-fritz4040.bin
+       UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
        UBOOT_PARTITION_SIZE := 524288
        IMAGES = eva.bin sysupgrade.bin
        IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
        IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
-       DEVICE_PACKAGES := fritz-tffs fritz-caldata u-boot-fritz4040
+       DEVICE_PACKAGES := fritz-tffs fritz-caldata
 endef
 TARGET_DEVICES += avm_fritzbox-4040
 
+define Device/avm_fritzbox-7530
+       $(call Device/FitImageLzma)
+       DEVICE_DTS := qcom-ipq4019-fritzbox-7530
+       DEVICE_TITLE := AVM Fritz!Box 7530
+       DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzbox-7530
+       IMAGES := sysupgrade.bin
+endef
+TARGET_DEVICES += avm_fritzbox-7530
+
+define Device/avm_fritzrepeater-3000
+       $(call Device/FitImageLzma)
+       DEVICE_DTS := qcom-ipq4019-fritzrepeater-3000
+       DEVICE_TITLE := AVM Fritz!Repeater 3000
+       DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzrepeater-3000
+       IMAGES := sysupgrade.bin
+endef
+TARGET_DEVICES += avm_fritzrepeater-3000
+
 define Device/compex_wpj428
        $(call Device/FitImage)
        DEVICE_DTS := qcom-ipq4028-wpj428
@@ -119,6 +167,22 @@ define Device/engenius_eap1300
 endef
 TARGET_DEVICES += engenius_eap1300
 
+define Device/engenius_ens620ext
+        $(call Device/FitImage)
+        DEVICE_DTS := qcom-ipq4018-ens620ext
+        DEVICE_DTS_CONFIG := config@4
+        BLOCKSIZE := 64k
+        PAGESIZE := 256
+        DEVICE_TITLE := EnGenius ENS620EXT
+        IMAGE_SIZE := 21823488
+        KERNEL_SIZE := 5120k
+        FILESYSTEMS := squashfs
+        IMAGES := sysupgrade.bin
+        IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | append-metadata
+       DEVICE_PACKAGES := ipq-wifi-engenius_ens620ext
+endef
+TARGET_DEVICES += engenius_ens620ext
+
 define Device/glinet_gl-b1300
        $(call Device/FitImage)
        DEVICE_TITLE := GL.iNet GL-B1300
@@ -131,6 +195,41 @@ define Device/glinet_gl-b1300
 endef
 TARGET_DEVICES += glinet_gl-b1300
 
+define Device/linksys_ea6350v3
+       # The Linksys EA6350v3 has a uboot bootloader that does not
+       # support either booting lzma kernel images nor booting UBI
+       # partitions. This uboot, however, supports raw kernel images and
+       # gzipped images.
+       #
+       # As for the time of writing this, the device will boot the kernel
+       # from a fixed address with a fixed length of 3MiB. Also, the
+       # device has a hard-coded kernel command line that requieres the
+       # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
+       # Oh... and the kernel partition overlaps with the rootfs
+       # partition (the same for alt_kernel and alt_rootfs).
+       #
+       # If you are planing re-partitioning the device, you may want to
+       # keep those details in mind:
+       # 1. The kernel adresses you should honor are 0x00000000 and
+       #    0x02800000 respectively.
+       # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
+       # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
+       # 4. The kernel command line from uboot is harcoded to boot with
+       #    rootfs either in mtd11 or mtd13.
+       $(call Device/FitzImage)
+       DEVICE_TITLE := Linksys EA6350v3
+       DEVICE_DTS := qcom-ipq4018-ea6350v3
+       BLOCKSIZE := 128k
+       PAGESIZE := 2048
+       KERNEL_SIZE := 3145728
+       IMAGE_SIZE := 38797312
+       UBINIZE_OPTS := -E 5
+       IMAGES := factory.bin sysupgrade.bin
+       IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA6350v3
+       DEVICE_PACKAGES := ipq-wifi-linksys_ea6350v3 uboot-envtools
+endef
+TARGET_DEVICES += linksys_ea6350v3
+
 define Device/meraki_mr33
        $(call Device/FitImage)
        DEVICE_DTS := qcom-ipq4029-mr33
@@ -144,7 +243,6 @@ TARGET_DEVICES += meraki_mr33
 
 define Device/netgear_ex61x0v2
        $(call Device/DniImage)
-       KERNEL_SIZE := 3080192
        DEVICE_DTS_CONFIG := config@4
        NETGEAR_BOARD_ID := EX6150v2series
        NETGEAR_HW_ID := 29765285+16+0+128+2x2
@@ -221,6 +319,31 @@ define Device/qcom_ap-dk04.1-c1
 endef
 TARGET_DEVICES += qcom_ap-dk04.1-c1
 
+define Device/qxwlan_e2600ac-c1
+       $(call Device/FitImage)
+       DEVICE_TITLE :=  Qxwlan E2600AC-C1 (nor flash)
+       BOARD_NAME := e2600ac-c1
+       DEVICE_DTS := qcom-ipq4019-qxwlan-e2600ac-c1
+       KERNEL_SIZE := 4096k
+       IMAGE_SIZE := 31232k
+       IMAGES := sysupgrade.bin
+       IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
+       DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac
+endef
+TARGET_DEVICES += qxwlan_e2600ac-c1
+
+define Device/qxwlan_e2600ac-c2
+       $(call Device/FitImage)
+       $(call Device/UbiFit)
+       DEVICE_DTS := qcom-ipq4019-qxwlan-e2600ac-c2
+       KERNEL_INSTALL := 1
+       BLOCKSIZE := 128k
+       PAGESIZE := 2048
+       DEVICE_TITLE := Qxwlan E2600AC-C2 (nornand flash)
+       DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac
+endef
+TARGET_DEVICES += qxwlan_e2600ac-c2
+
 define Device/zyxel_nbg6617
        $(call Device/FitImageLzma)
        DEVICE_DTS := qcom-ipq4018-nbg6617
@@ -237,7 +360,7 @@ define Device/zyxel_nbg6617
 #      this minimum-size. However, the larger image can be flashed both ways.
        IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
        IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
-       DEVICE_PACKAGES := uboot-envtools
+       DEVICE_PACKAGES := uboot-envtools kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += zyxel_nbg6617