+define Device/tplink_archer-c7-v4
+ $(Device/tplink-safeloader-uimage)
+ SOC := qca9563
+ IMAGE_SIZE := 15104k
+ DEVICE_MODEL := Archer C7
+ DEVICE_VARIANT := v4
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
+ ath10k-firmware-qca988x-ct
+ TPLINK_BOARD_ID := ARCHER-C7-V4
+ BOARDNAME := ARCHER-C7-V4
+ SUPPORTED_DEVICES += archer-c7-v4
+endef
+TARGET_DEVICES += tplink_archer-c7-v4
+
+define Device/tplink_archer-c7-v5
+ $(Device/tplink-safeloader-uimage)
+ SOC := qca9563
+ IMAGE_SIZE := 15360k
+ DEVICE_MODEL := Archer C7
+ DEVICE_VARIANT := v5
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
+ ath10k-firmware-qca988x-ct
+ TPLINK_BOARD_ID := ARCHER-C7-V5
+ BOARDNAME := ARCHER-C7-V5
+ SUPPORTED_DEVICES += archer-c7-v5
+endef
+TARGET_DEVICES += tplink_archer-c7-v5
+
+define Device/tplink_archer-d50-v1
+ $(Device/tplink-v2)
+ SOC := qca9531
+ DEVICE_MODEL := Archer D50
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
+ kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
+ BOARDNAME := ARCHER-D50-V1
+ IMAGE_SIZE := 7808k
+ TPLINK_HWID := 0xC1200001
+ TPLINK_HWREV := 0x00000046
+ TPLINK_FLASHLAYOUT := 8Mqca
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | \
+ tplink-v2-header -s -V "ver. 1.0"
+endef
+TARGET_DEVICES += tplink_archer-d50-v1
+
+define Device/tplink_archer-d7-v1
+ $(Device/tplink-v2)
+ SOC := qca9558
+ DEVICE_MODEL := Archer D7
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
+ kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ IMAGE_SIZE := 15936k
+ TPLINK_HWID := 0x89300001
+ TPLINK_HWREV := 0x0000002D
+ TPLINK_FLASHLAYOUT := 16Mqca
+ TPLINK_HWREVADD := 0x00000002
+endef
+TARGET_DEVICES += tplink_archer-d7-v1
+
+define Device/tplink_archer-d7b-v1
+ $(Device/tplink-v2)
+ SOC := qca9558
+ DEVICE_MODEL := Archer D7b
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
+ kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ IMAGE_SIZE := 16000k
+ TPLINK_HWID := 0x89300001
+ TPLINK_HWREV := 0x0000003D
+ TPLINK_FLASHLAYOUT := 16Mqca
+endef
+TARGET_DEVICES += tplink_archer-d7b-v1
+
+define Device/tplink_cpe210-v1
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE210
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE210
+ SUPPORTED_DEVICES += cpe210
+endef
+TARGET_DEVICES += tplink_cpe210-v1
+
+define Device/tplink_cpe210-v2
+ $(Device/tplink-safeloader)
+ SOC := qca9533
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE210
+ DEVICE_VARIANT := v2
+ TPLINK_BOARD_ID := CPE210V2
+ DEVICE_PACKAGES := rssileds
+ LOADER_TYPE := elf
+ SUPPORTED_DEVICES += cpe210-v2
+endef
+TARGET_DEVICES += tplink_cpe210-v2
+
+define Device/tplink_cpe210-v3
+ $(Device/tplink-safeloader)
+ SOC := qca9533
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE210
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE210V3
+ LOADER_TYPE := elf
+ SUPPORTED_DEVICES += cpe210-v3
+endef
+TARGET_DEVICES += tplink_cpe210-v3
+
+define Device/tplink_cpe220-v2
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE220
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE220V2
+endef
+TARGET_DEVICES += tplink_cpe220-v2
+
+define Device/tplink_cpe220-v3
+ $(Device/tplink-safeloader)
+ SOC := qca9533
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE220
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE220V3
+ LOADER_TYPE := elf
+endef
+TARGET_DEVICES += tplink_cpe220-v3
+
+define Device/tplink_cpe510-v1
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE510
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE510
+ SUPPORTED_DEVICES += cpe510
+endef
+TARGET_DEVICES += tplink_cpe510-v1
+
+define Device/tplink_cpe510-v2
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE510
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE510V2
+ SUPPORTED_DEVICES += cpe510-v2
+endef
+TARGET_DEVICES += tplink_cpe510-v2
+
+define Device/tplink_cpe510-v3
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE510
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := CPE510V3
+endef
+TARGET_DEVICES += tplink_cpe510-v3
+
+define Device/tplink_cpe610-v1
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE610
+ DEVICE_VARIANT := v1
+ TPLINK_BOARD_ID := CPE610V1
+endef
+TARGET_DEVICES += tplink_cpe610-v1
+
+define Device/tplink_cpe610-v2
+ $(Device/tplink-safeloader-okli)
+ SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := CPE610
+ DEVICE_VARIANT := v2
+ TPLINK_BOARD_ID := CPE610V2
+endef
+TARGET_DEVICES += tplink_cpe610-v2
+
+define Device/tplink-eap2x5
+ $(Device/tplink-safeloader)
+ LOADER_TYPE := elf
+ KERNEL := kernel-bin | append-dtb | lzma | loader-kernel
+ KERNEL_INITRAMFS := $$(KERNEL)
+ IMAGE/factory.bin := append-rootfs | tplink-safeloader factory | \
+ pad-extra 128
+endef
+
+define Device/tplink_eap225-outdoor-v1
+ $(Device/tplink-eap2x5)
+ SOC := qca9563
+ IMAGE_SIZE := 13824k
+ DEVICE_MODEL := EAP225-Outdoor
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
+ TPLINK_BOARD_ID := EAP225-OUTDOOR-V1
+endef
+TARGET_DEVICES += tplink_eap225-outdoor-v1
+
+define Device/tplink_eap225-v3
+ $(Device/tplink-eap2x5)
+ SOC := qca9563
+ IMAGE_SIZE := 13824k
+ DEVICE_MODEL := EAP225
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
+ TPLINK_BOARD_ID := EAP225-V3
+endef
+TARGET_DEVICES += tplink_eap225-v3
+
+define Device/tplink_eap225-wall-v2
+ $(Device/tplink-eap2x5)
+ SOC := qca9561
+ IMAGE_SIZE := 13824k
+ DEVICE_MODEL := EAP225-Wall
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
+ TPLINK_BOARD_ID := EAP225-WALL-V2
+endef
+TARGET_DEVICES += tplink_eap225-wall-v2
+
+define Device/tplink_eap245-v1
+ $(Device/tplink-eap2x5)
+ SOC := qca9563
+ IMAGE_SIZE := 13824k
+ DEVICE_MODEL := EAP245
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ TPLINK_BOARD_ID := EAP245-V1
+endef
+TARGET_DEVICES += tplink_eap245-v1
+
+define Device/tplink_eap245-v3
+ $(Device/tplink-eap2x5)
+ SOC := qca9563
+ IMAGE_SIZE := 14592k
+ DEVICE_MODEL := EAP245
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
+ TPLINK_BOARD_ID := EAP245-V3
+endef
+TARGET_DEVICES += tplink_eap245-v3
+
+define Device/tplink_re350k-v1
+ $(Device/tplink-safeloader)
+ SOC := qca9558
+ IMAGE_SIZE := 13760k
+ DEVICE_MODEL := RE350K
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ TPLINK_BOARD_ID := RE350K-V1
+endef
+TARGET_DEVICES += tplink_re350k-v1
+
+define Device/tplink_rex5x-v1
+ $(Device/tplink-safeloader)
+ SOC := qca9558
+ IMAGE_SIZE := 6016k
+ DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
+endef
+
+define Device/tplink_re355-v1
+ $(Device/tplink_rex5x-v1)
+ DEVICE_MODEL := RE355
+ DEVICE_VARIANT := v1
+ TPLINK_BOARD_ID := RE355
+ SUPPORTED_DEVICES += re355
+endef
+TARGET_DEVICES += tplink_re355-v1
+
+define Device/tplink_re450-v1
+ $(Device/tplink_rex5x-v1)
+ DEVICE_MODEL := RE450
+ DEVICE_VARIANT := v1
+ TPLINK_BOARD_ID := RE450
+ SUPPORTED_DEVICES += re450
+endef
+TARGET_DEVICES += tplink_re450-v1
+