+define Device/openmesh_a42
+ $(call Device/FitImageLzma)
+ FILESYSTEMS := squashfs
+ DEVICE_DTS := qcom-ipq4019-a42
+ KERNEL_LOADADDR := 0x80208000
+ BLOCKSIZE := 64k
+ SUPPORTED_DEVICES := openmesh,a42
+ 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
+ IMAGE/factory.bin/squashfs := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
+ IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
+ DEVICE_PACKAGES := ath10k-firmware-qca4019 uboot-envtools ipq-wifi-openmesh_a42
+endef
+TARGET_DEVICES += openmesh_a42
+
+define Device/qcom_ap-dk01.1-c1
+ PROFILES += $$(DEVICE_NAME)
+ DEVICE_TITLE := QCA AP-DK01.1-C1
+ BOARD_NAME := ap-dk01.1-c1
+ DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
+ KERNEL_LOADADDR := 0x80208000
+ KERNEL_INSTALL := 1
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 26624k
+ FILESYSTEMS := squashfs
+ $(call Device/FitImage)
+ IMAGES := sysupgrade.bin
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
+ DEVICE_PACKAGES := ath10k-firmware-qca4019
+endef
+TARGET_DEVICES += qcom_ap-dk01.1-c1
+
+define Device/qcom_ap-dk04.1-c1
+ $(call Device/FitImage)
+ $(call Device/UbiFit)
+ DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
+ KERNEL_LOADADDR := 0x80208000
+ 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/qcom_ipq8064-ap148
+ $(call Device/FitImage)
+ $(call Device/UbiFit)
+ DEVICE_DTS := qcom-ipq8064-ap148
+ KERNEL_INSTALL := 1
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ BOARD_NAME := ap148
+ SUPPORTED_DEVICES += ap148
+ DEVICE_TITLE := Qualcomm AP148
+ DEVICE_PACKAGES := ath10k-firmware-qca99x0
+endef
+TARGET_DEVICES += qcom_ipq8064-ap148
+
+define Device/qcom_ipq8064-ap148-legacy
+ $(call Device/LegacyImage)
+ $(call Device/UbiFit)
+ DEVICE_DTS := qcom-ipq8064-ap148
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ BOARD_NAME := ap148
+ SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
+ DEVICE_TITLE := Qualcomm AP148 (legacy)
+ DEVICE_PACKAGES := ath10k-firmware-qca99x0
+endef
+TARGET_DEVICES += qcom_ipq8064-ap148-legacy
+
+define Device/qcom_ipq8064-db149
+ $(call Device/FitImage)
+ DEVICE_DTS := qcom-ipq8064-db149
+ KERNEL_INSTALL := 1
+ BOARD_NAME := db149
+ DEVICE_TITLE := Qualcomm DB149
+ DEVICE_PACKAGES := ath10k-firmware-qca99x0
+endef
+TARGET_DEVICES += qcom_ipq8064-db149
+
+define Device/tplink_c2600
+ $(call Device/TpSafeImage)
+ DEVICE_DTS := qcom-ipq8064-c2600
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ BOARD_NAME := c2600
+ SUPPORTED_DEVICES += c2600
+ TPLINK_BOARD_ID := C2600
+ DEVICE_TITLE := TP-Link Archer C2600
+ DEVICE_PACKAGES := ath10k-firmware-qca99x0
+endef
+TARGET_DEVICES += tplink_c2600
+
+define Device/tplink_vr2600v
+ PROFILES += $$(DEVICE_NAME)
+ FILESYSTEMS := squashfs
+ KERNEL_SUFFIX := -uImage
+ KERNEL = kernel-bin | append-dtb | uImage none
+ KERNEL_NAME := zImage
+ KERNEL_SIZE := 2097152
+ DEVICE_DTS := qcom-ipq8064-vr2600v
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ BOARD_NAME := vr2600v
+ SUPPORTED_DEVICES += vr2600v
+ DEVICE_TITLE := TP-Link Archer VR2600v
+ DEVICE_PACKAGES := ath10k-firmware-qca99x0
+ IMAGES := sysupgrade.bin
+ IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
+endef
+TARGET_DEVICES += tplink_vr2600v
+
+define Device/zyxel_nbg6817
+ DEVICE_DTS := qcom-ipq8065-nbg6817
+ KERNEL_SIZE := 4096k
+ BLOCKSIZE := 64k
+ BOARD_NAME := nbg6817
+ SUPPORTED_DEVICES += nbg6817
+ DEVICE_TITLE := ZyXEL NBG6817
+ DEVICE_PACKAGES := ath10k-firmware-qca9984 e2fsprogs kmod-fs-ext4 losetup
+ $(call Device/ZyXELImage)
+endef
+TARGET_DEVICES += zyxel_nbg6817