ipq40xx: add support for EZVIZ CS-W3-WD1200G EUP
[openwrt/openwrt.git] / target / linux / ipq40xx / image / Makefile
index 3a7ecf39eb6beee7d106ff4492062e34ac1b5ded..0a8dca26bc3bdb59716d286fa3bd23f81878f9fc 100644 (file)
@@ -9,6 +9,7 @@ define Device/Default
        KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
        KERNEL_PREFIX := $$(IMAGE_PREFIX)
        KERNEL_LOADADDR := 0x80208000
+       DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1)))
        SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
        IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
        IMAGE/sysupgrade.bin/squashfs :=
@@ -51,23 +52,37 @@ define Device/DniImage
 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
+define Device/8dev_jalapeno-common
        $(call Device/FitImage)
        $(call Device/UbiFit)
-       DEVICE_DTS := qcom-ipq4018-jalapeno
        BLOCKSIZE := 128k
        PAGESIZE := 2048
-       DEVICE_TITLE := 8devices Jalapeno
+       SOC := qcom-ipq4018
+endef
+
+define Device/8dev_jalapeno
+       $(call Device/8dev_jalapeno-common)
+       DEVICE_VENDOR := 8devices
+       DEVICE_MODEL := 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 \
+       DEVICE_VENDOR := ALFA Network
+       DEVICE_MODEL := AP120C-AC
+       SOC := qcom-ipq4018
+       DEVICE_PACKAGES := kmod-usb-acm \
                kmod-tpm-i2c-atmel uboot-envtools
        BLOCKSIZE := 128k
        PAGESIZE := 2048
@@ -77,22 +92,34 @@ define Device/alfa-network_ap120c-ac
 endef
 TARGET_DEVICES += alfa-network_ap120c-ac
 
+define Device/aruba_ap-303
+       $(call Device/FitImageLzma)
+       DEVICE_VENDOR := Aruba
+       DEVICE_MODEL := AP-303
+       SOC := qcom-ipq4029
+       DEVICE_PACKAGES := ipq-wifi-aruba_ap-303
+       IMAGES := sysupgrade.bin
+endef
+TARGET_DEVICES += aruba_ap-303
+
 define Device/asus_map-ac2200
        $(call Device/FitImageLzma)
-       DEVICE_DTS := qcom-ipq4019-map-ac2200
-       DEVICE_TITLE := ASUS Lyra MAP-AC2200
+       DEVICE_VENDOR := ASUS
+       DEVICE_MODEL := Lyra (MAP-AC2200)
+       SOC := qcom-ipq4019
        IMAGES := sysupgrade.bin
-       DEVICE_PACKAGES := ipq-wifi-asus_map-ac2200 ath10k-firmware-qca9888-ct kmod-ath3k
+       DEVICE_PACKAGES := 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
+       DEVICE_VENDOR := ASUS
+       DEVICE_MODEL := RT-AC58U
+       SOC := qcom-ipq4018
        BLOCKSIZE := 128k
        PAGESIZE := 2048
        DTB_SIZE := 65536
-       DEVICE_TITLE := Asus RT-AC58U
        IMAGE_SIZE := 20439364
        FILESYSTEMS := squashfs
 #      Someone - in their infinite wisdom - decided to put the firmware
@@ -102,16 +129,18 @@ define Device/asus_rt-ac58u
 #      string and call it a day.... Yeah, we do the latter!
        UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U')
        IMAGES := sysupgrade.bin
-       DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
+       DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
+               kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += asus_rt-ac58u
 
 define Device/avm_fritzbox-4040
        $(call Device/FitImageLzma)
-       DEVICE_DTS := qcom-ipq4018-fritz4040
+       DEVICE_VENDOR := AVM
+       DEVICE_MODEL := FRITZ!Box 4040
+       SOC := qcom-ipq4018
        BOARD_NAME := fritz4040
-       DEVICE_TITLE := AVM Fritz!Box 4040
-       IMAGE_SIZE := 29753344
+       IMAGE_SIZE := 29056k
        UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
        UBOOT_PARTITION_SIZE := 524288
        IMAGES = eva.bin sysupgrade.bin
