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