+define Build/prepend-dtb
+ cat "$@.dtb.uimage" "$@" > "$@.new"
+ mv "$@.new" "$@"
+endef
+
+define Image/cpiogz
+ ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9n >$(KDIR_TMP)/$(IMG_PREFIX)-rootfs.cpio.gz )
+endef
+
+define Device/Default
+ PROFILES := Default
+ KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts)
+ DEVICE_DTS :=
+ KERNEL_ENTRY := 0x00000000
+ KERNEL_LOADADDR := 0x00000000
+ DEVICE_DTS_DIR := ../dts
+ SUPPORTED_DEVICES = $(subst _,$(comma),$(1))
+endef
+
+ifeq ($(SUBTARGET),nand)
+
+define Device/meraki_mr24
+ DEVICE_TITLE := Cisco Meraki MR24
+ DEVICE_PACKAGES := kmod-spi-gpio -swconfig
+ BOARD_NAME := mr24
+ DEVICE_DTS := meraki-mr24
+ BLOCKSIZE := 63k
+ IMAGES := sysupgrade.bin
+ DTB_SIZE := 64512
+ IMAGE_SIZE := 8191k
+ KERNEL := kernel-bin | lzma | uImage lzma | MerakiAdd-dtb | MerakiNAND
+ KERNEL_INITRAMFS := kernel-bin | lzma | dtb | MuImage-initramfs lzma
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ UBINIZE_OPTS := -E 5
+ SUPPORTED_DEVICES += mr24
+endef
+TARGET_DEVICES += meraki_mr24
+
+define Device/meraki_mx60
+ DEVICE_TITLE := Cisco Meraki MX60/MX60W
+ DEVICE_PACKAGES := kmod-spi-gpio kmod-usb-ledtrig-usbport kmod-usb-dwc2 \
+ kmod-usb-storage block-mount
+ BOARD_NAME := mx60
+ DEVICE_DTS := meraki-mx60
+ BLOCKSIZE := 63k
+ IMAGES := sysupgrade.bin
+ DTB_SIZE := 64512
+ IMAGE_SIZE := 1021m
+ KERNEL_SIZE := 4031k
+ KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND
+ KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ UBINIZE_OPTS := -E 5
+ SUPPORTED_DEVICES += mx60
+endef
+TARGET_DEVICES += meraki_mx60
+
+define Device/netgear_wndap6x0
+ DEVICE_PACKAGES := kmod-eeprom-at24
+ SUBPAGESIZE := 256
+ PAGESIZE := 512
+ BLOCKSIZE := 16k
+ DTB_SIZE := 32768
+ IMAGE_SIZE := 27392k
+ IMAGES := sysupgrade.bin factory.img
+ KERNEL_SIZE := 4032k
+ KERNEL := dtb | kernel-bin | gzip | MuImage-initramfs gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
+ UBINIZE_OPTS := -E 5
+endef
+
+define Device/netgear_wndap620
+ $(Device/netgear_wndap6x0)
+ DEVICE_TITLE := Netgear WNDAP620 - Premium Wireless-N
+ DEVICE_DTS := netgear-wndap620
+endef
+TARGET_DEVICES += netgear_wndap620
+
+define Device/netgear_wndap660
+ $(Device/netgear_wndap6x0)
+ DEVICE_TITLE := Netgear WNDAP660 - Dual Radio Dual Band Wireless-N
+ DEVICE_DTS := netgear-wndap660
+endef
+TARGET_DEVICES += netgear_wndap660
+
+define Device/netgear_wndr4700