@@ -123,19 +152,63 @@ 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 ipq-wifi-avm_fritzbox-7530
+       DEVICE_VENDOR := AVM
+       DEVICE_MODEL := FRITZ!Box 7530
+       SOC := qcom-ipq4019
+       DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand
        IMAGES := sysupgrade.bin
 endef
 TARGET_DEVICES += avm_fritzbox-7530
 
+define Device/avm_fritzrepeater-1200
+       $(call Device/FitImageLzma)
+       DEVICE_VENDOR := AVM
+       DEVICE_MODEL := FRITZ!Repeater 1200
+       SOC := qcom-ipq4019
+       DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzrepeater-1200
+       IMAGES := sysupgrade.bin
+endef
+TARGET_DEVICES += avm_fritzrepeater-1200
+
+define Device/avm_fritzrepeater-3000
+       $(call Device/FitImageLzma)
+       DEVICE_VENDOR := AVM
+       DEVICE_MODEL := FRITZ!Repeater 3000
+       SOC := qcom-ipq4019
+       DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand
+       IMAGES := sysupgrade.bin
+endef
+TARGET_DEVICES += avm_fritzrepeater-3000
+
+define Device/cilab_meshpoint-one
+       $(call Device/8dev_jalapeno-common)
+       DEVICE_VENDOR := Crisis Innovation Lab
+       DEVICE_MODEL := MeshPoint.One
+       DEVICE_PACKAGES := kmod-i2c-gpio kmod-iio-bmp280-i2c kmod-hwmon-ina2xx kmod-rtc-pcf2127
+endef
+TARGET_DEVICES += cilab_meshpoint-one
+
+define Device/compex_wpj419
+       $(call Device/FitImage)
+       $(call Device/UbiFit)
+       DEVICE_VENDOR := Compex
+       DEVICE_MODEL := WPJ419
+       SOC := qcom-ipq4019
+       DEVICE_DTS_CONFIG := config@12
+       KERNEL_INSTALL := 1
+       BLOCKSIZE := 128k
+       PAGESIZE := 2048
+       FILESYSTEMS := squashfs
+endef
+TARGET_DEVICES += compex_wpj419
+
 define Device/compex_wpj428
        $(call Device/FitImage)
-       DEVICE_DTS := qcom-ipq4028-wpj428
+       DEVICE_VENDOR := Compex
+       DEVICE_MODEL := WPJ428
+       SOC := qcom-ipq4028
        DEVICE_DTS_CONFIG := config@4
        BLOCKSIZE := 64k
-       DEVICE_TITLE := Compex WPJ428
        IMAGE_SIZE := 31232k
        KERNEL_SIZE := 4096k
        IMAGES = sysupgrade.bin
@@ -146,23 +219,66 @@ TARGET_DEVICES += compex_wpj428
 
 define Device/engenius_eap1300
        $(call Device/FitImage)
-       DEVICE_TITLE := EnGenius EAP1300
+       DEVICE_VENDOR := EnGenius
+       DEVICE_MODEL := EAP1300
        DEVICE_DTS_CONFIG := config@4
        BOARD_NAME := eap1300
-       DEVICE_DTS := qcom-ipq4018-eap1300
+       SOC := qcom-ipq4018
        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_VENDOR := EnGenius
+       DEVICE_MODEL := ENS620EXT
+       SOC := qcom-ipq4018
+       DEVICE_DTS_CONFIG := config@4
+       BLOCKSIZE := 64k
+       PAGESIZE := 256
+       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 := 21312k
+       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)
+endef
+TARGET_DEVICES += engenius_ens620ext
+
+define Device/ezviz_cs-w3-wd1200g-eup
+       $(call Device/FitImage)
+       DEVICE_VENDOR := EZVIZ
+       DEVICE_MODEL := CS-W3-WD1200G
+       DEVICE_VARIANT := EUP
+       DEVICE_DTS_CONFIG := config@4
+       IMAGE_SIZE := 14848k
+       SOC := qcom-ipq4018
+       IMAGES := sysupgrade.bin
+       IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
+               append-metadata
+       DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
+               ipq-wifi-ezviz_cs-w3-wd1200g-eup
+endef
+TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
+
 define Device/glinet_gl-b1300
        $(call Device/FitImage)
