ath79: add support for PISEN TS-D084
[oweals/openwrt.git] / target / linux / ath79 / image / generic.mk
1 include ./common-buffalo.mk
2 include ./common-netgear.mk
3 include ./common-tp-link.mk
4
5 DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
6 DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
7 DEVICE_VARS += KERNEL_INITRAMFS_PREFIX
8
9 define Build/cybertan-trx
10         @echo -n '' > $@-empty.bin
11         -$(STAGING_DIR_HOST)/bin/trx -o $@.new \
12                 -f $(IMAGE_KERNEL) -F $@-empty.bin \
13                 -x 32 -a 0x10000 -x -32 -f $@
14         -mv "$@.new" "$@"
15         -rm $@-empty.bin
16 endef
17
18 define Build/addpattern
19         -$(STAGING_DIR_HOST)/bin/addpattern -B $(ADDPATTERN_ID) \
20                 -v v$(ADDPATTERN_VERSION) -i $@ -o $@.new
21         -mv "$@.new" "$@"
22 endef
23
24 define Build/add-elecom-factory-initramfs
25   $(eval edimax_model=$(word 1,$(1)))
26   $(eval product=$(word 2,$(1)))
27
28   $(STAGING_DIR_HOST)/bin/mkedimaximg \
29         -b -s CSYS -m $(edimax_model) \
30         -f 0x70000 -S 0x01100000 \
31         -i $@ -o $@.factory
32
33   ( \
34         echo -n -e "ELECOM\x00\x00$(product)" | dd bs=40 count=1 conv=sync; \
35         echo -n "0.00" | dd bs=16 count=1 conv=sync; \
36         dd if=$@.factory; \
37   ) > $@.factory.new
38
39   if [ "$$(stat -c%s $@.factory.new)" -le $$(($(subst k,* 1024,$(subst m, * 1024k,$(IMAGE_SIZE))))) ]; then \
40         mv $@.factory.new $(BIN_DIR)/$(KERNEL_INITRAMFS_PREFIX)-factory.bin; \
41   else \
42         echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
43   fi
44 endef
45
46 define Build/nec-enc
47   $(STAGING_DIR_HOST)/bin/nec-enc \
48     -i $@ -o $@.new -k $(1)
49   mv $@.new $@
50 endef
51
52 define Build/nec-fw
53   ( stat -c%s $@ | tr -d "\n" | dd bs=16 count=1 conv=sync; ) >> $@
54   ( \
55     echo -n -e "$(1)" | dd bs=16 count=1 conv=sync; \
56     echo -n "0.0.00" | dd bs=16 count=1 conv=sync; \
57     dd if=$@; \
58   ) > $@.new
59   mv $@.new $@
60 endef
61
62 define Build/pisen_wmb001n-factory
63   -[ -f "$@" ] && \
64   mkdir -p "$@.tmp" && \
65   cp "$(KDIR)/loader-$(word 1,$(1)).uImage" "$@.tmp/uImage" && \
66   mv "$@" "$@.tmp/rootfs" && \
67   cp "bin/pisen_wmb001n_factory-header.bin" "$@" && \
68   $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
69     $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
70     -C "$@.tmp" . | gzip -9n >> "$@" && \
71   rm -rf "$@.tmp"
72 endef
73
74 define Device/seama
75   KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
76   KERNEL_INITRAMFS := $$(KERNEL) | seama
77   IMAGES += factory.bin
78   SEAMA_MTDBLOCK := 1
79
80   # 64 bytes offset:
81   # - 28 bytes seama_header
82   # - 36 bytes of META data (4-bytes aligned)
83   IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
84   IMAGE/sysupgrade.bin := \
85         $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
86   IMAGE/factory.bin := \
87         $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE)
88   SEAMA_SIGNATURE :=
89 endef
90
91 define Device/8dev_carambola2
92   ATH_SOC := ar9331
93   DEVICE_VENDOR := 8devices
94   DEVICE_MODEL := Carambola2
95   DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2
96   IMAGE_SIZE := 16000k
97   SUPPORTED_DEVICES += carambola2
98 endef
99 TARGET_DEVICES += 8dev_carambola2
100
101 define Device/adtran_bsap1880
102   ATH_SOC := ar7161
103   DEVICE_VENDOR := Adtran/Bluesocket
104   DEVICE_PACKAGES += -swconfig -uboot-envtools fconfig
105   KERNEL := kernel-bin | append-dtb | lzma
106   KERNEL_INITRAMFS := kernel-bin | append-dtb
107   IMAGE_SIZE := 11200k
108   IMAGES += kernel.bin rootfs.bin
109   IMAGE/kernel.bin := append-kernel | pad-to $$$$(BLOCKSIZE)
110   IMAGE/rootfs.bin := append-rootfs | pad-rootfs
111   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | append-metadata | check-size $$$$(IMAGE_SIZE)
112 endef
113
114 define Device/adtran_bsap1800-v2
115   $(Device/adtran_bsap1880)
116   DEVICE_MODEL := BSAP-1800
117   DEVICE_VARIANT := v2
118 endef
119 TARGET_DEVICES += adtran_bsap1800-v2
120
121 define Device/adtran_bsap1840
122   $(Device/adtran_bsap1880)
123   DEVICE_MODEL := BSAP-1840
124 endef
125 TARGET_DEVICES += adtran_bsap1840
126
127 define Device/alfa-network_ap121f
128   ATH_SOC := ar9331
129   DEVICE_VENDOR := ALFA Network
130   DEVICE_MODEL := AP121F
131   DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2 kmod-usb-storage -swconfig
132   IMAGE_SIZE := 16064k
133   SUPPORTED_DEVICES += ap121f
134 endef
135 TARGET_DEVICES += alfa-network_ap121f
136
137 define Device/aruba_ap-105
138   ATH_SOC := ar7161
139   DEVICE_VENDOR := Aruba
140   DEVICE_MODEL := AP-105
141   IMAGE_SIZE := 16000k
142   DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-tpm-i2c-atmel
143 endef
144 TARGET_DEVICES += aruba_ap-105
145
146 define Device/avm_fritz300e
147   ATH_SOC := ar7242
148   DEVICE_VENDOR := AVM
149   DEVICE_MODEL := FRITZ!WLAN Repeater 300E
150   KERNEL := kernel-bin | append-dtb | lzma | eva-image
151   KERNEL_INITRAMFS := $$(KERNEL)
152   IMAGE_SIZE := 15232k
153   IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
154         append-squashfs-fakeroot-be | pad-to 256 | \
155         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
156   DEVICE_PACKAGES := fritz-tffs rssileds -swconfig
157 endef
158 TARGET_DEVICES += avm_fritz300e
159
160 define Device/avm_fritz4020
161   ATH_SOC := qca9561
162   DEVICE_VENDOR := AVM
163   DEVICE_MODEL := FRITZ!Box 4020
164   IMAGE_SIZE := 15232k
165   KERNEL := kernel-bin | append-dtb | lzma | eva-image
166   KERNEL_INITRAMFS := $$(KERNEL)
167   IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
168       append-squashfs-fakeroot-be | pad-to 256 | \
169       append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
170   DEVICE_PACKAGES := fritz-tffs
171   SUPPORTED_DEVICES += fritz4020
172 endef
173 TARGET_DEVICES += avm_fritz4020
174
175 define Device/buffalo_bhr-4grv
176   ATH_SOC := ar7242
177   DEVICE_VENDOR := Buffalo
178   DEVICE_MODEL := BHR-4GRV
179   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
180   IMAGE_SIZE := 32256k
181   IMAGES += factory.bin tftp.bin
182   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
183   IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc BHR-4GRV 1.99 | buffalo-tag BHR-4GRV 3
184   IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
185   SUPPORTED_DEVICES += wzr-hp-g450h
186 endef
187 TARGET_DEVICES += buffalo_bhr-4grv
188
189 define Device/buffalo_bhr-4grv2
190   ATH_SOC := qca9557
191   DEVICE_VENDOR := Buffalo
192   DEVICE_MODEL := BHR-4GRV2
193   IMAGE_SIZE := 16000k
194 endef
195 TARGET_DEVICES += buffalo_bhr-4grv2
196
197 define Device/buffalo_wzr-hp-ag300h
198   ATH_SOC := ar7161
199   DEVICE_VENDOR := Buffalo
200   DEVICE_MODEL := WZR-HP-AG300H
201   IMAGE_SIZE := 32256k
202   IMAGES += factory.bin tftp.bin
203   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
204   IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-AG300H 1.99 | buffalo-tag WZR-HP-AG300H 3
205   IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
206   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
207   SUPPORTED_DEVICES += wzr-hp-ag300h
208 endef
209 TARGET_DEVICES += buffalo_wzr-hp-ag300h
210
211 define Device/buffalo_wzr-hp-g302h-a1a0
212   ATH_SOC := ar7242
213   DEVICE_VENDOR := Buffalo
214   DEVICE_MODEL := WZR-HP-G302H
215   DEVICE_VARIANT := A1A0
216   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
217   IMAGE_SIZE := 32128k
218   IMAGES += factory.bin tftp.bin
219   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
220   IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G302H 1.99 | buffalo-tag WZR-HP-G302H 4
221   IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
222   SUPPORTED_DEVICES += wzr-hp-g300nh2
223 endef
224 TARGET_DEVICES += buffalo_wzr-hp-g302h-a1a0
225
226 define Device/buffalo_wzr-hp-g450h
227   ATH_SOC := ar7242
228   DEVICE_VENDOR := Buffalo
229   DEVICE_MODEL := WZR-HP-G450H/WZR-450HP
230   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
231   IMAGE_SIZE := 32256k
232   IMAGES += factory.bin tftp.bin
233   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
234   IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G450H 1.99 | buffalo-tag WZR-HP-G450H 3
235   IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
236   SUPPORTED_DEVICES += wzr-hp-g450h
237 endef
238 TARGET_DEVICES += buffalo_wzr-hp-g450h
239
240 define Device/comfast_cf-e110n-v2
241   ATH_SOC := qca9533
242   DEVICE_VENDOR := COMFAST
243   DEVICE_MODEL := CF-E110N
244   DEVICE_VARIANT := v2
245   DEVICE_PACKAGES := rssileds kmod-leds-gpio -swconfig -uboot-envtools
246   IMAGE_SIZE := 16192k
247 endef
248 TARGET_DEVICES += comfast_cf-e110n-v2
249
250 define Device/comfast_cf-e120a-v3
251   ATH_SOC := ar9344
252   DEVICE_VENDOR := COMFAST
253   DEVICE_MODEL := CF-E120A
254   DEVICE_VARIANT := v3
255   DEVICE_PACKAGES := rssileds kmod-leds-gpio -uboot-envtools
256   IMAGE_SIZE := 8000k
257 endef
258 TARGET_DEVICES += comfast_cf-e120a-v3
259
260 define Device/comfast_cf-e314n-v2
261   ATH_SOC := qca9531
262   DEVICE_VENDOR := COMFAST
263   DEVICE_MODEL := CF-E314N
264   DEVICE_VARIANT := v2
265   DEVICE_PACKAGES := rssileds
266   IMAGE_SIZE := 7936k
267 endef
268 TARGET_DEVICES += comfast_cf-e314n-v2
269
270 define Device/comfast_cf-e5
271   ATH_SOC := qca9531
272   DEVICE_VENDOR := COMFAST
273   DEVICE_MODEL := CF-E5/E7
274   DEVICE_PACKAGES := rssileds kmod-leds-gpio kmod-usb-core kmod-usb2 kmod-usb-net \
275         kmod-usb-net-qmi-wwan -swconfig -uboot-envtools
276   IMAGE_SIZE := 16192k
277 endef
278 TARGET_DEVICES += comfast_cf-e5
279
280 define Device/comfast_cf-wr650ac-v1
281   ATH_SOC := qca9558
282   DEVICE_VENDOR := COMFAST
283   DEVICE_MODEL := CF-WR650AC
284   DEVICE_VARIANT := v1
285   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
286   IMAGE_SIZE := 16128k
287 endef
288 TARGET_DEVICES += comfast_cf-wr650ac-v1
289
290 define Device/comfast_cf-wr650ac-v2
291   ATH_SOC := qca9558
292   DEVICE_VENDOR := COMFAST
293   DEVICE_MODEL := CF-WR650AC
294   DEVICE_VARIANT := v2
295   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
296   IMAGE_SIZE := 16000k
297 endef
298 TARGET_DEVICES += comfast_cf-wr650ac-v2
299
300 define Device/devolo_dvl1200e
301   ATH_SOC := qca9558
302   DEVICE_VENDOR := devolo
303   DEVICE_MODEL := WiFi pro 1200e
304   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
305   IMAGE_SIZE := 15936k
306 endef
307 TARGET_DEVICES += devolo_dvl1200e
308
309 define Device/devolo_dvl1200i
310   ATH_SOC := qca9558
311   DEVICE_VENDOR := devolo
312   DEVICE_MODEL := WiFi pro 1200i
313   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
314   IMAGE_SIZE := 15936k
315 endef
316 TARGET_DEVICES += devolo_dvl1200i
317
318 define Device/devolo_dvl1750c
319   ATH_SOC := qca9558
320   DEVICE_VENDOR := devolo
321   DEVICE_MODEL := WiFi pro 1750c
322   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
323   IMAGE_SIZE := 15936k
324 endef
325 TARGET_DEVICES += devolo_dvl1750c
326
327 define Device/devolo_dvl1750e
328   ATH_SOC := qca9558
329   DEVICE_VENDOR := devolo
330   DEVICE_MODEL := WiFi pro 1750e
331   DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
332   IMAGE_SIZE := 15936k
333 endef
334 TARGET_DEVICES += devolo_dvl1750e
335
336 define Device/devolo_dvl1750i
337   ATH_SOC := qca9558
338   DEVICE_VENDOR := devolo
339   DEVICE_MODEL := WiFi pro 1750i
340   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
341   IMAGE_SIZE := 15936k
342 endef
343 TARGET_DEVICES += devolo_dvl1750i
344
345 define Device/devolo_dvl1750x
346   ATH_SOC := qca9558
347   DEVICE_VENDOR := devolo
348   DEVICE_MODEL := WiFi pro 1750x
349   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
350   IMAGE_SIZE := 15936k
351 endef
352 TARGET_DEVICES += devolo_dvl1750x
353
354 define Device/dlink_dir-825-b1
355   ATH_SOC := ar7161
356   DEVICE_VENDOR := D-Link
357   DEVICE_MODEL := DIR-825
358   DEVICE_VARIANT := B1
359   IMAGE_SIZE := 6208k
360   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
361   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
362   SUPPORTED_DEVICES += dir-825-b1
363 endef
364 TARGET_DEVICES += dlink_dir-825-b1
365
366 define Device/dlink_dir-825-c1
367   ATH_SOC := ar9344
368   DEVICE_VENDOR := D-Link
369   DEVICE_MODEL := DIR-825
370   DEVICE_VARIANT := C1
371   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
372   SUPPORTED_DEVICES += dir-825-c1
373   IMAGE_SIZE := 15936k
374   IMAGES := factory.bin sysupgrade.bin
375   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
376   IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
377         append-string 00DB120AR9344-RT-101214-00 | check-size $$$$(IMAGE_SIZE)
378   IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
379 endef
380 TARGET_DEVICES += dlink_dir-825-c1
381
382 define Device/dlink_dir-835-a1
383   ATH_SOC := ar9344
384   DEVICE_VENDOR := D-Link
385   DEVICE_MODEL := DIR-835
386   DEVICE_VARIANT := A1
387   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-leds-reset kmod-owl-loader
388   SUPPORTED_DEVICES += dir-835-a1
389   IMAGE_SIZE := 15936k
390   IMAGES := factory.bin sysupgrade.bin
391   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
392   IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
393         append-string 00DB120AR9344-RT-101214-00 | check-size $$$$(IMAGE_SIZE)
394   IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
395 endef
396 TARGET_DEVICES += dlink_dir-835-a1
397
398 define Device/dlink_dir-859-a1
399   $(Device/seama)
400   ATH_SOC := qca9563
401   DEVICE_VENDOR := D-Link
402   DEVICE_MODEL := DIR-859
403   DEVICE_VARIANT := A1
404   IMAGE_SIZE := 15872k
405   DEVICE_PACKAGES :=  kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
406   SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
407   SUPPORTED_DEVICES += dir-859-a1
408 endef
409 TARGET_DEVICES += dlink_dir-859-a1
410
411 define Device/dlink_dir-842-c
412   ATH_SOC := qca9563
413   DEVICE_VENDOR := D-Link
414   DEVICE_MODEL := DIR-842
415   KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
416   KERNEL_INITRAMFS := $$(KERNEL) | seama
417   IMAGES += factory.bin
418   SEAMA_MTDBLOCK := 5
419   SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842
420   # 64 bytes offset:
421   # - 28 bytes seama_header
422   # - 36 bytes of META data (4-bytes aligned)
423   IMAGE/default := append-kernel | uImage lzma | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
424   IMAGE/sysupgrade.bin := \
425         $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
426   IMAGE/factory.bin := \
427         $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE)
428   IMAGE_SIZE := 15680k
429 endef
430
431 define Device/dlink_dir-842-c1
432   $(Device/dlink_dir-842-c)
433   DEVICE_VARIANT := C1
434   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
435 endef
436 TARGET_DEVICES += dlink_dir-842-c1
437
438 define Device/dlink_dir-842-c2
439   $(Device/dlink_dir-842-c)
440   DEVICE_VARIANT := C2
441   DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
442 endef
443 TARGET_DEVICES += dlink_dir-842-c2
444
445 define Device/dlink_dir-842-c3
446   $(Device/dlink_dir-842-c)
447   DEVICE_VARIANT := C3
448   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
449 endef
450 TARGET_DEVICES += dlink_dir-842-c3
451
452 define Device/elecom_wrc-1750ghbk2-i
453   ATH_SOC := qca9563
454   DEVICE_VENDOR := ELECOM
455   DEVICE_MODEL := WRC-1750GHBK2-I/C
456   IMAGE_SIZE := 15808k
457   KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
458         add-elecom-factory-initramfs RN68 WRC-1750GHBK2
459   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
460 endef
461 TARGET_DEVICES += elecom_wrc-1750ghbk2-i
462
463 define Device/elecom_wrc-300ghbk2-i
464   ATH_SOC := qca9563
465   DEVICE_VENDOR := ELECOM
466   DEVICE_MODEL := WRC-300GHBK2-I
467   IMAGE_SIZE := 7616k
468   KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
469         add-elecom-factory-initramfs RN51 WRC-300GHBK2-I
470 endef
471 TARGET_DEVICES += elecom_wrc-300ghbk2-i
472
473 define Device/embeddedwireless_dorin
474   ATH_SOC := ar9331
475   DEVICE_VENDOR := Embedded Wireless
476   DEVICE_MODEL := Dorin
477   DEVICE_PACKAGES := kmod-usb-chipidea2
478   IMAGE_SIZE := 16000k
479 endef
480 TARGET_DEVICES += embeddedwireless_dorin
481
482 define Device/engenius_ecb1750
483   ATH_SOC := qca9558
484   DEVICE_VENDOR := EnGenius
485   DEVICE_MODEL := ECB1750
486   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
487   IMAGE_SIZE := 15680k
488   IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
489     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
490     senao-header -r 0x101 -p 0x6d -t 2
491   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
492 endef
493 TARGET_DEVICES += engenius_ecb1750
494
495 define Device/engenius_epg5000
496   ATH_SOC := qca9558
497   DEVICE_VENDOR := EnGenius
498   DEVICE_MODEL := EPG5000
499   DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
500   IMAGE_SIZE := 14656k
501   IMAGES += factory.dlf
502   IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
503         append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
504         senao-header -r 0x101 -p 0x71 -t 2
505   SUPPORTED_DEVICES += epg5000
506 endef
507 TARGET_DEVICES += engenius_epg5000
508
509 define Device/engenius_ews511ap
510   ATH_SOC := qca9531
511   DEVICE_VENDOR := EnGenius
512   DEVICE_MODEL := EWS511AP
513   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
514   IMAGE_SIZE := 16000k
515 endef
516 TARGET_DEVICES += engenius_ews511ap
517
518 define Device/etactica_eg200
519   ATH_SOC := ar9331
520   DEVICE_VENDOR := eTactica
521   DEVICE_MODEL := EG200
522   DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
523         kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage  kmod-fs-ext4
524   IMAGE_SIZE := 16000k
525   SUPPORTED_DEVICES += rme-eg200
526 endef
527 TARGET_DEVICES += etactica_eg200
528
529 define Device/glinet_gl-ar150
530   ATH_SOC := ar9330
531   DEVICE_VENDOR := GL.iNet
532   DEVICE_MODEL := GL-AR150
533   DEVICE_PACKAGES := kmod-usb-chipidea2
534   IMAGE_SIZE := 16000k
535   SUPPORTED_DEVICES += gl-ar150
536 endef
537 TARGET_DEVICES += glinet_gl-ar150
538
539 define Device/glinet_gl-ar300m-common-nor
540   ATH_SOC := qca9531
541   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
542   IMAGE_SIZE := 16000k
543   SUPPORTED_DEVICES += gl-ar300m
544 endef
545
546 define Device/glinet_gl-ar300m-lite
547   $(Device/glinet_gl-ar300m-common-nor)
548   DEVICE_VENDOR := GL.iNet
549   DEVICE_MODEL := GL-AR300M-Lite
550 endef
551 TARGET_DEVICES += glinet_gl-ar300m-lite
552
553 define Device/glinet_gl-ar300m-nor
554   $(Device/glinet_gl-ar300m-common-nor)
555   DEVICE_VENDOR := GL.iNet
556   DEVICE_MODEL := GL-AR300M
557 endef
558 TARGET_DEVICES += glinet_gl-ar300m-nor
559
560 define Device/glinet_gl-ar750s
561   ATH_SOC := qca9563
562   DEVICE_VENDOR := GL.iNet
563   DEVICE_MODEL := GL-AR750S
564   DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct block-mount
565   IMAGE_SIZE := 16000k
566   SUPPORTED_DEVICES += gl-ar750s
567 endef
568 TARGET_DEVICES += glinet_gl-ar750s
569
570 define Device/glinet_gl-x750
571   ATH_SOC := qca9531
572   DEVICE_VENDOR := GL.iNet
573   DEVICE_MODEL := GL-X750
574   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
575   IMAGE_SIZE := 16000k
576 endef
577 TARGET_DEVICES += glinet_gl-x750
578
579 define Device/iodata_etg3-r
580   ATH_SOC := ar9342
581   DEVICE_VENDOR := I-O DATA
582   DEVICE_MODEL := ETG3-R
583   IMAGE_SIZE := 7680k
584   DEVICE_PACKAGES := -iwinfo -kmod-ath9k -wpad-basic
585 endef
586 TARGET_DEVICES += iodata_etg3-r
587
588 define Device/iodata_wn-ac1167dgr
589   ATH_SOC := qca9557
590   DEVICE_VENDOR := I-O DATA
591   DEVICE_MODEL := WN-AC1167DGR
592   IMAGE_SIZE := 14656k
593   IMAGES += factory.bin
594   IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
595     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
596     senao-header -r 0x30a -p 0x61 -t 2
597   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
598 endef
599 TARGET_DEVICES += iodata_wn-ac1167dgr
600
601 define Device/iodata_wn-ac1600dgr
602   ATH_SOC := qca9557
603   DEVICE_VENDOR := I-O DATA
604   DEVICE_MODEL := WN-AC1600DGR
605   IMAGE_SIZE := 14656k
606   IMAGES += factory.bin
607   IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
608     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
609     senao-header -r 0x30a -p 0x60 -t 2 -v 200
610   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
611 endef
612 TARGET_DEVICES += iodata_wn-ac1600dgr
613
614 define Device/iodata_wn-ac1600dgr2
615   ATH_SOC := qca9557
616   DEVICE_VENDOR := I-O DATA
617   DEVICE_MODEL := WN-AC1600DGR2/DGR3
618   IMAGE_SIZE := 14656k
619   IMAGES += dgr2-dgr3-factory.bin
620   IMAGE/dgr2-dgr3-factory.bin := \
621     append-kernel | pad-to $$$$(BLOCKSIZE) | \
622     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
623     senao-header -r 0x30a -p 0x60 -t 2 -v 200
624   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
625 endef
626 TARGET_DEVICES += iodata_wn-ac1600dgr2
627
628 define Device/iodata_wn-ag300dgr
629   ATH_SOC := ar1022
630   DEVICE_VENDOR := I-O DATA
631   DEVICE_MODEL := WN-AG300DGR
632   IMAGE_SIZE := 15424k
633   IMAGES += factory.bin
634   IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
635     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
636     senao-header -r 0x30a -p 0x47 -t 2
637   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
638 endef
639 TARGET_DEVICES += iodata_wn-ag300dgr
640
641 define Device/jjplus_ja76pf2
642   ATH_SOC := ar7161
643   DEVICE_VENDOR := jjPlus
644   DEVICE_MODEL := JA76PF2
645   DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-mini -uboot-envtools fconfig
646   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | check-size $$$$(IMAGE_SIZE)
647 #  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
648   KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
649   KERNEL_INITRAMFS := kernel-bin | append-dtb
650   IMAGE_SIZE := 16000k
651 endef
652 TARGET_DEVICES += jjplus_ja76pf2
653
654 define Device/librerouter_librerouter-v1
655   ATH_SOC := qca9558
656   DEVICE_VENDOR := Librerouter
657   DEVICE_MODEL := LibreRouter
658   DEVICE_VARIANT := v1
659   IMAGE_SIZE := 7936k
660   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
661 endef
662 TARGET_DEVICES += librerouter_librerouter-v1
663
664 define Device/nec_wg1200cr
665   ATH_SOC := qca9563
666   DEVICE_VENDOR := NEC
667   DEVICE_MODEL := Aterm WG1200CR
668   IMAGE_SIZE := 7616k
669   SEAMA_MTDBLOCK := 6
670   SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
671   IMAGES += factory.bin
672   IMAGE/default := \
673     append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
674   IMAGE/sysupgrade.bin := \
675     $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
676   IMAGE/factory.bin := \
677     $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | nec-enc 9gsiy9nzep452pad | \
678     check-size $$$$(IMAGE_SIZE)
679   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
680 endef
681 TARGET_DEVICES += nec_wg1200cr
682
683 define Device/nec_wg800hp
684   ATH_SOC := qca9563
685   DEVICE_VENDOR := NEC
686   DEVICE_MODEL := Aterm WG800HP
687   IMAGE_SIZE := 7104k
688   IMAGES += factory.bin
689   IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
690     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
691     xor-image -p 6A57190601121E4C004C1E1201061957 -x | \
692     nec-fw LASER_ATERM
693   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct-htt
694 endef
695 TARGET_DEVICES += nec_wg800hp
696
697 define Device/ocedo_koala
698   ATH_SOC := qca9558
699   DEVICE_VENDOR := Ocedo
700   DEVICE_MODEL := Koala
701   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
702   SUPPORTED_DEVICES += koala
703   IMAGE_SIZE := 7424k
704   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
705 endef
706 TARGET_DEVICES += ocedo_koala
707
708 define Device/ocedo_raccoon
709   ATH_SOC := ar9344
710   DEVICE_VENDOR := Ocedo
711   DEVICE_MODEL := Raccoon
712   IMAGE_SIZE := 7424k
713   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
714 endef
715 TARGET_DEVICES += ocedo_raccoon
716
717 define Device/ocedo_ursus
718   ATH_SOC := qca9558
719   DEVICE_VENDOR := Ocedo
720   DEVICE_MODEL := Ursus
721   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
722   IMAGE_SIZE := 7424k
723   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
724 endef
725 TARGET_DEVICES += ocedo_ursus
726
727 define Device/openmesh_om5p-ac-v2
728   ATH_SOC := qca9558
729   DEVICE_VENDOR := OpenMesh
730   DEVICE_MODEL := OM5P-AC
731   DEVICE_VARIANT := v2
732   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct om-watchdog
733   IMAGE_SIZE := 7808k
734   SUPPORTED_DEVICES += om5p-acv2
735 endef
736 TARGET_DEVICES += openmesh_om5p-ac-v2
737
738 define Device/pcs_cap324
739   ATH_SOC := ar9344
740   DEVICE_VENDOR := PowerCloud Systems
741   DEVICE_MODEL := CAP324
742   IMAGE_SIZE := 16000k
743   SUPPORTED_DEVICES += cap324
744 endef
745 TARGET_DEVICES += pcs_cap324
746
747 define Device/pcs_cr3000
748   ATH_SOC := ar9341
749   DEVICE_VENDOR := PowerCloud Systems
750   DEVICE_MODEL := CR3000
751   IMAGE_SIZE := 7808k
752   SUPPORTED_DEVICES += cr3000
753 endef
754 TARGET_DEVICES += pcs_cr3000
755
756 define Device/pcs_cr5000
757   ATH_SOC := ar9344
758   DEVICE_VENDOR := PowerCloud Systems
759   DEVICE_MODEL := CR5000
760   DEVICE_PACKAGES := kmod-usb2 kmod-usb-core
761   IMAGE_SIZE := 7808k
762   SUPPORTED_DEVICES += cr5000
763 endef
764 TARGET_DEVICES += pcs_cr5000
765
766 define Device/netgear_wndr3x00
767   ATH_SOC := ar7161
768   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
769   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
770   $(Device/netgear_ath79)
771 endef
772
773 define Device/netgear_ex7300_ex6400
774   ATH_SOC := qca9558
775   NETGEAR_KERNEL_MAGIC := 0x27051956
776   NETGEAR_BOARD_ID := EX7300series
777   NETGEAR_HW_ID := 29765104+16+0+128
778   IMAGE_SIZE := 15552k
779   IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | netgear-rootfs | pad-rootfs
780   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
781   $(Device/netgear_ath79)
782 endef
783
784 define Device/netgear_ex6400
785   $(Device/netgear_ex7300_ex6400)
786   DEVICE_MODEL := EX6400
787 endef
788 TARGET_DEVICES += netgear_ex6400
789
790 define Device/netgear_ex7300
791   $(Device/netgear_ex7300_ex6400)
792   DEVICE_MODEL := EX7300
793 endef
794 TARGET_DEVICES += netgear_ex7300
795
796 define Device/netgear_wndr3700
797   $(Device/netgear_wndr3x00)
798   DEVICE_MODEL := WNDR3700
799   DEVICE_VARIANT := v1
800   NETGEAR_KERNEL_MAGIC := 0x33373030
801   NETGEAR_BOARD_ID := WNDR3700
802   IMAGE_SIZE := 7680k
803   IMAGES += factory-NA.img
804   IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
805   SUPPORTED_DEVICES += wndr3700
806 endef
807 TARGET_DEVICES += netgear_wndr3700
808
809 define Device/netgear_wndr3700v2
810   $(Device/netgear_wndr3x00)
811   DEVICE_MODEL := WNDR3700
812   DEVICE_VARIANT := v2
813   NETGEAR_KERNEL_MAGIC := 0x33373031
814   NETGEAR_BOARD_ID := WNDR3700v2
815   NETGEAR_HW_ID := 29763654+16+64
816   IMAGE_SIZE := 15872k
817   SUPPORTED_DEVICES += wndr3700v2
818 endef
819 TARGET_DEVICES += netgear_wndr3700v2
820
821 define Device/pisen_ts-d084
822   $(Device/tplink-8mlzma)
823   ATH_SOC := ar9331
824   DEVICE_VENDOR := PISEN
825   DEVICE_MODEL := TS-D084
826   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2
827   TPLINK_HWID := 0x07030101
828 endef
829 TARGET_DEVICES += pisen_ts-d084
830
831 define Device/pisen_wmb001n
832   ATH_SOC := ar9341
833   DEVICE_VENDOR := PISEN
834   DEVICE_MODEL := WMB001N
835   IMAGE_SIZE := 14080k
836   DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-usb2
837   LOADER_TYPE := bin
838   LOADER_FLASH_OFFS := 0x20000
839   COMPILE := loader-$(1).bin loader-$(1).uImage
840   COMPILE/loader-$(1).bin := loader-okli-compile
841   COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | uImage lzma
842   KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
843   IMAGES += factory.bin
844   IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
845 endef
846 TARGET_DEVICES += pisen_wmb001n
847
848 define Device/pisen_wmm003n
849   $(Device/tplink-8mlzma)
850   ATH_SOC := ar9331
851   DEVICE_VENDOR := PISEN
852   DEVICE_MODEL := Cloud Easy Power (WMM003N)
853   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2
854   TPLINK_HWID := 0x07030101
855 endef
856 TARGET_DEVICES += pisen_wmm003n
857
858 define Device/netgear_wndr3800
859   $(Device/netgear_wndr3x00)
860   DEVICE_MODEL := WNDR3800
861   NETGEAR_KERNEL_MAGIC := 0x33373031
862   NETGEAR_BOARD_ID := WNDR3800
863   NETGEAR_HW_ID := 29763654+16+128
864   IMAGE_SIZE := 15872k
865   SUPPORTED_DEVICES += wndr3800
866 endef
867 TARGET_DEVICES += netgear_wndr3800
868
869 define Device/phicomm_k2t
870   ATH_SOC := qca9563
871   DEVICE_VENDOR := Phicomm
872   DEVICE_MODEL := K2T
873   IMAGE_SIZE := 15744k
874   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
875   DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct ath10k-firmware-qca9888-ct
876 endef
877 TARGET_DEVICES += phicomm_k2t
878
879 define Device/qihoo_c301
880   $(Device/seama)
881   ATH_SOC := ar9344
882   DEVICE_VENDOR := Qihoo
883   DEVICE_MODEL := C301
884   DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct uboot-envtools
885   IMAGE_SIZE := 15744k
886   SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
887   SUPPORTED_DEVICES += qihoo-c301
888 endef
889 TARGET_DEVICES += qihoo_c301
890
891 define Device/rosinson_wr818
892   ATH_SOC := qca9563
893   DEVICE_VENDOR := Rosinson
894   DEVICE_MODEL := WR818
895   IMAGE_SIZE := 15872k
896   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
897 endef
898 TARGET_DEVICES += rosinson_wr818
899
900 define Device/trendnet_tew-823dru
901   ATH_SOC := qca9558
902   DEVICE_VENDOR := Trendnet
903   DEVICE_MODEL := TEW-823DRU
904   DEVICE_VARIANT := v1.0R
905   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
906   SUPPORTED_DEVICES += tew-823dru
907   IMAGE_SIZE := 15296k
908   IMAGES := factory.bin sysupgrade.bin
909   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
910   IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
911         append-string 00AP135AR9558-RT-131129-00 | check-size $$$$(IMAGE_SIZE)
912   IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
913 endef
914 TARGET_DEVICES += trendnet_tew-823dru
915
916 define Device/wd_mynet-n750
917   $(Device/seama)
918   ATH_SOC := ar9344
919   DEVICE_VENDOR := Western Digital
920   DEVICE_MODEL := My Net N750
921   IMAGE_SIZE := 15872k
922   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
923   SEAMA_SIGNATURE := wrgnd13_wd_av
924   SUPPORTED_DEVICES += mynet-n750
925 endef
926 TARGET_DEVICES += wd_mynet-n750
927
928 define Device/wd_mynet-wifi-rangeextender
929   ATH_SOC := ar9344
930   DEVICE_VENDOR := Western Digital
931   DEVICE_MODEL := My Net Wi-Fi Range Extender
932   DEVICE_PACKAGES := rssileds nvram -swconfig
933   IMAGE_SIZE := 7808k
934   ADDPATTERN_ID := mynet-rext
935   ADDPATTERN_VERSION := 1.00.01
936   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
937         addpattern | append-metadata
938   SUPPORTED_DEVICES += mynet-rext
939 endef
940 TARGET_DEVICES += wd_mynet-wifi-rangeextender
941
942 define Device/winchannel_wb2000
943   ATH_SOC := ar9344
944   DEVICE_VENDOR := Winchannel
945   DEVICE_MODEL := WB2000
946   IMAGE_SIZE := 15872k
947   DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 kmod-usb-ledtrig-usbport
948 endef
949 TARGET_DEVICES += winchannel_wb2000
950
951 define Device/xiaomi_mi-router-4q
952   ATH_SOC := qca9561
953   DEVICE_VENDOR := Xiaomi
954   DEVICE_MODEL := Mi Router 4Q
955   IMAGE_SIZE := 14336k
956 endef
957 TARGET_DEVICES += xiaomi_mi-router-4q
958
959 define Device/yuncore_a770
960   ATH_SOC := qca9531
961   DEVICE_VENDOR := YunCore
962   DEVICE_MODEL := A770
963   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
964   IMAGE_SIZE := 16000k
965 endef
966 TARGET_DEVICES += yuncore_a770
967
968 define Device/zbtlink_zbt-wd323
969   ATH_SOC := ar9344
970   DEVICE_VENDOR := ZBT
971   DEVICE_MODEL := WD323
972   IMAGE_SIZE := 16000k
973   DEVICE_PACKAGES := kmod-usb2 kmod-i2c-core kmod-i2c-gpio kmod-rtc-pcf8563 \
974                      kmod-usb-serial kmod-usb-serial-cp210x uqmi
975 endef
976 TARGET_DEVICES += zbtlink_zbt-wd323