+
+
+define Build/uImageHiWiFi
+ # Field ih_name needs to start with "tw150v1"
+ mkimage -A $(LINUX_KARCH) \
+ -O linux -T kernel \
+ -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
+ -n 'tw150v1 $(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
+ @mv $@.new $@
+endef
+
+define Device/hiwifi-hc6361
+ DEVICE_TITLE := HiWiFi HC6361
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage \
+ kmod-fs-ext4 kmod-nls-iso8859-1 e2fsprogs
+ BOARDNAME := HiWiFi-HC6361
+ DEVICE_PROFILE := HIWIFI_HC6361
+ IMAGE_SIZE := 16128k
+ KERNEL := kernel-bin | patch-cmdline | lzma | uImageHiWiFi lzma
+ CONSOLE := ttyATH0,115200
+ MTDPARTS := spi0.0:64k(u-boot)ro,64k(bdinfo)ro,16128k(firmware),64k(backup)ro,64k(art)ro
+endef
+TARGET_DEVICES += hiwifi-hc6361
+
+
+define Build/seama
+ $(STAGING_DIR_HOST)/bin/seama -i $@ $(if $(1),$(1),-m "dev=/dev/mtdblock/1" -m "type=firmware")
+ mv $@.seama $@
+endef
+
+define Build/seama-seal
+ $(call Build/seama,-s $@.seama $(1))
+endef
+
+define Device/seama
+ CONSOLE := ttyS0,115200
+ LOADER_TYPE := bin
+ BLOCKSIZE := 64k
+ KERNEL := kernel-bin | lzma | loader-kernel-cmdline | 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 :=
+ DEVICE_VARS += SEAMA_SIGNATURE
+endef
+
+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
+
+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
+
+define Device/qihoo-c301
+$(Device/seama)
+ DEVICE_TITLE := Qihoo C301
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev 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 += mynet-n600 mynet-n750 qihoo-c301