-       DEVICE_TITLE := GL.iNet GL-B1300
+       DEVICE_VENDOR := GL.iNet
+       DEVICE_MODEL := GL-B1300
        BOARD_NAME := gl-b1300
-       DEVICE_DTS := qcom-ipq4029-gl-b1300
+       SOC := qcom-ipq4029
        KERNEL_SIZE := 4096k
        IMAGE_SIZE := 26624k
        IMAGES := sysupgrade.bin
@@ -192,25 +308,44 @@ define Device/linksys_ea6350v3
        # 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
+       DEVICE_VENDOR := Linksys
+       DEVICE_MODEL := EA6350
+       DEVICE_VARIANT := v3
+       SOC := qcom-ipq4018
        BLOCKSIZE := 128k
        PAGESIZE := 2048
-       KERNEL_SIZE := 3145728
-       IMAGE_SIZE := 38797312
+       KERNEL_SIZE := 3072k
+       IMAGE_SIZE := 37888k
        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
+       DEVICE_PACKAGES := uboot-envtools
 endef
 TARGET_DEVICES += linksys_ea6350v3
 
+define Device/linksys_ea8300
+       $(call Device/FitzImage)
+       DEVICE_VENDOR := Linksys
+       DEVICE_MODEL := EA8300
+       SOC := qcom-ipq4019
+       KERNEL_SIZE := 3072k
+       IMAGE_SIZE := 87040k
+       BLOCKSIZE := 128k
+       PAGESIZE := 2048
+       UBINIZE_OPTS := -E 5    # EOD marks to "hide" factory sig at EOF
+       IMAGES := sysupgrade.bin factory.bin
+       IMAGE/factory.bin  := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA8300
+       DEVICE_PACKAGES := uboot-envtools ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += linksys_ea8300
+
 define Device/meraki_mr33
        $(call Device/FitImage)
-       DEVICE_DTS := qcom-ipq4029-mr33
-       BLOCKSIZE := 131072
+       DEVICE_VENDOR := Cisco Meraki
+       DEVICE_MODEL := MR33
+       SOC := qcom-ipq4029
+       BLOCKSIZE := 128k
        PAGESIZE := 2048
-       DEVICE_TITLE := Cisco Meraki MR33
        IMAGES = sysupgrade.bin
        DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
 endef
@@ -221,28 +356,32 @@ define Device/netgear_ex61x0v2
        DEVICE_DTS_CONFIG := config@4
        NETGEAR_BOARD_ID := EX6150v2series
        NETGEAR_HW_ID := 29765285+16+0+128+2x2
+       SOC := qcom-ipq4018
 endef
 
 define Device/netgear_ex6100v2
        $(call Device/netgear_ex61x0v2)
-       DEVICE_DTS := qcom-ipq4018-ex6100v2
-       DEVICE_TITLE := Netgear EX6100v2
+       DEVICE_VENDOR := Netgear
+       DEVICE_MODEL := EX6100
+       DEVICE_VARIANT := v2
 endef
 TARGET_DEVICES += netgear_ex6100v2
 
 define Device/netgear_ex6150v2
        $(call Device/netgear_ex61x0v2)
-       DEVICE_DTS := qcom-ipq4018-ex6150v2
-       DEVICE_TITLE := Netgear EX6150v2
+       DEVICE_VENDOR := Netgear
+       DEVICE_MODEL := EX6150
+       DEVICE_VARIANT := v2
 endef
 TARGET_DEVICES += netgear_ex6150v2
 
 define Device/openmesh_a42
        $(call Device/FitImageLzma)
-       DEVICE_DTS := qcom-ipq4018-a42
+       DEVICE_VENDOR := OpenMesh
+       DEVICE_MODEL := A42
+       SOC := qcom-ipq4018
        DEVICE_DTS_CONFIG := config@om.a42
        BLOCKSIZE := 64k
-       DEVICE_TITLE := OpenMesh A42
        KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
        IMAGE_SIZE := 15616k
        IMAGES = factory.bin sysupgrade.bin
@@ -254,10 +393,11 @@ TARGET_DEVICES += openmesh_a42
 
 define Device/openmesh_a62
        $(call Device/FitImageLzma)
