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