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