-       DEVICE_DTS := qcom-ipq4019-a62
+       DEVICE_VENDOR := OpenMesh
+       DEVICE_MODEL := A62
+       SOC := qcom-ipq4019
        DEVICE_DTS_CONFIG := config@om.a62
        BLOCKSIZE := 64k
-       DEVICE_TITLE := OpenMesh A62
        KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
        IMAGE_SIZE := 15552k
        IMAGES = factory.bin sysupgrade.bin
@@ -269,8 +409,11 @@ endef
 TARGET_DEVICES += openmesh_a62
 
 define Device/qcom_ap-dk01.1-c1
-       DEVICE_TITLE := QCA AP-DK01.1-C1
+       DEVICE_VENDOR := Qualcomm Atheros
+       DEVICE_MODEL := AP-DK01.1
+       DEVICE_VARIANT := C1
        BOARD_NAME := ap-dk01.1-c1
+       SOC := qcom-ipq4019
        DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
        KERNEL_INSTALL := 1
        KERNEL_SIZE := 4096k
@@ -284,21 +427,26 @@ TARGET_DEVICES += qcom_ap-dk01.1-c1
 define Device/qcom_ap-dk04.1-c1
        $(call Device/FitImage)
        $(call Device/UbiFit)
+       DEVICE_VENDOR := Qualcomm Atheros
+       DEVICE_MODEL := AP-DK04.1
+       DEVICE_VARIANT := C1
+       SOC := qcom-ipq4019
        DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
        KERNEL_INSTALL := 1
        KERNEL_SIZE := 4048k
        BLOCKSIZE := 128k
        PAGESIZE := 2048
        BOARD_NAME := ap-dk04.1-c1
-       DEVICE_TITLE := QCA 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)
+       DEVICE_VENDOR := Qxwlan
+       DEVICE_MODEL := E2600AC
+       DEVICE_VARIANT := C1
        BOARD_NAME := e2600ac-c1
-       DEVICE_DTS := qcom-ipq4019-qxwlan-e2600ac-c1
+       SOC := qcom-ipq4019
        KERNEL_SIZE := 4096k
        IMAGE_SIZE := 31232k
        IMAGES := sysupgrade.bin
@@ -310,19 +458,36 @@ TARGET_DEVICES += qxwlan_e2600ac-c1
 define Device/qxwlan_e2600ac-c2
        $(call Device/FitImage)
        $(call Device/UbiFit)
-       DEVICE_DTS := qcom-ipq4019-qxwlan-e2600ac-c2
+       DEVICE_VENDOR := Qxwlan
+       DEVICE_MODEL := E2600AC
+       DEVICE_VARIANT := C2
+       SOC := qcom-ipq4019
        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/unielec_u4019-32m
+       $(call Device/FitImage)
+       DEVICE_VENDOR := Unielec
+       DEVICE_MODEL := U4019
+       DEVICE_VARIANT := 32M
+       BOARD_NAME := u4019-32m
+       SOC := qcom-ipq4019
+       KERNEL_SIZE := 4096k
+       IMAGE_SIZE := 31232k
+       IMAGES := sysupgrade.bin
+       IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
+endef
+TARGET_DEVICES += unielec_u4019-32m
+
 define Device/zyxel_nbg6617
        $(call Device/FitImageLzma)
-       DEVICE_DTS := qcom-ipq4018-nbg6617
-       DEVICE_TITLE := ZyXEL NBG6617
+       DEVICE_VENDOR := ZyXEL
+       DEVICE_MODEL := NBG6617
+       SOC := qcom-ipq4018
        ROOTFS_SIZE := 24960k
        RAS_BOARD := NBG6617
        RAS_ROOTFS_SIZE := 19840k
@@ -341,11 +506,13 @@ TARGET_DEVICES += zyxel_nbg6617
 
 define Device/zyxel_wre6606
        $(call Device/FitImage)
-       DEVICE_TITLE := ZyXEL WRE6606
+       DEVICE_VENDOR := ZyXEL
+       DEVICE_MODEL := WRE6606
        DEVICE_DTS_CONFIG := config@4
-       DEVICE_DTS := qcom-ipq4018-wre6606
+       SOC := qcom-ipq4018
        IMAGES := sysupgrade.bin
        IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
+       DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
 endef
 TARGET_DEVICES += zyxel_wre6606