+define Device/ubnt_edgerouter_common
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ DEVICE_VENDOR := Ubiquiti
+ IMAGE_SIZE := 256768k
+ FILESYSTEMS := squashfs
+ KERNEL_SIZE := 3145728
+ KERNEL_INITRAMFS := $$(KERNEL) | \
+ ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ DEVICE_PACKAGES += -wpad-basic-wolfssl
+endef
+
+define Device/ubnt_edgerouter-x
+ $(Device/ubnt_edgerouter_common)
+ DEVICE_MODEL := EdgeRouter X
+ SUPPORTED_DEVICES += ubnt-erx ubiquiti,edgerouterx
+endef
+TARGET_DEVICES += ubnt_edgerouter-x
+
+define Device/ubnt_edgerouter-x-sfp
+ $(Device/ubnt_edgerouter_common)
+ DEVICE_MODEL := EdgeRouter X SFP
+ DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-sfp
+ SUPPORTED_DEVICES += ubnt-erx-sfp ubiquiti,edgerouterx-sfp
+endef
+TARGET_DEVICES += ubnt_edgerouter-x-sfp
+
+define Device/ubnt_unifi-nanohd
+ $(Device/dsa-migration)
+ DEVICE_VENDOR := Ubiquiti
+ DEVICE_MODEL := UniFi nanoHD
+ DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
+ IMAGE_SIZE := 15552k
+endef
+TARGET_DEVICES += ubnt_unifi-nanohd
+
+define Device/unielec_u7621-06-16m
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := UniElec
+ DEVICE_MODEL := U7621-06
+ DEVICE_VARIANT := 16M
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 -wpad-basic-wolfssl
+ SUPPORTED_DEVICES += u7621-06-256M-16M unielec,u7621-06-256m-16m
+endef
+TARGET_DEVICES += unielec_u7621-06-16m
+
+define Device/unielec_u7621-06-64m
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 65216k
+ DEVICE_VENDOR := UniElec
+ DEVICE_MODEL := U7621-06
+ DEVICE_VARIANT := 64M
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 -wpad-basic-wolfssl
+ SUPPORTED_DEVICES += unielec,u7621-06-512m-64m
+endef
+TARGET_DEVICES += unielec_u7621-06-64m
+
+define Device/wavlink_wl-wn531a6
+ $(Device/dsa-migration)
+ DEVICE_VENDOR := Wavlink
+ DEVICE_MODEL := WL-WN531A6
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware kmod-usb3
+ IMAGE_SIZE := 15040k
+endef
+TARGET_DEVICES += wavlink_wl-wn531a6
+
+define Device/wevo_11acnas
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
+ DEVICE_VENDOR := WeVO
+ DEVICE_MODEL := 11AC NAS Router
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+ SUPPORTED_DEVICES += 11acnas
+endef
+TARGET_DEVICES += wevo_11acnas
+
+define Device/wevo_w2914ns-v2
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ UIMAGE_NAME := W2914NS-V2(0.0.0)
+ DEVICE_VENDOR := WeVO
+ DEVICE_MODEL := W2914NS
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+ SUPPORTED_DEVICES += w2914nsv2
+endef
+TARGET_DEVICES += wevo_w2914ns-v2
+
+define Device/winstars_ws-wn583a6
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ IMAGE_SIZE := 7872k
+ DEVICE_VENDOR := Winstars
+ DEVICE_MODEL := WS-WN583A6
+ DEVICE_ALT0_VENDOR := Gemeita
+ DEVICE_ALT0_MODEL := AC2100
+ KERNEL_INITRAMFS_SUFFIX := -WN583A6$$(KERNEL_SUFFIX)
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
+endef
+TARGET_DEVICES += winstars_ws-wn583a6
+
+define Device/xiaomi-ac2100
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 120320k
+ UBINIZE_OPTS := -E 5
+ IMAGES += kernel1.bin rootfs0.bin
+ IMAGE/kernel1.bin := append-kernel
+ IMAGE/rootfs0.bin := append-ubi | check-size
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ DEVICE_VENDOR := Xiaomi
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware \
+ uboot-envtools
+endef
+
+define Device/xiaomi_mi-router-ac2100
+ $(Device/xiaomi-ac2100)
+ DEVICE_MODEL := Mi Router AC2100
+endef
+TARGET_DEVICES += xiaomi_mi-router-ac2100
+
+define Device/xiaomi_mir3g
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 124416k
+ UBINIZE_OPTS := -E 5
+ IMAGES += kernel1.bin rootfs0.bin
+ IMAGE/kernel1.bin := append-kernel
+ IMAGE/rootfs0.bin := append-ubi | check-size
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ DEVICE_VENDOR := Xiaomi
+ DEVICE_MODEL := Mi Router 3G
+ SUPPORTED_DEVICES += R3G
+ SUPPORTED_DEVICES += mir3g
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport uboot-envtools
+endef
+TARGET_DEVICES += xiaomi_mir3g
+
+define Device/xiaomi_mir3g-v2
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ IMAGE_SIZE := 14848k
+ DEVICE_VENDOR := Xiaomi
+ DEVICE_MODEL := Mi Router 3G
+ DEVICE_VARIANT := v2
+ DEVICE_ALT0_VENDOR := Xiaomi
+ DEVICE_ALT0_MODEL := Mi Router 4A
+ DEVICE_ALT0_VARIANT := Gigabit Edition
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
+endef
+TARGET_DEVICES += xiaomi_mir3g-v2
+
+define Device/xiaomi_mir3p
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE:= 4096k
+ UBINIZE_OPTS := -E 5
+ IMAGE_SIZE := 255488k
+ DEVICE_VENDOR := Xiaomi
+ DEVICE_MODEL := Mi Router 3 Pro
+ IMAGES += factory.bin
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
+ check-size
+ DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
+ kmod-usb-ledtrig-usbport uboot-envtools
+endef
+TARGET_DEVICES += xiaomi_mir3p
+
+define Device/xiaomi_redmi-router-ac2100
+ $(Device/xiaomi-ac2100)
+ DEVICE_MODEL := Redmi Router AC2100
+endef
+TARGET_DEVICES += xiaomi_redmi-router-ac2100
+
+define Device/xiaoyu_xy-c5
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 32448k
+ DEVICE_VENDOR := XiaoYu
+ DEVICE_MODEL := XY-C5
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 -wpad-basic-wolfssl
+endef
+TARGET_DEVICES += xiaoyu_xy-c5
+
+define Device/xzwifi_creativebox-v1
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 32448k
+ DEVICE_VENDOR := CreativeBox
+ DEVICE_MODEL := v1
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
+ kmod-usb3 -wpad-basic-wolfssl
+endef
+TARGET_DEVICES += xzwifi_creativebox-v1
+
+define Device/youhua_wr1200js
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := YouHua
+ DEVICE_MODEL := WR1200JS
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += youhua_wr1200js
+
+define Device/youku_yk-l2
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Youku
+ DEVICE_MODEL := YK-L2
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += youku_yk-l2
+
+define Device/zbtlink_zbt-we1326
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Zbtlink
+ DEVICE_MODEL := ZBT-WE1326
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620
+ SUPPORTED_DEVICES += zbt-we1326
+endef
+TARGET_DEVICES += zbtlink_zbt-we1326
+
+define Device/zbtlink_zbt-we3526
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Zbtlink
+ DEVICE_MODEL := ZBT-WE3526
+ DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += zbtlink_zbt-we3526
+
+define Device/zbtlink_zbt-wg2626
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Zbtlink
+ DEVICE_MODEL := ZBT-WG2626
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+ SUPPORTED_DEVICES += zbt-wg2626
+endef
+TARGET_DEVICES += zbtlink_zbt-wg2626
+
+define Device/zbtlink_zbt-wg3526-16m
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Zbtlink
+ DEVICE_MODEL := ZBT-WG3526
+ DEVICE_VARIANT := 16M
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
+ kmod-usb3 kmod-usb-ledtrig-usbport
+ SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
+endef
+TARGET_DEVICES += zbtlink_zbt-wg3526-16m
+
+define Device/zbtlink_zbt-wg3526-32m
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ IMAGE_SIZE := 32448k
+ DEVICE_VENDOR := Zbtlink
+ DEVICE_MODEL := ZBT-WG3526
+ DEVICE_VARIANT := 32M
+ DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
+ kmod-usb3 kmod-usb-ledtrig-usbport
+ SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
+endef
+TARGET_DEVICES += zbtlink_zbt-wg3526-32m
+
+define Device/zio_freezio
+ $(Device/dsa-migration)
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := ZIO
+ DEVICE_MODEL := FREEZIO
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
+ kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += zio_freezio
+
+define Device/zyxel_wap6805
+ $(Device/dsa-migration)
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE := 4096k
+ UBINIZE_OPTS := -E 5
+ IMAGE_SIZE := 32448k
+ DEVICE_VENDOR := ZyXEL
+ DEVICE_MODEL := WAP6805
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt7621-qtn-rgmii
+ KERNEL := $(KERNEL_DTB) | uImage lzma | uimage-padhdr 160
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata