ar71xx: add metadata to some TP-Link images
[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 endef
751
752 define Device/tl-wr710n-v2
753   $(Device/tplink-4mlzma)
754   DEVICE_TITLE := TP-LINK TL-WR710N v2
755   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
756   BOARDNAME := TL-WR710N
757   DEVICE_PROFILE := TLWR710
758   TPLINK_HWID := 0x07100002
759   CONSOLE := ttyATH0,115200
760 endef
761
762 define Device/tl-wr710n-v2.1
763   $(Device/tl-wr710n-v1)
764   DEVICE_TITLE := TP-LINK TL-WR710N v2.1
765   TPLINK_HWID := 0x07100002
766   TPLINK_HWREV := 0x00000002
767 endef
768
769 define Device/tl-wr720n-v3
770   $(Device/tplink-4mlzma)
771   DEVICE_TITLE := TP-LINK TL-WR720N v3
772   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
773   BOARDNAME := TL-WR720N-v3
774   DEVICE_PROFILE := TLWR720
775   TPLINK_HWID := 0x07200103
776   CONSOLE := ttyATH0,115200
777 endef
778
779 define Device/tl-wr720n-v4
780   $(Device/tl-wr720n-v3)
781   DEVICE_TITLE := TP-LINK TL-WR720N v4
782   TPLINK_HWID := 0x07200104
783 endef
784 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
785
786 define Device/tl-wr740n-v1
787   $(Device/tplink-4m)
788   DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
789   BOARDNAME := TL-WR741ND
790   DEVICE_PROFILE := TLWR740
791   TPLINK_HWID := 0x07400001
792 endef
793
794 define Device/tl-wr740n-v3
795   $(Device/tl-wr740n-v1)
796   DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
797   TPLINK_HWID := 0x07400003
798 endef
799
800 define Device/tl-wr740n-v4
801   $(Device/tplink-4mlzma)
802   DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
803   BOARDNAME := TL-WR741ND-v4
804   DEVICE_PROFILE := TLWR740
805   TPLINK_HWID := 0x07400004
806   CONSOLE := ttyATH0,115200
807 endef
808
809 define Device/tl-wr740n-v5
810   $(Device/tl-wr740n-v4)
811   DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
812   TPLINK_HWID := 0x07400005
813 endef
814
815 define Device/tl-wr740n-v6
816   $(Device/tplink-4mlzma)
817   DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
818   BOARDNAME := TL-WR740N-v6
819   DEVICE_PROFILE := TLWR740
820   TPLINK_HWID := 0x07400006
821 endef
822 TARGET_DEVICES += tl-wr740n-v1 tl-wr740n-v3 tl-wr740n-v4 tl-wr740n-v5 tl-wr740n-v6
823
824 define Device/tl-wr741nd-v1
825   $(Device/tplink-4m)
826   DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
827   BOARDNAME := TL-WR741ND
828   DEVICE_PROFILE := TLWR741
829   TPLINK_HWID := 0x07410001
830 endef
831
832 define Device/tl-wr741nd-v2
833   $(Device/tl-wr741nd-v1)
834   DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
835 endef
836
837 define Device/tl-wr741nd-v4
838   $(Device/tplink-4mlzma)
839   DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
840   BOARDNAME := TL-WR741ND-v4
841   DEVICE_PROFILE := TLWR741
842   TPLINK_HWID := 0x07410004
843   CONSOLE := ttyATH0,115200
844 endef
845
846 define Device/tl-wr741nd-v5
847   $(Device/tl-wr741nd-v4)
848   DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
849   TPLINK_HWID := 0x07400005
850 endef
851
852 define Device/tl-wr743nd-v1
853   $(Device/tplink-4m)
854   DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
855   BOARDNAME := TL-WR741ND
856   DEVICE_PROFILE := TLWR743
857   TPLINK_HWID := 0x07430001
858 endef
859
860 define Device/tl-wr743nd-v2
861   $(Device/tl-wr741nd-v4)
862   DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
863   DEVICE_PROFILE := TLWR743
864   TPLINK_HWID := 0x07430002
865 endef
866 TARGET_DEVICES += tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr741nd-v5 tl-wr743nd-v1 tl-wr743nd-v2
867
868 define Device/tl-wr802n-v1
869   $(Device/tplink-4mlzma)
870   DEVICE_TITLE := TP-LINK TL-WR802N v1
871   BOARDNAME := TL-WR802N-v1
872   DEVICE_PROFILE := TLWR802
873   TPLINK_HWID := 0x08020001
874   TPLINK_HWREV := 1
875 endef
876
877 define Device/tl-wr802n-v2
878   $(Device/tplink-4mlzma)
879   DEVICE_TITLE := TP-LINK TL-WR802N v2
880   BOARDNAME := TL-WR802N-v2
881   DEVICE_PROFILE := TLWR802
882   TPLINK_HWID := 0x08020002
883   TPLINK_HWREV := 2
884   IMAGES += factory-us.bin factory-eu.bin
885   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
886   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
887 endef
888
889 define Device/tl-wr810n-v1
890   $(Device/tplink-8mlzma)
891   DEVICE_TITLE := TP-LINK TL-WR810N v1
892   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
893   BOARDNAME := TL-WR810N
894   DEVICE_PROFILE := TLWR810
895   TPLINK_HWID := 0x08100001
896 endef
897
898 define Device/tl-wr840n-v2
899   $(Device/tplink-4mlzma)
900   DEVICE_TITLE := TP-LINK TL-WR840N v2
901   BOARDNAME := TL-WR840N-v2
902   DEVICE_PROFILE := TLWR840
903   TPLINK_HWID := 0x08400002
904   IMAGES += factory-eu.bin
905   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
906 endef
907
908 define Device/tl-wr840n-v3
909   $(Device/tl-wr840n-v2)
910   DEVICE_TITLE := TP-LINK TL-WR840N v3
911   BOARDNAME := TL-WR840N-v3
912   TPLINK_HWID := 0x08400003
913 endef
914 TARGET_DEVICES += tl-wr802n-v1 tl-wr802n-v2 tl-wr810n-v1 tl-wr840n-v2 tl-wr840n-v3
915
916 define Device/tl-wr841-v1.5
917   $(Device/tplink-4m)
918   DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
919   BOARDNAME := TL-WR841N-v1.5
920   DEVICE_PROFILE := TLWR841
921   TPLINK_HWID := 0x08410002
922   TPLINK_HWREV := 2
923 endef
924
925 define Device/tl-wr841-v3
926   $(Device/tplink-4m)
927   DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
928   BOARDNAME := TL-WR941ND
929   DEVICE_PROFILE := TLWR841
930   TPLINK_HWID := 0x08410003
931   TPLINK_HWREV := 3
932 endef
933
934 define Device/tl-wr841-v5
935   $(Device/tplink-4m)
936   DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
937   BOARDNAME := TL-WR741ND
938   DEVICE_PROFILE := TLWR841
939   TPLINK_HWID := 0x08410005
940 endef
941
942 define Device/tl-wr841-v7
943   $(Device/tplink-4m)
944   DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
945   BOARDNAME := TL-WR841N-v7
946   DEVICE_PROFILE := TLWR841
947   TPLINK_HWID := 0x08410007
948 endef
949
950 define Device/tl-wr841-v8
951   $(Device/tplink-4mlzma)
952   DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
953   BOARDNAME := TL-WR841N-v8
954   DEVICE_PROFILE := TLWR841
955   TPLINK_HWID := 0x08410008
956 endef
957
958 define Device/tl-wr841-v9
959   $(Device/tplink-4mlzma)
960   DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
961   BOARDNAME := TL-WR841N-v9
962   DEVICE_PROFILE := TLWR841
963   TPLINK_HWID := 0x08410009
964 endef
965
966 define Device/tl-wr841-v10
967   $(Device/tl-wr841-v9)
968   DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
969   TPLINK_HWID := 0x08410010
970 endef
971
972 define Device/tl-wr841-v11
973   $(Device/tplink-4mlzma)
974   DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
975   BOARDNAME := TL-WR841N-v11
976   DEVICE_PROFILE := TLWR841
977   TPLINK_HWID := 0x08410011
978   IMAGES += factory-us.bin factory-eu.bin
979   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
980   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
981 endef
982
983 define Device/tl-wr841-v12
984   $(Device/tl-wr841-v11)
985   DEVICE_TITLE := TP-LINK TL-WR841N/ND v12
986   TPLINK_HWID := 0x08410012
987 endef
988 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
989
990 define Device/tl-wr842n-v1
991   $(Device/tplink-8m)
992   DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
993   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
994   BOARDNAME := TL-MR3420
995   DEVICE_PROFILE := TLWR842
996   TPLINK_HWID := 0x08420001
997 endef
998
999 define Device/tl-wr842n-v2
1000   $(Device/tplink-8mlzma)
1001   DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
1002   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1003   BOARDNAME := TL-WR842N-v2
1004   DEVICE_PROFILE := TLWR842
1005   TPLINK_HWID := 0x8420002
1006 endef
1007
1008 define Device/tl-wr842n-v3
1009   $(Device/tplink-16mlzma)
1010   DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
1011   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1012   BOARDNAME := TL-WR842N-v3
1013   DEVICE_PROFILE := TLWR842
1014   TPLINK_HWID := 0x08420003
1015 endef
1016
1017 define Device/tl-wr843nd-v1
1018   $(Device/tplink-4mlzma)
1019   DEVICE_TITLE := TP-LINK TL-WR843N/ND v1
1020   BOARDNAME := TL-WR841N-v8
1021   DEVICE_PROFILE := TLWR843
1022   TPLINK_HWID := 0x08430001
1023 endef
1024
1025 define Device/tl-wr847n-v8
1026   $(Device/tplink-4mlzma)
1027   DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
1028   BOARDNAME := TL-WR841N-v8
1029   DEVICE_PROFILE := TLWR841
1030   TPLINK_HWID := 0x08470008
1031 endef
1032 TARGET_DEVICES += tl-wr842n-v1 tl-wr842n-v2 tl-wr842n-v3 tl-wr843nd-v1 tl-wr847n-v8
1033
1034 define Device/tl-wr902ac-v1
1035   DEVICE_TITLE := TP-LINK TL-WR902AC v1
1036   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport \
1037         kmod-ath10k ath10k-firmware-qca9887 -swconfig -uboot-envtools
1038   BOARDNAME := TL-WR902AC-V1
1039   DEVICE_PROFILE := TLWR902
1040   TPLINK_BOARD_ID := TL-WR902AC-V1
1041   TPLINK_HWID := 0x0
1042   SUPPORTED_DEVICES := tl-wr902ac-v1
1043   IMAGE_SIZE := 7360k
1044   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
1045   IMAGES += factory.bin
1046   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
1047   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
1048         append-metadata | check-size $$$$(IMAGE_SIZE)
1049   MTDPARTS := spi0.0:128k(u-boot)ro,7360k(firmware),640k(tplink)ro,64k(art)ro
1050 endef
1051 TARGET_DEVICES += tl-wr902ac-v1
1052
1053 define Device/tl-wr940n-v4
1054   $(Device/tplink-4mlzma)
1055   DEVICE_TITLE := TP-LINK TL-WR940N v4
1056   BOARDNAME := TL-WR940N-v4
1057   DEVICE_PROFILE := TLWR941
1058   TPLINK_HWID := 0x09400004
1059   IMAGES += factory-us.bin factory-eu.bin
1060   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
1061   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
1062 endef
1063
1064 define Device/tl-wr941nd-v2
1065   $(Device/tplink-4m)
1066   DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
1067   BOARDNAME := TL-WR941ND
1068   DEVICE_PROFILE := TLWR941
1069   TPLINK_HWID := 0x09410002
1070   TPLINK_HWREV := 2
1071 endef
1072
1073 define Device/tl-wr941nd-v3
1074   $(Device/tl-wr941nd-v2)
1075   DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
1076 endef
1077
1078 define Device/tl-wr941nd-v4
1079   $(Device/tplink-4m)
1080   DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
1081   BOARDNAME := TL-WR741ND
1082   DEVICE_PROFILE := TLWR941
1083   TPLINK_HWID := 0x09410004
1084 endef
1085
1086 define Device/tl-wr941nd-v5
1087   $(Device/tplink-4mlzma)
1088   DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
1089   BOARDNAME := TL-WR941ND-v5
1090   DEVICE_PROFILE := TLWR941
1091   TPLINK_HWID := 0x09410005
1092 endef
1093
1094 define Device/tl-wr941nd-v6
1095   $(Device/tplink-4mlzma)
1096   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
1097   BOARDNAME := TL-WR941ND-v6
1098   DEVICE_PROFILE := TLWR941
1099   TPLINK_HWID := 0x09410006
1100 endef
1101
1102 # Chinese version (unlike European) is similar to the TL-WDR3500
1103 define Device/tl-wr941nd-v6-cn
1104   $(Device/tplink-4mlzma)
1105   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
1106   BOARDNAME := TL-WDR3500
1107   DEVICE_PROFILE := TLWR941
1108   TPLINK_HWID := 0x09410006
1109 endef
1110
1111 define Device/tl-wr942n-v1
1112   DEVICE_TITLE := TP-LINK TL-WR942N v1
1113   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1114   BOARDNAME := TL-WR942N-V1
1115   TPLINK_BOARD_ID := TLWR942NV1
1116   DEVICE_PROFILE := TLWR942
1117   IMAGE_SIZE := 14464k
1118   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
1119   IMAGES := sysupgrade.bin factory.bin
1120   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
1121         append-metadata | check-size $$$$(IMAGE_SIZE)
1122   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
1123   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)
1124   SUPPORTED_DEVICES := tl-wr942n-v1
1125 endef
1126 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