+
+define Device/seama
+ LOADER_TYPE := bin
+ BLOCKSIZE := 64k
+ KERNEL := kernel-bin | patch-cmdline | relocate-kernel | lzma
+ KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | seama
+ KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX).seama
+ IMAGES := sysupgrade.bin factory.bin
+
+ # 64 bytes offset:
+ # - 28 bytes seama_header
+ # - 36 bytes of META data (4-bytes aligned)
+ IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
+ IMAGE/sysupgrade.bin := \
+ $$(IMAGE/default) | seama | pad-rootfs | \
+ check-size $$$$(IMAGE_SIZE)
+ IMAGE/factory.bin := \
+ $$(IMAGE/default) | seama | pad-rootfs | \
+ seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
+ check-size $$$$(IMAGE_SIZE)
+ SEAMA_SIGNATURE :=
+endef
+
+define Device/dir-869-a1
+ $(Device/seama)
+ DEVICE_TITLE := D-Link DIR-869 rev. A1
+ DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
+ BOARDNAME := DIR-869-A1
+ IMAGE_SIZE := 15872k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
+ SEAMA_SIGNATURE := wrgac54_dlink.2015_dir869
+ IMAGE/factory.bin := \
+ $$(IMAGE/default) | pad-rootfs -x 64 | \
+ seama | seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
+ check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += dir-869-a1
+
+define Device/mynet-n600
+ $(Device/seama)
+ DEVICE_TITLE := Western Digital My Net N600
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+ BOARDNAME := MYNET-N600
+ IMAGE_SIZE := 15808k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
+ SEAMA_SIGNATURE := wrgnd16_wd_db600
+endef
+TARGET_DEVICES += mynet-n600
+
+define Device/mynet-n750
+ $(Device/seama)
+ DEVICE_TITLE := Western Digital My Net N750
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+ BOARDNAME := MYNET-N750
+ IMAGE_SIZE := 15808k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
+ SEAMA_SIGNATURE := wrgnd13_wd_av
+endef
+TARGET_DEVICES += mynet-n750
+
+define Device/qihoo-c301
+ $(Device/seama)
+ DEVICE_TITLE := Qihoo C301
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
+ BOARDNAME := QIHOO-C301
+ IMAGE_SIZE := 15744k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(devdata),64k(devconf),15744k(firmware),64k(warm_start),64k(action_image_config),64k(radiocfg)ro;spi0.1:15360k(upgrade2),1024k(privatedata)
+ SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
+endef
+TARGET_DEVICES += qihoo-c301
+
+define Device/dap-2695-a1
+ DEVICE_TITLE := D-Link DAP-2695 rev. A1
+ DEVICE_PACKAGES := ath10k-firmware-qca988x kmod-ath10k
+ BOARDNAME := DAP-2695-A1
+ IMAGES := factory.img sysupgrade.bin
+ IMAGE_SIZE := 15360k
+ IMAGE/factory.img := append-kernel | pad-offset 65536 160 | append-rootfs | wrgg-pad-rootfs | mkwrggimg | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin := append-kernel | pad-offset 65536 160 | mkwrggimg | append-rootfs | wrgg-pad-rootfs | check-size $$$$(IMAGE_SIZE)
+ KERNEL := kernel-bin | patch-cmdline | relocate-kernel | lzma
+ KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
+ MTDPARTS := spi0.0:256k(bootloader)ro,64k(bdcfg)ro,64k(rgdb)ro,64k(langpack)ro,15360k(firmware),448k(captival)ro,64k(certificate)ro,64k(radiocfg)ro
+ DAP_SIGNATURE := wapac02_dkbs_dap2695
+endef
+TARGET_DEVICES += dap-2695-a1
+
+define Device/bhr-4grv2
+ DEVICE_TITLE := Buffalo BHR-4GRV2
+ BOARDNAME := BHR-4GRV2
+ ROOTFS_SIZE := 14528k
+ KERNEL_SIZE := 1472k
+ IMAGE_SIZE := 16000k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware)
+ IMAGES := sysupgrade.bin factory.bin
+ IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | mkbuffaloimg
+endef
+TARGET_DEVICES += bhr-4grv2
+
+define Device/wpj-16m
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
+ MTDPARTS := spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro
+ IMAGE_SIZE := 16128k
+endef
+
+define Device/wpj342
+ $(Device/wpj-16m)
+ DEVICE_TITLE := Compex WPJ342 (16MB flash)
+ BOARDNAME := WPJ342
+endef
+TARGET_DEVICES += wpj342
+
+define Device/wpj344
+ $(Device/wpj-16m)
+ DEVICE_TITLE := Compex WPJ344 (16MB flash)
+ BOARDNAME := WPJ344
+ SUPPORTED_DEVICES := wpj344
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += wpj344
+
+define Device/wpj531
+ $(Device/wpj-16m)
+ DEVICE_TITLE := Compex WPJ531 (16MB flash)
+ BOARDNAME := WPJ531
+endef
+TARGET_DEVICES += wpj531
+
+define Device/wpj558
+ $(Device/wpj-16m)
+ DEVICE_TITLE := Compex WPJ558 (16MB flash)
+ BOARDNAME := WPJ558
+ SUPPORTED_DEVICES := wpj558
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += wpj558
+
+define Device/wpj563
+ $(Device/wpj-16m)
+ DEVICE_TITLE := Compex WPJ563 (16MB flash)
+ BOARDNAME := WPJ563
+endef
+TARGET_DEVICES += wpj563
+
+define Device/wrtnode2q
+ DEVICE_TITLE := WRTnode2Q
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+ BOARDNAME := WRTNODE2Q
+ IMAGE_SIZE := 16064k
+ MTDPARTS := spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(art)ro,16064k(firmware),16384k@0x0(fullflash)
+endef
+TARGET_DEVICES += wrtnode2q
+
+define Device/zbt-we1526
+ DEVICE_TITLE := Zbtlink ZBT-WE1526
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+ BOARDNAME := ZBT-WE1526
+ IMAGE_SIZE := 16000k
+ KERNEL_SIZE := 1472k
+ ROOTFS_SIZE := 14528k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware)
+ IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += zbt-we1526
+
+define Device/fritz300e
+ DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
+ DEVICE_PACKAGES := fritz-tffs rssileds -swconfig -uboot-envtools
+ BOARDNAME := FRITZ300E
+ SUPPORTED_DEVICES := fritz300e
+ IMAGE_SIZE := 15232k
+ KERNEL := kernel-bin | patch-cmdline | lzma | eva-image
+ IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
+ append-squashfs-fakeroot-be | pad-to 256 | \
+ append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += fritz300e