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