ath79: add support for Comfast WR650AC v1/v2
[openwrt/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 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-e314n-v2
260 ATH_SOC := qca9531
261 DEVICE_VENDOR := COMFAST
262 DEVICE_MODEL := CF-E314N
263 DEVICE_VARIANT := v2
264 DEVICE_PACKAGES := rssileds
265 endef
266 TARGET_DEVICES += comfast_cf-e314n-v2
267
268 define Device/comfast_cf-e5
269 ATH_SOC := qca9531
270 DEVICE_VENDOR := COMFAST
271 DEVICE_MODEL := CF-E5/E7
272 DEVICE_PACKAGES := rssileds kmod-leds-gpio kmod-usb-core kmod-usb2 kmod-usb-net \
273 kmod-usb-net-qmi-wwan -swconfig -uboot-envtools
274 IMAGE_SIZE := 16192k
275 endef
276 TARGET_DEVICES += comfast_cf-e5
277
278 define Device/comfast_cf-wr650ac-v1
279 ATH_SOC := qca9558
280 DEVICE_VENDOR := COMFAST
281 DEVICE_MODEL := CF-WR650AC
282 DEVICE_VARIANT := v1
283 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
284 endef
285 TARGET_DEVICES += comfast_cf-wr650ac-v1
286
287 define Device/comfast_cf-wr650ac-v2
288 ATH_SOC := qca9558
289 DEVICE_VENDOR := COMFAST
290 DEVICE_MODEL := CF-WR650AC
291 DEVICE_VARIANT := v2
292 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
293 endef
294 TARGET_DEVICES += comfast_cf-wr650ac-v2
295
296 define Device/devolo_dvl1200e
297 ATH_SOC := qca9558
298 DEVICE_VENDOR := devolo
299 DEVICE_MODEL := WiFi pro 1200e
300 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
301 IMAGE_SIZE := 15936k
302 endef
303 TARGET_DEVICES += devolo_dvl1200e
304
305 define Device/devolo_dvl1200i
306 ATH_SOC := qca9558
307 DEVICE_VENDOR := devolo
308 DEVICE_MODEL := WiFi pro 1200i
309 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
310 IMAGE_SIZE := 15936k
311 endef
312 TARGET_DEVICES += devolo_dvl1200i
313
314 define Device/devolo_dvl1750c
315 ATH_SOC := qca9558
316 DEVICE_VENDOR := devolo
317 DEVICE_MODEL := WiFi pro 1750c
318 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
319 IMAGE_SIZE := 15936k
320 endef
321 TARGET_DEVICES += devolo_dvl1750c
322
323 define Device/devolo_dvl1750e
324 ATH_SOC := qca9558
325 DEVICE_VENDOR := devolo
326 DEVICE_MODEL := WiFi pro 1750e
327 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
328 IMAGE_SIZE := 15936k
329 endef
330 TARGET_DEVICES += devolo_dvl1750e
331
332 define Device/devolo_dvl1750i
333 ATH_SOC := qca9558
334 DEVICE_VENDOR := devolo
335 DEVICE_MODEL := WiFi pro 1750i
336 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
337 IMAGE_SIZE := 15936k
338 endef
339 TARGET_DEVICES += devolo_dvl1750i
340
341 define Device/devolo_dvl1750x
342 ATH_SOC := qca9558
343 DEVICE_VENDOR := devolo
344 DEVICE_MODEL := WiFi pro 1750x
345 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
346 IMAGE_SIZE := 15936k
347 endef
348 TARGET_DEVICES += devolo_dvl1750x
349
350 define Device/dlink_dir-825-b1
351 ATH_SOC := ar7161
352 DEVICE_VENDOR := D-Link
353 DEVICE_MODEL := DIR-825
354 DEVICE_VARIANT := B1
355 IMAGE_SIZE := 6208k
356 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
357 DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
358 SUPPORTED_DEVICES += dir-825-b1
359 endef
360 TARGET_DEVICES += dlink_dir-825-b1
361
362 define Device/dlink_dir-825-c1
363 ATH_SOC := ar9344
364 DEVICE_VENDOR := D-Link
365 DEVICE_MODEL := DIR-825
366 DEVICE_VARIANT := C1
367 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
368 SUPPORTED_DEVICES += dir-825-c1
369 IMAGE_SIZE := 15936k
370 IMAGES := factory.bin sysupgrade.bin
371 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
372 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
373 append-string 00DB120AR9344-RT-101214-00 | check-size $$$$(IMAGE_SIZE)
374 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
375 endef
376 TARGET_DEVICES += dlink_dir-825-c1
377
378 define Device/dlink_dir-835-a1
379 ATH_SOC := ar9344
380 DEVICE_VENDOR := D-Link
381 DEVICE_MODEL := DIR-835
382 DEVICE_VARIANT := A1
383 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-leds-reset kmod-owl-loader
384 SUPPORTED_DEVICES += dir-835-a1
385 IMAGE_SIZE := 15936k
386 IMAGES := factory.bin sysupgrade.bin
387 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
388 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
389 append-string 00DB120AR9344-RT-101214-00 | check-size $$$$(IMAGE_SIZE)
390 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
391 endef
392 TARGET_DEVICES += dlink_dir-835-a1
393
394 define Device/dlink_dir-859-a1
395 $(Device/seama)
396 ATH_SOC := qca9563
397 DEVICE_VENDOR := D-Link
398 DEVICE_MODEL := DIR-859
399 DEVICE_VARIANT := A1
400 IMAGE_SIZE := 15872k
401 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
402 SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
403 SUPPORTED_DEVICES += dir-859-a1
404 endef
405 TARGET_DEVICES += dlink_dir-859-a1
406
407 define Device/dlink_dir-842-c
408 ATH_SOC := qca9563
409 DEVICE_VENDOR := D-Link
410 DEVICE_MODEL := DIR-842
411 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
412 KERNEL_INITRAMFS := $$(KERNEL) | seama
413 IMAGES += factory.bin
414 SEAMA_MTDBLOCK := 5
415 SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842
416 # 64 bytes offset:
417 # - 28 bytes seama_header
418 # - 36 bytes of META data (4-bytes aligned)
419 IMAGE/default := append-kernel | uImage lzma | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
420 IMAGE/sysupgrade.bin := \
421 $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
422 IMAGE/factory.bin := \
423 $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE)
424 IMAGE_SIZE := 15680k
425 endef
426
427 define Device/dlink_dir-842-c1
428 $(Device/dlink_dir-842-c)
429 DEVICE_VARIANT := C1
430 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
431 endef
432 TARGET_DEVICES += dlink_dir-842-c1
433
434 define Device/dlink_dir-842-c2
435 $(Device/dlink_dir-842-c)
436 DEVICE_VARIANT := C2
437 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
438 endef
439 TARGET_DEVICES += dlink_dir-842-c2
440
441 define Device/dlink_dir-842-c3
442 $(Device/dlink_dir-842-c)
443 DEVICE_VARIANT := C3
444 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
445 endef
446 TARGET_DEVICES += dlink_dir-842-c3
447
448 define Device/elecom_wrc-1750ghbk2-i
449 ATH_SOC := qca9563
450 DEVICE_VENDOR := ELECOM
451 DEVICE_MODEL := WRC-1750GHBK2-I/C
452 IMAGE_SIZE := 15808k
453 KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
454 add-elecom-factory-initramfs RN68 WRC-1750GHBK2
455 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
456 endef
457 TARGET_DEVICES += elecom_wrc-1750ghbk2-i
458
459 define Device/elecom_wrc-300ghbk2-i
460 ATH_SOC := qca9563
461 DEVICE_VENDOR := ELECOM
462 DEVICE_MODEL := WRC-300GHBK2-I
463 IMAGE_SIZE := 7616k
464 KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
465 add-elecom-factory-initramfs RN51 WRC-300GHBK2-I
466 endef
467 TARGET_DEVICES += elecom_wrc-300ghbk2-i
468
469 define Device/embeddedwireless_dorin
470 ATH_SOC := ar9331
471 DEVICE_VENDOR := Embedded Wireless
472 DEVICE_MODEL := Dorin
473 DEVICE_PACKAGES := kmod-usb-chipidea2
474 IMAGE_SIZE := 16000k
475 endef
476 TARGET_DEVICES += embeddedwireless_dorin
477
478 define Device/engenius_ecb1750
479 ATH_SOC := qca9558
480 DEVICE_VENDOR := EnGenius
481 DEVICE_MODEL := ECB1750
482 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
483 IMAGE_SIZE := 15680k
484 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
485 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
486 senao-header -r 0x101 -p 0x6d -t 2
487 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
488 endef
489 TARGET_DEVICES += engenius_ecb1750
490
491 define Device/engenius_epg5000
492 ATH_SOC := qca9558
493 DEVICE_VENDOR := EnGenius
494 DEVICE_MODEL := EPG5000
495 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
496 IMAGE_SIZE := 14656k
497 IMAGES += factory.dlf
498 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
499 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
500 senao-header -r 0x101 -p 0x71 -t 2
501 SUPPORTED_DEVICES += epg5000
502 endef
503 TARGET_DEVICES += engenius_epg5000
504
505 define Device/engenius_ews511ap
506 ATH_SOC := qca9531
507 DEVICE_VENDOR := EnGenius
508 DEVICE_MODEL := EWS511AP
509 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
510 IMAGE_SIZE := 16000k
511 endef
512 TARGET_DEVICES += engenius_ews511ap
513
514 define Device/etactica_eg200
515 ATH_SOC := ar9331
516 DEVICE_VENDOR := eTactica
517 DEVICE_MODEL := EG200
518 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
519 kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
520 IMAGE_SIZE := 16000k
521 SUPPORTED_DEVICES += rme-eg200
522 endef
523 TARGET_DEVICES += etactica_eg200
524
525 define Device/glinet_gl-ar150
526 ATH_SOC := ar9330
527 DEVICE_VENDOR := GL.iNet
528 DEVICE_MODEL := GL-AR150
529 DEVICE_PACKAGES := kmod-usb-chipidea2
530 IMAGE_SIZE := 16000k
531 SUPPORTED_DEVICES += gl-ar150
532 endef
533 TARGET_DEVICES += glinet_gl-ar150
534
535 define Device/glinet_gl-ar300m-common-nor
536 ATH_SOC := qca9531
537 DEVICE_PACKAGES := kmod-usb-core kmod-usb2
538 IMAGE_SIZE := 16000k
539 SUPPORTED_DEVICES += gl-ar300m
540 endef
541
542 define Device/glinet_gl-ar300m-lite
543 $(Device/glinet_gl-ar300m-common-nor)
544 DEVICE_VENDOR := GL.iNet
545 DEVICE_MODEL := GL-AR300M-Lite
546 endef
547 TARGET_DEVICES += glinet_gl-ar300m-lite
548
549 define Device/glinet_gl-ar300m-nor
550 $(Device/glinet_gl-ar300m-common-nor)
551 DEVICE_VENDOR := GL.iNet
552 DEVICE_MODEL := GL-AR300M
553 endef
554 TARGET_DEVICES += glinet_gl-ar300m-nor
555
556 define Device/glinet_gl-ar750s
557 ATH_SOC := qca9563
558 DEVICE_VENDOR := GL.iNet
559 DEVICE_MODEL := GL-AR750S
560 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct block-mount
561 IMAGE_SIZE := 16000k
562 SUPPORTED_DEVICES += gl-ar750s
563 endef
564 TARGET_DEVICES += glinet_gl-ar750s
565
566 define Device/glinet_gl-x750
567 ATH_SOC := qca9531
568 DEVICE_VENDOR := GL.iNet
569 DEVICE_MODEL := GL-X750
570 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
571 IMAGE_SIZE := 16000k
572 endef
573 TARGET_DEVICES += glinet_gl-x750
574
575 define Device/iodata_etg3-r
576 ATH_SOC := ar9342
577 DEVICE_VENDOR := I-O DATA
578 DEVICE_MODEL := ETG3-R
579 IMAGE_SIZE := 7680k
580 DEVICE_PACKAGES := -iwinfo -kmod-ath9k -wpad-basic
581 endef
582 TARGET_DEVICES += iodata_etg3-r
583
584 define Device/iodata_wn-ac1167dgr
585 ATH_SOC := qca9557
586 DEVICE_VENDOR := I-O DATA
587 DEVICE_MODEL := WN-AC1167DGR
588 IMAGE_SIZE := 14656k
589 IMAGES += factory.bin
590 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
591 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
592 senao-header -r 0x30a -p 0x61 -t 2
593 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
594 endef
595 TARGET_DEVICES += iodata_wn-ac1167dgr
596
597 define Device/iodata_wn-ac1600dgr
598 ATH_SOC := qca9557
599 DEVICE_VENDOR := I-O DATA
600 DEVICE_MODEL := WN-AC1600DGR
601 IMAGE_SIZE := 14656k
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 0x60 -t 2 -v 200
606 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
607 endef
608 TARGET_DEVICES += iodata_wn-ac1600dgr
609
610 define Device/iodata_wn-ac1600dgr2
611 ATH_SOC := qca9557
612 DEVICE_VENDOR := I-O DATA
613 DEVICE_MODEL := WN-AC1600DGR2/DGR3
614 IMAGE_SIZE := 14656k
615 IMAGES += dgr2-dgr3-factory.bin
616 IMAGE/dgr2-dgr3-factory.bin := \
617 append-kernel | pad-to $$$$(BLOCKSIZE) | \
618 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
619 senao-header -r 0x30a -p 0x60 -t 2 -v 200
620 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
621 endef
622 TARGET_DEVICES += iodata_wn-ac1600dgr2
623
624 define Device/iodata_wn-ag300dgr
625 ATH_SOC := ar1022
626 DEVICE_VENDOR := I-O DATA
627 DEVICE_MODEL := WN-AG300DGR
628 IMAGE_SIZE := 15424k
629 IMAGES += factory.bin
630 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
631 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
632 senao-header -r 0x30a -p 0x47 -t 2
633 DEVICE_PACKAGES := kmod-usb-core kmod-usb2
634 endef
635 TARGET_DEVICES += iodata_wn-ag300dgr
636
637 define Device/jjplus_ja76pf2
638 ATH_SOC := ar7161
639 DEVICE_VENDOR := jjPlus
640 DEVICE_MODEL := JA76PF2
641 DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-mini -uboot-envtools fconfig
642 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | check-size $$$$(IMAGE_SIZE)
643 # IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
644 KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
645 KERNEL_INITRAMFS := kernel-bin | append-dtb
646 IMAGE_SIZE := 16000k
647 endef
648 TARGET_DEVICES += jjplus_ja76pf2
649
650 define Device/librerouter_librerouter-v1
651 ATH_SOC := qca9558
652 DEVICE_VENDOR := Librerouter
653 DEVICE_MODEL := LibreRouter
654 DEVICE_VARIANT := v1
655 IMAGE_SIZE := 7936k
656 DEVICE_PACKAGES := kmod-usb-core kmod-usb2
657 endef
658 TARGET_DEVICES += librerouter_librerouter-v1
659
660 define Device/nec_wg1200cr
661 ATH_SOC := qca9563
662 DEVICE_VENDOR := NEC
663 DEVICE_MODEL := Aterm WG1200CR
664 IMAGE_SIZE := 7616k
665 SEAMA_MTDBLOCK := 6
666 SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
667 IMAGES += factory.bin
668 IMAGE/default := \
669 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
670 IMAGE/sysupgrade.bin := \
671 $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
672 IMAGE/factory.bin := \
673 $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | nec-enc 9gsiy9nzep452pad | \
674 check-size $$$$(IMAGE_SIZE)
675 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
676 endef
677 TARGET_DEVICES += nec_wg1200cr
678
679 define Device/nec_wg800hp
680 ATH_SOC := qca9563
681 DEVICE_VENDOR := NEC
682 DEVICE_MODEL := Aterm WG800HP
683 IMAGE_SIZE := 7104k
684 IMAGES += factory.bin
685 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
686 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
687 xor-image -p 6A57190601121E4C004C1E1201061957 -x | \
688 nec-fw LASER_ATERM
689 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct-htt
690 endef
691 TARGET_DEVICES += nec_wg800hp
692
693 define Device/ocedo_koala
694 ATH_SOC := qca9558
695 DEVICE_VENDOR := Ocedo
696 DEVICE_MODEL := Koala
697 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
698 SUPPORTED_DEVICES += koala
699 IMAGE_SIZE := 7424k
700 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
701 endef
702 TARGET_DEVICES += ocedo_koala
703
704 define Device/ocedo_raccoon
705 ATH_SOC := ar9344
706 DEVICE_VENDOR := Ocedo
707 DEVICE_MODEL := Raccoon
708 IMAGE_SIZE := 7424k
709 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
710 endef
711 TARGET_DEVICES += ocedo_raccoon
712
713 define Device/ocedo_ursus
714 ATH_SOC := qca9558
715 DEVICE_VENDOR := Ocedo
716 DEVICE_MODEL := Ursus
717 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
718 IMAGE_SIZE := 7424k
719 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
720 endef
721 TARGET_DEVICES += ocedo_ursus
722
723 define Device/openmesh_om5p-ac-v2
724 ATH_SOC := qca9558
725 DEVICE_VENDOR := OpenMesh
726 DEVICE_MODEL := OM5P-AC
727 DEVICE_VARIANT := v2
728 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct om-watchdog
729 IMAGE_SIZE := 7808k
730 SUPPORTED_DEVICES += om5p-acv2
731 endef
732 TARGET_DEVICES += openmesh_om5p-ac-v2
733
734 define Device/pcs_cap324
735 ATH_SOC := ar9344
736 DEVICE_VENDOR := PowerCloud Systems
737 DEVICE_MODEL := CAP324
738 IMAGE_SIZE := 16000k
739 SUPPORTED_DEVICES += cap324
740 endef
741 TARGET_DEVICES += pcs_cap324
742
743 define Device/pcs_cr3000
744 ATH_SOC := ar9341
745 DEVICE_VENDOR := PowerCloud Systems
746 DEVICE_MODEL := CR3000
747 IMAGE_SIZE := 7808k
748 SUPPORTED_DEVICES += cr3000
749 endef
750 TARGET_DEVICES += pcs_cr3000
751
752 define Device/pcs_cr5000
753 ATH_SOC := ar9344
754 DEVICE_VENDOR := PowerCloud Systems
755 DEVICE_MODEL := CR5000
756 DEVICE_PACKAGES := kmod-usb2 kmod-usb-core
757 IMAGE_SIZE := 7808k
758 SUPPORTED_DEVICES += cr5000
759 endef
760 TARGET_DEVICES += pcs_cr5000
761
762 define Device/netgear_wndr3x00
763 ATH_SOC := ar7161
764 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
765 DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
766 $(Device/netgear_ath79)
767 endef
768
769 define Device/netgear_ex7300_ex6400
770 ATH_SOC := qca9558
771 NETGEAR_KERNEL_MAGIC := 0x27051956
772 NETGEAR_BOARD_ID := EX7300series
773 NETGEAR_HW_ID := 29765104+16+0+128
774 IMAGE_SIZE := 15552k
775 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | netgear-rootfs | pad-rootfs
776 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
777 $(Device/netgear_ath79)
778 endef
779
780 define Device/netgear_ex6400
781 $(Device/netgear_ex7300_ex6400)
782 DEVICE_MODEL := EX6400
783 endef
784 TARGET_DEVICES += netgear_ex6400
785
786 define Device/netgear_ex7300
787 $(Device/netgear_ex7300_ex6400)
788 DEVICE_MODEL := EX7300
789 endef
790 TARGET_DEVICES += netgear_ex7300
791
792 define Device/netgear_wndr3700
793 $(Device/netgear_wndr3x00)
794 DEVICE_MODEL := WNDR3700
795 DEVICE_VARIANT := v1
796 NETGEAR_KERNEL_MAGIC := 0x33373030
797 NETGEAR_BOARD_ID := WNDR3700
798 IMAGE_SIZE := 7680k
799 IMAGES += factory-NA.img
800 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
801 SUPPORTED_DEVICES += wndr3700
802 endef
803 TARGET_DEVICES += netgear_wndr3700
804
805 define Device/netgear_wndr3700v2
806 $(Device/netgear_wndr3x00)
807 DEVICE_MODEL := WNDR3700
808 DEVICE_VARIANT := v2
809 NETGEAR_KERNEL_MAGIC := 0x33373031
810 NETGEAR_BOARD_ID := WNDR3700v2
811 NETGEAR_HW_ID := 29763654+16+64
812 IMAGE_SIZE := 15872k
813 SUPPORTED_DEVICES += wndr3700v2
814 endef
815 TARGET_DEVICES += netgear_wndr3700v2
816
817 define Device/pisen_wmb001n
818 ATH_SOC := ar9341
819 DEVICE_VENDOR := PISEN
820 DEVICE_MODEL := WMB001N
821 IMAGE_SIZE := 14080k
822 DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-usb2
823 LOADER_TYPE := bin
824 LOADER_FLASH_OFFS := 0x20000
825 COMPILE := loader-$(1).bin loader-$(1).uImage
826 COMPILE/loader-$(1).bin := loader-okli-compile
827 COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | uImage lzma
828 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
829 IMAGES += factory.bin
830 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
831 endef
832 TARGET_DEVICES += pisen_wmb001n
833
834 define Device/pisen_wmm003n
835 $(Device/tplink-8mlzma)
836 ATH_SOC := ar9331
837 DEVICE_VENDOR := PISEN
838 DEVICE_MODEL := Cloud Easy Power (WMM003N)
839 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2
840 TPLINK_HWID := 0x07030101
841 endef
842 TARGET_DEVICES += pisen_wmm003n
843
844 define Device/netgear_wndr3800
845 $(Device/netgear_wndr3x00)
846 DEVICE_MODEL := WNDR3800
847 NETGEAR_KERNEL_MAGIC := 0x33373031
848 NETGEAR_BOARD_ID := WNDR3800
849 NETGEAR_HW_ID := 29763654+16+128
850 IMAGE_SIZE := 15872k
851 SUPPORTED_DEVICES += wndr3800
852 endef
853 TARGET_DEVICES += netgear_wndr3800
854
855 define Device/phicomm_k2t
856 ATH_SOC := qca9563
857 DEVICE_VENDOR := Phicomm
858 DEVICE_MODEL := K2T
859 IMAGE_SIZE := 15744k
860 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
861 DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct ath10k-firmware-qca9888-ct
862 endef
863 TARGET_DEVICES += phicomm_k2t
864
865 define Device/qihoo_c301
866 $(Device/seama)
867 ATH_SOC := ar9344
868 DEVICE_VENDOR := Qihoo
869 DEVICE_MODEL := C301
870 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct uboot-envtools
871 IMAGE_SIZE := 15744k
872 SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
873 SUPPORTED_DEVICES += qihoo-c301
874 endef
875 TARGET_DEVICES += qihoo_c301
876
877 define Device/rosinson_wr818
878 ATH_SOC := qca9563
879 DEVICE_VENDOR := Rosinson
880 DEVICE_MODEL := WR818
881 IMAGE_SIZE := 15872k
882 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
883 endef
884 TARGET_DEVICES += rosinson_wr818
885
886 define Device/trendnet_tew-823dru
887 ATH_SOC := qca9558
888 DEVICE_VENDOR := Trendnet
889 DEVICE_MODEL := TEW-823DRU
890 DEVICE_VARIANT := v1.0R
891 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
892 SUPPORTED_DEVICES += tew-823dru
893 IMAGE_SIZE := 15296k
894 IMAGES := factory.bin sysupgrade.bin
895 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
896 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
897 append-string 00AP135AR9558-RT-131129-00 | check-size $$$$(IMAGE_SIZE)
898 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
899 endef
900 TARGET_DEVICES += trendnet_tew-823dru
901
902 define Device/wd_mynet-n750
903 $(Device/seama)
904 ATH_SOC := ar9344
905 DEVICE_VENDOR := Western Digital
906 DEVICE_MODEL := My Net N750
907 IMAGE_SIZE := 15872k
908 DEVICE_PACKAGES := kmod-usb-core kmod-usb2
909 SEAMA_SIGNATURE := wrgnd13_wd_av
910 SUPPORTED_DEVICES += mynet-n750
911 endef
912 TARGET_DEVICES += wd_mynet-n750
913
914 define Device/wd_mynet-wifi-rangeextender
915 ATH_SOC := ar9344
916 DEVICE_VENDOR := Western Digital
917 DEVICE_MODEL := My Net Wi-Fi Range Extender
918 DEVICE_PACKAGES := rssileds nvram -swconfig
919 IMAGE_SIZE := 7808k
920 ADDPATTERN_ID := mynet-rext
921 ADDPATTERN_VERSION := 1.00.01
922 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
923 addpattern | append-metadata
924 SUPPORTED_DEVICES += mynet-rext
925 endef
926 TARGET_DEVICES += wd_mynet-wifi-rangeextender
927
928 define Device/winchannel_wb2000
929 ATH_SOC := ar9344
930 DEVICE_VENDOR := Winchannel
931 DEVICE_MODEL := WB2000
932 IMAGE_SIZE := 15872k
933 DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 kmod-usb-ledtrig-usbport
934 endef
935 TARGET_DEVICES += winchannel_wb2000
936
937 define Device/xiaomi_mi-router-4q
938 ATH_SOC := qca9561
939 DEVICE_VENDOR := Xiaomi
940 DEVICE_MODEL := Mi Router 4Q
941 IMAGE_SIZE := 14336k
942 endef
943 TARGET_DEVICES += xiaomi_mi-router-4q
944
945 define Device/yuncore_a770
946 ATH_SOC := qca9531
947 DEVICE_VENDOR := YunCore
948 DEVICE_MODEL := A770
949 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
950 IMAGE_SIZE := 16000k
951 endef
952 TARGET_DEVICES += yuncore_a770
953
954 define Device/zbtlink_zbt-wd323
955 ATH_SOC := ar9344
956 DEVICE_VENDOR := ZBT
957 DEVICE_MODEL := WD323
958 IMAGE_SIZE := 16000k
959 DEVICE_PACKAGES := kmod-usb2 kmod-i2c-core kmod-i2c-gpio kmod-rtc-pcf8563 \
960 kmod-usb-serial kmod-usb-serial-cp210x uqmi
961 endef
962 TARGET_DEVICES += zbtlink_zbt-wd323