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