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