ipq40xx: add factory image for EnGenius ENS620EXT
[openwrt/staging/dedeckeh.git] / target / linux / ipq40xx / image / Makefile
index 5cd11cae237b4658906652967d8120bd0dc080a8..ae146cdc548681e37bfd22756925fe98ecb927a7 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,11 +46,19 @@ 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
 
+define Build/SenaoFW
+       -$(STAGING_DIR_HOST)/bin/mksenaofw \
+               -n $(BOARD_NAME) -r $(VENDOR_ID) -p $(1) \
+               -c $(DATECODE) -w $(2) -x $(CW_VER) -t 0 \
+               -e $@ \
+               -o $@.new
+       @cp $@.new $@
+endef
 
 define Device/8dev_jalapeno
        $(call Device/FitImage)
@@ -56,6 +70,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 +120,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
@@ -105,6 +161,46 @@ define Device/compex_wpj428
 endef
 TARGET_DEVICES += compex_wpj428
 
+define Device/engenius_eap1300
+       $(call Device/FitImage)
+       DEVICE_TITLE := EnGenius EAP1300
+       DEVICE_DTS_CONFIG := config@4
+       BOARD_NAME := eap1300
+       DEVICE_DTS := qcom-ipq4018-eap1300
+       KERNEL_SIZE := 5120k
+       IMAGE_SIZE := 25344k
+       IMAGES := sysupgrade.bin
+       IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
+       DEVICE_PACKAGES := ipq-wifi-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
+       BOARD_NAME := ENS620EXT
+       VENDOR_ID := 0x0101
+       PRODUCT_ID := 0x79
+       PRODUCT_ID_NEW := 0xA4
+       DATECODE := 190507
+       FW_VER := 3.1.2
+       FW_VER_NEW := 3.5.6
+       CW_VER := 1.8.99
+       IMAGE_SIZE := 21823488
+       KERNEL_SIZE := 5120k
+       FILESYSTEMS := squashfs
+       IMAGES := sysupgrade.bin factory_30.bin factory_35.bin
+       IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | append-metadata
+       IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER)
+       IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size $$$$(IMAGE_SIZE) | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW)
+       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
@@ -117,6 +213,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
@@ -124,13 +255,12 @@ define Device/meraki_mr33
        PAGESIZE := 2048
        DEVICE_TITLE := Cisco Meraki MR33
        IMAGES = sysupgrade.bin
-       DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887
+       DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
 endef
 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
@@ -176,7 +306,7 @@ define Device/openmesh_a62
        IMAGES = factory.bin sysupgrade.bin
        IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
        IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
-       DEVICE_PACKAGES := ath10k-firmware-qca9888 uboot-envtools
+       DEVICE_PACKAGES := ath10k-firmware-qca9888-ct uboot-envtools
 endef
 
 TARGET_DEVICES += openmesh_a62
@@ -207,6 +337,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
@@ -223,7 +378,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 := ipq-wifi-zyxel_nbg6617 uboot-envtools
+       DEVICE_PACKAGES := uboot-envtools kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += zyxel_nbg6617
 
@@ -232,7 +387,6 @@ define Device/zyxel_wre6606
        DEVICE_TITLE := ZyXEL WRE6606
        DEVICE_DTS_CONFIG := config@4
        DEVICE_DTS := qcom-ipq4018-wre6606
-       DEVICE_PACKAGES := ipq-wifi-zyxel_wre6606
        IMAGES := sysupgrade.bin
        IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
 endef