ar71xx: add support for ALFA Network AP121F
[oweals/openwrt.git] / target / linux / ar71xx / image / tp-link.mk
1 DEVICE_VARS += LOADER_FLASH_OFFS TPLINK_BOARD_ID TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
2
3 define Build/copy-file
4         cat "$(1)" > "$@"
5 endef
6
7 define Build/loader-okli
8         dd if=$(KDIR)/loader-$(1).gz bs=7680 conv=sync of="$@.new"
9         cat "$@" >> "$@.new"
10         mv "$@.new" "$@"
11 endef
12
13 define Build/loader-okli-compile
14         $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0 KERNEL_CMDLINE="$(CMDLINE)")
15 endef
16
17 # combine kernel and rootfs into one image
18 # mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
19 # <type> is "sysupgrade" or "factory"
20 #
21 # -a align the rootfs start on an <align> bytes boundary
22 # -j add jffs2 end-of-filesystem markers
23 # -s strip padding from end of the image
24 # -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
25 define Build/mktplinkfw
26         -$(STAGING_DIR_HOST)/bin/mktplinkfw \
27                 -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
28                 -m $(TPLINK_HEADER_VERSION) \
29                 -k $(IMAGE_KERNEL) \
30                 -r $@ \
31                 -o $@.new \
32                 -j -X 0x40000 \
33                 -a $(call rootfs_align,$(FILESYSTEM)) \
34                 $(wordlist 2,$(words $(1)),$(1)) \
35                 $(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
36 endef
37
38 # mktplinkfw-combined
39 #
40 # -c combined image
41 define Build/mktplinkfw-combined
42         $(STAGING_DIR_HOST)/bin/mktplinkfw \
43                 -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $(1) \
44                 -m $(TPLINK_HEADER_VERSION) \
45                 -k $@ \
46                 -o $@.new \
47                 -s -S \
48                 -c
49         @mv $@.new $@
50 endef
51
52 # add RE450 and similar header to the kernel image
53 define Build/mktplinkfw-kernel
54         $(STAGING_DIR_HOST)/bin/mktplinkfw-kernel \
55                 -H $(TPLINK_HWID) -N OpenWrt -V $(REVISION) \
56                 -L $(KERNEL_LOADADDR) -E $(KERNEL_LOADADDR) \
57                 -k $@ \
58                 -o $@.new
59         @mv $@.new $@
60 endef
61
62 define Build/uImageArcher
63         mkimage -A $(LINUX_KARCH) \
64                 -O linux -T kernel \
65                 -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
66                 -n '$(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
67         @mv $@.new $@
68 endef
69
70
71 define Device/tplink
72   TPLINK_HWREV := 0x1
73   TPLINK_HEADER_VERSION := 1
74   LOADER_TYPE := gz
75   KERNEL := kernel-bin | patch-cmdline | lzma
76   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | mktplinkfw-combined
77   IMAGES := sysupgrade.bin factory.bin
78   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
79   IMAGE/factory.bin := append-rootfs | mktplinkfw factory
80 endef
81
82 define Device/tplink-nolzma
83   $(Device/tplink)
84   LOADER_FLASH_OFFS := 0x22000
85   COMPILE := loader-$(1).gz
86   COMPILE/loader-$(1).gz := loader-okli-compile
87   KERNEL := copy-file $(KDIR)/vmlinux.bin.lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1)
88   KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux-initramfs.bin.lzma | loader-kernel-cmdline | mktplinkfw-combined
89 endef
90
91 define Device/tplink-4m
92   $(Device/tplink-nolzma)
93   TPLINK_FLASHLAYOUT := 4M
94   IMAGE_SIZE := 3904k
95 endef
96
97 define Device/tplink-8m
98   $(Device/tplink-nolzma)
99   TPLINK_FLASHLAYOUT := 8M
100   IMAGE_SIZE := 7936k
101 endef
102
103 define Device/tplink-4mlzma
104   $(Device/tplink)
105   TPLINK_FLASHLAYOUT := 4Mlzma
106   IMAGE_SIZE := 3904k
107 endef
108
109 define Device/tplink-8mlzma
110   $(Device/tplink)
111   TPLINK_FLASHLAYOUT := 8Mlzma
112   IMAGE_SIZE := 7936k
113 endef
114
115 define Device/tplink-16mlzma
116   $(Device/tplink)
117   TPLINK_FLASHLAYOUT := 16Mlzma
118   IMAGE_SIZE := 15872k
119 endef
120
121 define Device/archer-cxx
122   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
123   IMAGES := sysupgrade.bin factory.bin
124   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
125         append-metadata | check-size $$$$(IMAGE_SIZE)
126   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
127 endef
128
129 define Device/archer-c25-v1
130   $(Device/archer-cxx)
131   DEVICE_TITLE := TP-LINK Archer C25 v1
132   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9887
133   BOARDNAME := ARCHER-C25-V1
134   TPLINK_BOARD_ID := ARCHER-C25-V1
135   DEVICE_PROFILE := ARCHERC25V1
136   IMAGE_SIZE := 7808k
137   LOADER_TYPE := elf
138   MTDPARTS := spi0.0:128k(factory-uboot)ro,64k(u-boot)ro,1536k(kernel),6272k(rootfs),128k(config)ro,64k(art)ro,7808k@0x30000(firmware)
139   SUPPORTED_DEVICES := archer-c25-v1
140 endef
141
142 define Device/archer-c58-v1
143   $(Device/archer-cxx)
144   DEVICE_TITLE := TP-LINK Archer C58 v1
145   DEVICE_PACKAGES := kmod-ath10k
146   BOARDNAME := ARCHER-C58-V1
147   TPLINK_BOARD_ID := ARCHER-C58-V1
148   DEVICE_PROFILE := ARCHERC58V1
149   IMAGE_SIZE := 7936k
150   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1344k(kernel),6592k(rootfs),64k(tplink)ro,64k(art)ro,7936k@0x20000(firmware)
151   SUPPORTED_DEVICES := archer-c58-v1
152 endef
153
154 define Device/archer-c59-v1
155   $(Device/archer-cxx)
156   DEVICE_TITLE := TP-LINK Archer C59 v1
157   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
158   BOARDNAME := ARCHER-C59-V1
159   TPLINK_BOARD_ID := ARCHER-C59-V1
160   DEVICE_PROFILE := ARCHERC59V1
161   IMAGE_SIZE := 14528k
162   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1536k(kernel),12992k(rootfs),1664k(tplink)ro,64k(art)ro,14528k@0x20000(firmware)
163   SUPPORTED_DEVICES := archer-c59-v1
164 endef
165
166 define Device/archer-c60-v1
167   $(Device/archer-cxx)
168   DEVICE_TITLE := TP-LINK Archer C60 v1
169   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
170   BOARDNAME := ARCHER-C60-V1
171   TPLINK_BOARD_ID := ARCHER-C60-V1
172   DEVICE_PROFILE := ARCHERC60V1
173   IMAGE_SIZE := 7936k
174   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1344k(kernel),6592k(rootfs),64k(tplink)ro,64k(art)ro,7936k@0x20000(firmware)
175   SUPPORTED_DEVICES := archer-c60-v1
176 endef
177 TARGET_DEVICES += archer-c25-v1 archer-c58-v1 archer-c59-v1 archer-c60-v1
178
179 define Device/archer-c5-v1
180   $(Device/tplink-16mlzma)
181   DEVICE_TITLE := TP-LINK Archer C5 v1
182   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
183   BOARDNAME := ARCHER-C5
184   DEVICE_PROFILE := ARCHERC7
185   TPLINK_HWID := 0xc5000001
186 endef
187
188 define Device/archer-c7-v1
189   $(Device/tplink-8mlzma)
190   DEVICE_TITLE := TP-LINK Archer C7 v1
191   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
192   BOARDNAME := ARCHER-C7
193   DEVICE_PROFILE := ARCHERC7
194   TPLINK_HWID := 0x75000001
195 endef
196
197 define Device/archer-c7-v2
198   $(Device/tplink-16mlzma)
199   DEVICE_TITLE := TP-LINK Archer C7 v2
200   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
201   BOARDNAME := ARCHER-C7-V2
202   DEVICE_PROFILE := ARCHERC7
203   TPLINK_HWID := 0xc7000002
204   IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
205   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
206   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
207 endef
208
209 define Device/archer-c7-v2-il
210   $(Device/tplink-16mlzma)
211   DEVICE_TITLE := TP-LINK Archer C7 v2 (IL)
212   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
213   BOARDNAME := ARCHER-C7-V2
214   DEVICE_PROFILE := ARCHERC7
215   TPLINK_HWID := 0xc7000002
216   TPLINK_HWREV := 0x494c0001
217 endef
218
219 define Device/tl-wdr7500-v3
220   $(Device/tplink-8mlzma)
221   DEVICE_TITLE := TP-LINK Archer C7 v3
222   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
223   BOARDNAME := ARCHER-C7
224   DEVICE_PROFILE := ARCHERC7
225   TPLINK_HWID := 0x75000003
226 endef
227 TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 archer-c7-v2-il tl-wdr7500-v3
228
229 define Device/cpe510-520-v1
230   DEVICE_TITLE := TP-LINK CPE510/520 v1
231   DEVICE_PACKAGES := rssileds
232   MTDPARTS := spi0.0:128k(u-boot)ro,64k(pation-table)ro,64k(product-info)ro,1536k(kernel),6144k(rootfs),192k(config)ro,64k(ART)ro,7680k@0x40000(firmware)
233   IMAGE_SIZE := 7680k
234   BOARDNAME := CPE510
235   TPLINK_BOARD_ID := CPE510
236   DEVICE_PROFILE := CPE510
237   LOADER_TYPE := elf
238   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
239   IMAGES := sysupgrade.bin factory.bin
240   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
241   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
242 endef
243
244 define Device/cpe210-220-v1
245   $(Device/cpe510-520-v1)
246   DEVICE_TITLE := TP-LINK CPE210/220 v1
247   BOARDNAME := CPE210
248   TPLINK_BOARD_ID := CPE210
249 endef
250
251 define Device/wbs210-v1
252   $(Device/cpe510-520-v1)
253   DEVICE_TITLE := TP-LINK WBS210 v1
254   BOARDNAME := WBS210
255   TPLINK_BOARD_ID := WBS210
256 endef
257
258 define Device/wbs510-v1
259   $(Device/cpe510-520-v1)
260   DEVICE_TITLE := TP-LINK WBS510 v1
261   BOARDNAME := WBS510
262   TPLINK_BOARD_ID := WBS510
263 endef
264 TARGET_DEVICES += cpe210-220-v1 cpe510-520-v1 wbs210-v1 wbs510-v1
265
266 define Device/eap120-v1
267   DEVICE_TITLE := TP-LINK EAP120 v1
268   MTDPARTS := spi0.0:128k(u-boot)ro,64k(pation-table)ro,64k(product-info)ro,1536k(kernel),14336k(rootfs),192k(config)ro,64k(ART)ro,15872k@0x40000(firmware)
269   IMAGE_SIZE := 15872k
270   BOARDNAME := EAP120
271   TPLINK_BOARD_ID := EAP120
272   DEVICE_PROFILE := EAP120
273   LOADER_TYPE := elf
274   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
275   IMAGES := sysupgrade.bin factory.bin
276   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
277   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
278 endef
279 TARGET_DEVICES += eap120-v1
280
281 define Device/re450-v1
282   DEVICE_TITLE := TP-LINK RE450 v1
283   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
284   MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),4672k(rootfs),64k(pation-table)ro,64k(product-info)ro,1856k(config)ro,64k(art)ro,6016k@0x20000(firmware)
285   IMAGE_SIZE := 7936k
286   BOARDNAME := RE450
287   TPLINK_BOARD_ID := RE450
288   DEVICE_PROFILE := RE450
289   LOADER_TYPE := elf
290   TPLINK_HWID := 0x0
291   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
292   IMAGES := sysupgrade.bin factory.bin
293   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
294   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
295 endef
296 TARGET_DEVICES += re450-v1
297
298 define Device/tl-mr10u-v1
299   $(Device/tplink-4mlzma)
300   DEVICE_TITLE := TP-LINK TL-MR10U v1
301   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
302   BOARDNAME := TL-MR10U
303   DEVICE_PROFILE := TLMR10U
304   TPLINK_HWID := 0x00100101
305   CONSOLE := ttyATH0,115200
306 endef
307
308 define Device/tl-mr11u-v1
309   $(Device/tplink-4mlzma)
310   DEVICE_TITLE := TP-LINK TL-MR11U v1
311   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
312   BOARDNAME := TL-MR11U
313   DEVICE_PROFILE := TLMR11U
314   TPLINK_HWID := 0x00110101
315   CONSOLE := ttyATH0,115200
316 endef
317
318 define Device/tl-mr11u-v2
319   $(Device/tl-mr11u-v1)
320   DEVICE_TITLE := TP-LINK TL-MR11U v2
321   TPLINK_HWID := 0x00110102
322 endef
323
324 define Device/tl-mr12u-v1
325   $(Device/tplink-4mlzma)
326   DEVICE_TITLE := TP-LINK TL-MR12U v1
327   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
328   BOARDNAME := TL-MR13U
329   DEVICE_PROFILE := TLMR12U
330   TPLINK_HWID := 0x00120101
331   CONSOLE := ttyATH0,115200
332 endef
333
334 define Device/tl-mr13u-v1
335   $(Device/tl-mr12u-v1)
336   DEVICE_TITLE := TP-LINK TL-MR13U v1
337   DEVICE_PROFILE := TLMR13U
338   TPLINK_HWID := 0x00130101
339 endef
340 TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
341
342 define Device/tl-mr3020-v1
343   $(Device/tplink-4mlzma)
344   DEVICE_TITLE := TP-LINK TL-MR3020 v1
345   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
346   BOARDNAME := TL-MR3020
347   DEVICE_PROFILE := TLMR3020
348   TPLINK_HWID := 0x30200001
349   CONSOLE := ttyATH0,115200
350 endef
351
352 define Device/tl-mr3040-v1
353   $(Device/tl-mr3020-v1)
354   DEVICE_TITLE := TP-LINK TL-MR3040 v1
355   BOARDNAME := TL-MR3040
356   DEVICE_PROFILE := TLMR3040
357   TPLINK_HWID := 0x30400001
358 endef
359
360 define Device/tl-mr3040-v2
361   $(Device/tl-mr3040-v1)
362   DEVICE_TITLE := TP-LINK TL-MR3040 v2
363   BOARDNAME := TL-MR3040-v2
364   TPLINK_HWID := 0x30400002
365 endef
366
367 define Device/tl-mr3220-v1
368   $(Device/tplink-4m)
369   DEVICE_TITLE := TP-LINK TL-MR3220 v1
370   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
371   BOARDNAME := TL-MR3220
372   DEVICE_PROFILE := TLMR3220
373   TPLINK_HWID := 0x32200001
374 endef
375
376 define Device/tl-mr3220-v2
377   $(Device/tplink-4mlzma)
378   DEVICE_TITLE := TP-LINK TL-MR3220 v2
379   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
380   BOARDNAME := TL-MR3220-v2
381   DEVICE_PROFILE := TLMR3220
382   TPLINK_HWID := 0x32200002
383   CONSOLE := ttyATH0,115200
384 endef
385
386 define Device/tl-mr3420-v1
387   $(Device/tplink-4m)
388   DEVICE_TITLE := TP-LINK TL-MR3420 v1
389   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
390   BOARDNAME := TL-MR3420
391   DEVICE_PROFILE := TLMR3420
392   TPLINK_HWID := 0x34200001
393 endef
394
395 define Device/tl-mr3420-v2
396   $(Device/tplink-4mlzma)
397   DEVICE_TITLE := TP-LINK TL-MR3420 v2
398   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
399   BOARDNAME := TL-MR3420-v2
400   DEVICE_PROFILE := TLMR3420
401   TPLINK_HWID := 0x34200002
402 endef
403 TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-v2 tl-mr3420-v1 tl-mr3420-v2
404
405 define Device/tl-mr6400-v1
406   $(Device/tplink-8mlzma)
407   DEVICE_TITLE := TP-LINK TL-MR6400 v1
408   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb-enablemodem
409   BOARDNAME := TL-MR6400
410   DEVICE_PROFILE := TLMR6400
411   TPLINK_HWID := 0x64000001
412 endef
413 TARGET_DEVICES += tl-mr6400-v1
414
415 define Device/tl-wa701nd-v1
416   $(Device/tplink-4m)
417   DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
418   BOARDNAME := TL-WA901ND
419   DEVICE_PROFILE := TLWA701
420   TPLINK_HWID := 0x07010001
421 endef
422
423 define Device/tl-wa701nd-v2
424   $(Device/tplink-4mlzma)
425   DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
426   BOARDNAME := TL-WA701ND-v2
427   DEVICE_PROFILE := TLWA701
428   TPLINK_HWID := 0x07010002
429   CONSOLE := ttyATH0,115200
430 endef
431
432 define Device/tl-wa7210n-v2
433   $(Device/tplink-4mlzma)
434   DEVICE_TITLE := TP-LINK TL-WA7210N v2
435   DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
436   BOARDNAME := TL-WA7210N-v2
437   DEVICE_PROFILE := TLWA7210
438   TPLINK_HWID := 0x72100002
439   CONSOLE := ttyATH0,115200
440 endef
441
442 define Device/tl-wa730re-v1
443   $(Device/tplink-4m)
444   DEVICE_TITLE := TP-LINK TL-WA730RE v1
445   BOARDNAME := TL-WA901ND
446   DEVICE_PROFILE := TLWA730RE
447   TPLINK_HWID := 0x07300001
448 endef
449
450 define Device/tl-wa750re-v1
451   $(Device/tplink-4mlzma)
452   DEVICE_TITLE := TP-LINK TL-WA750RE v1
453   DEVICE_PACKAGES := rssileds
454   BOARDNAME := TL-WA750RE
455   DEVICE_PROFILE := TLWA750
456   TPLINK_HWID := 0x07500001
457 endef
458
459 define Device/tl-wa7510n-v1
460   $(Device/tplink-4m)
461   DEVICE_TITLE := TP-LINK TL-WA7510N v1
462   BOARDNAME := TL-WA7510N
463   DEVICE_PROFILE := TLWA7510
464   TPLINK_HWID := 0x75100001
465 endef
466 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa7210n-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n-v1
467
468 define Device/tl-wa801nd-v1
469   $(Device/tplink-4m)
470   DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
471   BOARDNAME := TL-WA901ND
472   DEVICE_PROFILE := TLWA801
473   TPLINK_HWID := 0x08010001
474 endef
475
476 define Device/tl-wa801nd-v2
477   $(Device/tplink-4mlzma)
478   DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
479   BOARDNAME := TL-WA801ND-v2
480   DEVICE_PROFILE := TLWA801
481   TPLINK_HWID := 0x08010002
482 endef
483
484 define Device/tl-wa801nd-v3
485   $(Device/tplink-4mlzma)
486   DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
487   BOARDNAME := TL-WA801ND-v3
488   DEVICE_PROFILE := TLWA801
489   TPLINK_HWID := 0x08010003
490 endef
491
492 define Device/tl-wa830re-v1
493   $(Device/tplink-4m)
494   DEVICE_TITLE := TP-LINK TL-WA830RE v1
495   BOARDNAME := TL-WA901ND
496   DEVICE_PROFILE := TLWA830
497   TPLINK_HWID := 0x08300010
498 endef
499
500 define Device/tl-wa830re-v2
501   $(Device/tplink-4mlzma)
502   DEVICE_TITLE := TP-LINK TL-WA830RE v2
503   BOARDNAME := TL-WA830RE-v2
504   DEVICE_PROFILE := TLWA830
505   TPLINK_HWID := 0x08300002
506 endef
507
508 define Device/tl-wa850re-v1
509   $(Device/tplink-4mlzma)
510   DEVICE_TITLE := TP-LINK TL-WA850RE v1
511   BOARDNAME := TL-WA850RE
512   DEVICE_PROFILE := TLWA850
513   TPLINK_HWID := 0x08500001
514 endef
515
516 define Device/tl-wa85xre
517   $(Device/tplink)
518   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
519   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
520   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
521   MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),2304k(rootfs),256k(config)ro,64k(art)ro,3648k@0x20000(firmware)
522 endef
523
524 define Device/tl-wa850re-v2
525   $(Device/tl-wa85xre)
526   DEVICE_TITLE := TP-LINK TL-WA850RE v2
527   DEVICE_PACKAGES := rssileds
528   BOARDNAME := TL-WA850RE-V2
529   DEVICE_PROFILE := TLWA850
530   TPLINK_BOARD_ID := TLWA850REV2
531   TPLINK_HWID := 0x08500002
532 endef
533
534 define Device/tl-wa855re-v1
535   $(Device/tl-wa85xre)
536   DEVICE_TITLE := TP-LINK TL-WA855RE v1
537   BOARDNAME := TL-WA855RE-v1
538   DEVICE_PROFILE := TLWA855RE
539   TPLINK_HWID := 0x08550001
540   TPLINK_BOARD_ID := TLWA855REV1
541 endef
542
543 define Device/tl-wa860re-v1
544   $(Device/tplink-4mlzma)
545   DEVICE_TITLE := TP-LINK TL-WA860RE v1
546   BOARDNAME := TL-WA860RE
547   DEVICE_PROFILE := TLWA860
548   TPLINK_HWID := 0x08600001
549 endef
550 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa850re-v2 tl-wa855re-v1 tl-wa860re-v1
551
552 define Device/tl-wa901nd-v1
553   $(Device/tplink-4m)
554   DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
555   BOARDNAME := TL-WA901ND
556   DEVICE_PROFILE := TLWA901
557   TPLINK_HWID := 0x09010001
558 endef
559
560 define Device/tl-wa901nd-v2
561   $(Device/tplink-4m)
562   DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
563   BOARDNAME := TL-WA901ND-v2
564   DEVICE_PROFILE := TLWA901
565   TPLINK_HWID := 0x09010002
566 endef
567
568 define Device/tl-wa901nd-v3
569   $(Device/tplink-4mlzma)
570   DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
571   BOARDNAME := TL-WA901ND-v3
572   DEVICE_PROFILE := TLWA901
573   TPLINK_HWID := 0x09010003
574 endef
575
576 define Device/tl-wa901nd-v4
577   $(Device/tplink-4mlzma)
578   DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
579   BOARDNAME := TL-WA901ND-v4
580   DEVICE_PROFILE := TLWA901
581   TPLINK_HWID := 0x09010004
582   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
583 endef
584 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
585
586 define Device/tl-wdr3320-v2
587   $(Device/tplink-4mlzma)
588   DEVICE_TITLE := TP-LINK TL-WDR3320 v2
589   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
590   BOARDNAME := TL-WDR3320-v2
591   DEVICE_PROFILE := TLWDR3320V2
592   TPLINK_HWID := 0x33200002
593   TPLINK_HEADER_VERSION := 2
594 endef
595
596 define Device/tl-wdr3500-v1
597   $(Device/tplink-8mlzma)
598   DEVICE_TITLE := TP-LINK TL-WDR3500 v1
599   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
600   BOARDNAME := TL-WDR3500
601   DEVICE_PROFILE := TLWDR4300
602   TPLINK_HWID := 0x35000001
603 endef
604
605 define Device/tl-wdr3600-v1
606   $(Device/tl-wdr3500-v1)
607   DEVICE_TITLE := TP-LINK TL-WDR3600 v1
608   BOARDNAME := TL-WDR4300
609   TPLINK_HWID := 0x36000001
610   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
611 endef
612
613 define Device/tl-wdr4300-v1
614   $(Device/tl-wdr3600-v1)
615   DEVICE_TITLE := TP-LINK TL-WDR4300 v1
616   TPLINK_HWID := 0x43000001
617 endef
618
619 define Device/tl-wdr4300-v1-il
620   $(Device/tl-wdr3500-v1)
621   DEVICE_TITLE := TP-LINK TL-WDR4300 v1 (IL)
622   BOARDNAME := TL-WDR4300
623   TPLINK_HWID := 0x43008001
624 endef
625
626 define Device/tl-wdr4310-v1
627   $(Device/tl-wdr4300-v1-il)
628   DEVICE_TITLE := TP-LINK TL-WDR4310 v1
629   TPLINK_HWID := 0x43100001
630 endef
631
632 define Device/tl-wdr4900-v2
633   $(Device/tplink-8mlzma)
634   DEVICE_TITLE := TP-LINK TL-WDR4900 v2
635   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
636   BOARDNAME := TL-WDR4900-v2
637   DEVICE_PROFILE := TLWDR4900V2
638   TPLINK_HWID := 0x49000002
639 endef
640
641 define Device/tl-wdr6500-v2
642   $(Device/tplink-8mlzma)
643   DEVICE_TITLE := TP-LINK TL-WDR6500 v2
644   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
645   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
646   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-combined
647   BOARDNAME := TL-WDR6500-v2
648   DEVICE_PROFILE := TLWDR6500V2
649   TPLINK_HWID := 0x65000002
650   TPLINK_HEADER_VERSION := 2
651 endef
652
653 define Device/mw4530r-v1
654   $(Device/tl-wdr4300-v1)
655   DEVICE_TITLE := Mercury MW4530R v1
656   TPLINK_HWID := 0x45300001
657 endef
658 TARGET_DEVICES += tl-wdr3320-v2 tl-wdr3500-v1 tl-wdr3600-v1 tl-wdr4300-v1 tl-wdr4300-v1-il tl-wdr4310-v1 tl-wdr4900-v2 tl-wdr6500-v2 mw4530r-v1
659
660 define Device/tl-wpa8630-v1
661   $(Device/tplink-8mlzma)
662   DEVICE_TITLE := TP-LINK TL-WPA8630 v1
663   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
664   BOARDNAME := TL-WPA8630
665   DEVICE_PROFILE := TL-WPA8630
666   TPLINK_HWID := 0x86300001
667 endef
668 TARGET_DEVICES += tl-wpa8630-v1
669
670 define Device/tl-wr1041n-v2
671   $(Device/tplink-4mlzma)
672   DEVICE_TITLE := TP-LINK TL-WR1041N v2
673   BOARDNAME := TL-WR1041N-v2
674   DEVICE_PROFILE := TLWR1041
675   TPLINK_HWID := 0x10410002
676 endef
677 TARGET_DEVICES += tl-wr1041n-v2
678
679 define Device/tl-wr1043nd-v1
680   $(Device/tplink-8m)
681   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
682   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
683   BOARDNAME := TL-WR1043ND
684   DEVICE_PROFILE := TLWR1043
685   TPLINK_HWID := 0x10430001
686 endef
687
688 define Device/tl-wr1043nd-v2
689   $(Device/tplink-8mlzma)
690   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
691   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
692   BOARDNAME := TL-WR1043ND-v2
693   DEVICE_PROFILE := TLWR1043
694   TPLINK_HWID := 0x10430002
695 endef
696
697 define Device/tl-wr1043nd-v3
698   $(Device/tl-wr1043nd-v2)
699   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
700   TPLINK_HWID := 0x10430003
701 endef
702
703 define Device/tl-wr1043nd-v4
704   $(Device/tplink)
705   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v4
706   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
707   BOARDNAME := TL-WR1043ND-v4
708   DEVICE_PROFILE := TLWR1043
709   TPLINK_HWID :=  0x10430004
710   TPLINK_FLASHLAYOUT := 16Msafeloader
711   MTDPARTS := spi0.0:128k(u-boot)ro,1536k(kernel),14016k(rootfs),128k(product-info)ro,320k(config)ro,64k(partition-table)ro,128k(logs)ro,64k(ART)ro,15552k@0x20000(firmware)
712   IMAGE_SIZE := 15552k
713   TPLINK_BOARD_ID := TLWR1043NDV4
714   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-combined
715   IMAGES := sysupgrade.bin factory.bin
716   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
717   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
718 endef
719
720 define Device/tl-wr2543-v1
721   $(Device/tplink-8mlzma)
722   DEVICE_TITLE := TP-LINK TL-WR2543N/ND v1
723   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
724   BOARDNAME := TL-WR2543N
725   DEVICE_PROFILE := TLWR2543
726   TPLINK_HWID := 0x25430001
727   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
728   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
729 endef
730 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3 tl-wr1043nd-v4 tl-wr2543-v1
731
732 define Device/tl-wr703n-v1
733   $(Device/tplink-4mlzma)
734   DEVICE_TITLE := TP-LINK TL-WR703N v1
735   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
736   BOARDNAME := TL-WR703N
737   DEVICE_PROFILE := TLWR703
738   TPLINK_HWID := 0x07030101
739   CONSOLE := ttyATH0,115200
740 endef
741
742 define Device/tl-wr710n-v1
743   $(Device/tplink-8mlzma)
744   DEVICE_TITLE := TP-LINK TL-WR710N v1
745   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
746   BOARDNAME := TL-WR710N
747   DEVICE_PROFILE := TLWR710
748   TPLINK_HWID := 0x07100001
749   CONSOLE := ttyATH0,115200
750   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
751 endef
752
753 define Device/tl-wr710n-v2
754   $(Device/tplink-4mlzma)
755   DEVICE_TITLE := TP-LINK TL-WR710N v2
756   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
757   BOARDNAME := TL-WR710N
758   DEVICE_PROFILE := TLWR710
759   TPLINK_HWID := 0x07100002
760   CONSOLE := ttyATH0,115200
761 endef
762
763 define Device/tl-wr710n-v2.1
764   $(Device/tl-wr710n-v1)
765   DEVICE_TITLE := TP-LINK TL-WR710N v2.1
766   TPLINK_HWID := 0x07100002
767   TPLINK_HWREV := 0x00000002
768 endef
769
770 define Device/tl-wr720n-v3
771   $(Device/tplink-4mlzma)
772   DEVICE_TITLE := TP-LINK TL-WR720N v3
773   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
774   BOARDNAME := TL-WR720N-v3
775   DEVICE_PROFILE := TLWR720
776   TPLINK_HWID := 0x07200103
777   CONSOLE := ttyATH0,115200
778 endef
779
780 define Device/tl-wr720n-v4
781   $(Device/tl-wr720n-v3)
782   DEVICE_TITLE := TP-LINK TL-WR720N v4
783   TPLINK_HWID := 0x07200104
784 endef
785 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
786
787 define Device/tl-wr740n-v1
788   $(Device/tplink-4m)
789   DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
790   BOARDNAME := TL-WR741ND
791   DEVICE_PROFILE := TLWR740
792   TPLINK_HWID := 0x07400001
793 endef
794
795 define Device/tl-wr740n-v3
796   $(Device/tl-wr740n-v1)
797   DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
798   TPLINK_HWID := 0x07400003
799 endef
800
801 define Device/tl-wr740n-v4
802   $(Device/tplink-4mlzma)
803   DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
804   BOARDNAME := TL-WR741ND-v4
805   DEVICE_PROFILE := TLWR740
806   TPLINK_HWID := 0x07400004
807   CONSOLE := ttyATH0,115200
808 endef
809
810 define Device/tl-wr740n-v5
811   $(Device/tl-wr740n-v4)
812   DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
813   TPLINK_HWID := 0x07400005
814 endef
815
816 define Device/tl-wr740n-v6
817   $(Device/tplink-4mlzma)
818   DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
819   BOARDNAME := TL-WR740N-v6
820   DEVICE_PROFILE := TLWR740
821   TPLINK_HWID := 0x07400006
822 endef
823 TARGET_DEVICES += tl-wr740n-v1 tl-wr740n-v3 tl-wr740n-v4 tl-wr740n-v5 tl-wr740n-v6
824
825 define Device/tl-wr741nd-v1
826   $(Device/tplink-4m)
827   DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
828   BOARDNAME := TL-WR741ND
829   DEVICE_PROFILE := TLWR741
830   TPLINK_HWID := 0x07410001
831 endef
832
833 define Device/tl-wr741nd-v2
834   $(Device/tl-wr741nd-v1)
835   DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
836 endef
837
838 define Device/tl-wr741nd-v4
839   $(Device/tplink-4mlzma)
840   DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
841   BOARDNAME := TL-WR741ND-v4
842   DEVICE_PROFILE := TLWR741
843   TPLINK_HWID := 0x07410004
844   CONSOLE := ttyATH0,115200
845 endef
846
847 define Device/tl-wr741nd-v5
848   $(Device/tl-wr741nd-v4)
849   DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
850   TPLINK_HWID := 0x07400005
851 endef
852
853 define Device/tl-wr743nd-v1
854   $(Device/tplink-4m)
855   DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
856   BOARDNAME := TL-WR741ND
857   DEVICE_PROFILE := TLWR743
858   TPLINK_HWID := 0x07430001
859 endef
860
861 define Device/tl-wr743nd-v2
862   $(Device/tl-wr741nd-v4)
863   DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
864   DEVICE_PROFILE := TLWR743
865   TPLINK_HWID := 0x07430002
866 endef
867 TARGET_DEVICES += tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr741nd-v5 tl-wr743nd-v1 tl-wr743nd-v2
868
869 define Device/tl-wr802n-v1
870   $(Device/tplink-4mlzma)
871   DEVICE_TITLE := TP-LINK TL-WR802N v1
872   BOARDNAME := TL-WR802N-v1
873   DEVICE_PROFILE := TLWR802
874   TPLINK_HWID := 0x08020001
875   TPLINK_HWREV := 1
876 endef
877
878 define Device/tl-wr802n-v2
879   $(Device/tplink-4mlzma)
880   DEVICE_TITLE := TP-LINK TL-WR802N v2
881   BOARDNAME := TL-WR802N-v2
882   DEVICE_PROFILE := TLWR802
883   TPLINK_HWID := 0x08020002
884   TPLINK_HWREV := 2
885   IMAGES += factory-us.bin factory-eu.bin
886   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
887   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
888 endef
889
890 define Device/tl-wr810n-v1
891   $(Device/tplink-8mlzma)
892   DEVICE_TITLE := TP-LINK TL-WR810N v1
893   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
894   BOARDNAME := TL-WR810N
895   DEVICE_PROFILE := TLWR810
896   TPLINK_HWID := 0x08100001
897 endef
898
899 define Device/tl-wr840n-v2
900   $(Device/tplink-4mlzma)
901   DEVICE_TITLE := TP-LINK TL-WR840N v2
902   BOARDNAME := TL-WR840N-v2
903   DEVICE_PROFILE := TLWR840
904   TPLINK_HWID := 0x08400002
905   IMAGES += factory-eu.bin
906   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
907 endef
908
909 define Device/tl-wr840n-v3
910   $(Device/tl-wr840n-v2)
911   DEVICE_TITLE := TP-LINK TL-WR840N v3
912   BOARDNAME := TL-WR840N-v3
913   TPLINK_HWID := 0x08400003
914 endef
915 TARGET_DEVICES += tl-wr802n-v1 tl-wr802n-v2 tl-wr810n-v1 tl-wr840n-v2 tl-wr840n-v3
916
917 define Device/tl-wr841-v1.5
918   $(Device/tplink-4m)
919   DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
920   BOARDNAME := TL-WR841N-v1.5
921   DEVICE_PROFILE := TLWR841
922   TPLINK_HWID := 0x08410002
923   TPLINK_HWREV := 2
924 endef
925
926 define Device/tl-wr841-v3
927   $(Device/tplink-4m)
928   DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
929   BOARDNAME := TL-WR941ND
930   DEVICE_PROFILE := TLWR841
931   TPLINK_HWID := 0x08410003
932   TPLINK_HWREV := 3
933 endef
934
935 define Device/tl-wr841-v5
936   $(Device/tplink-4m)
937   DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
938   BOARDNAME := TL-WR741ND
939   DEVICE_PROFILE := TLWR841
940   TPLINK_HWID := 0x08410005
941 endef
942
943 define Device/tl-wr841-v7
944   $(Device/tplink-4m)
945   DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
946   BOARDNAME := TL-WR841N-v7
947   DEVICE_PROFILE := TLWR841
948   TPLINK_HWID := 0x08410007
949 endef
950
951 define Device/tl-wr841-v8
952   $(Device/tplink-4mlzma)
953   DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
954   BOARDNAME := TL-WR841N-v8
955   DEVICE_PROFILE := TLWR841
956   TPLINK_HWID := 0x08410008
957 endef
958
959 define Device/tl-wr841-v9
960   $(Device/tplink-4mlzma)
961   DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
962   BOARDNAME := TL-WR841N-v9
963   DEVICE_PROFILE := TLWR841
964   TPLINK_HWID := 0x08410009
965 endef
966
967 define Device/tl-wr841-v10
968   $(Device/tl-wr841-v9)
969   DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
970   TPLINK_HWID := 0x08410010
971 endef
972
973 define Device/tl-wr841-v11
974   $(Device/tplink-4mlzma)
975   DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
976   BOARDNAME := TL-WR841N-v11
977   DEVICE_PROFILE := TLWR841
978   TPLINK_HWID := 0x08410011
979   IMAGES += factory-us.bin factory-eu.bin
980   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
981   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
982 endef
983
984 define Device/tl-wr841-v12
985   $(Device/tl-wr841-v11)
986   DEVICE_TITLE := TP-LINK TL-WR841N/ND v12
987   TPLINK_HWID := 0x08410012
988 endef
989 TARGET_DEVICES += tl-wr841-v1.5 tl-wr841-v3 tl-wr841-v5 tl-wr841-v7 tl-wr841-v8 tl-wr841-v9 tl-wr841-v10 tl-wr841-v11 tl-wr841-v12
990
991 define Device/tl-wr842n-v1
992   $(Device/tplink-8m)
993   DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
994   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
995   BOARDNAME := TL-MR3420
996   DEVICE_PROFILE := TLWR842
997   TPLINK_HWID := 0x08420001
998 endef
999
1000 define Device/tl-wr842n-v2
1001   $(Device/tplink-8mlzma)
1002   DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
1003   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1004   BOARDNAME := TL-WR842N-v2
1005   DEVICE_PROFILE := TLWR842
1006   TPLINK_HWID := 0x8420002
1007 endef
1008
1009 define Device/tl-wr842n-v3
1010   $(Device/tplink-16mlzma)
1011   DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
1012   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1013   BOARDNAME := TL-WR842N-v3
1014   DEVICE_PROFILE := TLWR842
1015   TPLINK_HWID := 0x08420003
1016 endef
1017
1018 define Device/tl-wr843nd-v1
1019   $(Device/tplink-4mlzma)
1020   DEVICE_TITLE := TP-LINK TL-WR843N/ND v1
1021   BOARDNAME := TL-WR841N-v8
1022   DEVICE_PROFILE := TLWR843
1023   TPLINK_HWID := 0x08430001
1024 endef
1025
1026 define Device/tl-wr847n-v8
1027   $(Device/tplink-4mlzma)
1028   DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
1029   BOARDNAME := TL-WR841N-v8
1030   DEVICE_PROFILE := TLWR841
1031   TPLINK_HWID := 0x08470008
1032 endef
1033 TARGET_DEVICES += tl-wr842n-v1 tl-wr842n-v2 tl-wr842n-v3 tl-wr843nd-v1 tl-wr847n-v8
1034
1035 define Device/tl-wr902ac-v1
1036   DEVICE_TITLE := TP-LINK TL-WR902AC v1
1037   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport \
1038         kmod-ath10k ath10k-firmware-qca9887 -swconfig -uboot-envtools
1039   BOARDNAME := TL-WR902AC-V1
1040   DEVICE_PROFILE := TLWR902
1041   TPLINK_BOARD_ID := TL-WR902AC-V1
1042   TPLINK_HWID := 0x0
1043   SUPPORTED_DEVICES := tl-wr902ac-v1
1044   IMAGE_SIZE := 7360k
1045   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
1046   IMAGES += factory.bin
1047   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
1048   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
1049         append-metadata | check-size $$$$(IMAGE_SIZE)
1050   MTDPARTS := spi0.0:128k(u-boot)ro,7360k(firmware),640k(tplink)ro,64k(art)ro
1051 endef
1052 TARGET_DEVICES += tl-wr902ac-v1
1053
1054 define Device/tl-wr940n-v4
1055   $(Device/tplink-4mlzma)
1056   DEVICE_TITLE := TP-LINK TL-WR940N v4
1057   BOARDNAME := TL-WR940N-v4
1058   DEVICE_PROFILE := TLWR941
1059   TPLINK_HWID := 0x09400004
1060   IMAGES += factory-us.bin factory-eu.bin
1061   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
1062   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
1063 endef
1064
1065 define Device/tl-wr941nd-v2
1066   $(Device/tplink-4m)
1067   DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
1068   BOARDNAME := TL-WR941ND
1069   DEVICE_PROFILE := TLWR941
1070   TPLINK_HWID := 0x09410002
1071   TPLINK_HWREV := 2
1072 endef
1073
1074 define Device/tl-wr941nd-v3
1075   $(Device/tl-wr941nd-v2)
1076   DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
1077 endef
1078
1079 define Device/tl-wr941nd-v4
1080   $(Device/tplink-4m)
1081   DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
1082   BOARDNAME := TL-WR741ND
1083   DEVICE_PROFILE := TLWR941
1084   TPLINK_HWID := 0x09410004
1085 endef
1086
1087 define Device/tl-wr941nd-v5
1088   $(Device/tplink-4mlzma)
1089   DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
1090   BOARDNAME := TL-WR941ND-v5
1091   DEVICE_PROFILE := TLWR941
1092   TPLINK_HWID := 0x09410005
1093 endef
1094
1095 define Device/tl-wr941nd-v6
1096   $(Device/tplink-4mlzma)
1097   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
1098   BOARDNAME := TL-WR941ND-v6
1099   DEVICE_PROFILE := TLWR941
1100   TPLINK_HWID := 0x09410006
1101 endef
1102
1103 # Chinese version (unlike European) is similar to the TL-WDR3500
1104 define Device/tl-wr941nd-v6-cn
1105   $(Device/tplink-4mlzma)
1106   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
1107   BOARDNAME := TL-WDR3500
1108   DEVICE_PROFILE := TLWR941
1109   TPLINK_HWID := 0x09410006
1110 endef
1111
1112 define Device/tl-wr942n-v1
1113   DEVICE_TITLE := TP-LINK TL-WR942N v1
1114   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1115   BOARDNAME := TL-WR942N-V1
1116   TPLINK_BOARD_ID := TLWR942NV1
1117   DEVICE_PROFILE := TLWR942
1118   IMAGE_SIZE := 14464k
1119   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
1120   IMAGES := sysupgrade.bin factory.bin
1121   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
1122         append-metadata | check-size $$$$(IMAGE_SIZE)
1123   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
1124   MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),13120k(rootfs),64k(product-info)ro,64k(partition-table)ro,256k(oem-config)ro,1344k(oem-vars)ro,64k(ART)ro,14464k@0x20000(firmware)
1125   SUPPORTED_DEVICES := tl-wr942n-v1
1126 endef
1127 TARGET_DEVICES += tl-wr940n-v4 tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn tl-wr942n-v1