ar71xx: image: fix TP-Link TL-WR710N v2/v2.1 BOARDNAME
[librecmc/librecmc.git] / target / linux / ar71xx / image / tp-link.mk
1 DEVICE_VARS += LOADER_FLASH_OFFS TPLINK_BOARD_NAME 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-c25-v1
122   DEVICE_TITLE := TP-LINK Archer C25 v1
123   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9887
124   BOARDNAME := ARCHER-C25-V1
125   TPLINK_BOARD_NAME := ARCHER-C25-V1
126   DEVICE_PROFILE := ARCHERC25V1
127   IMAGE_SIZE := 7808k
128   LOADER_TYPE := elf
129   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
130   IMAGES := sysupgrade.bin factory.bin
131   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
132   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
133   MTDPARTS := spi0.0:128k(factory-uboot)ro,64k(u-boot)ro,1536k(kernel),6272k(rootfs),128k(config)ro,64k(art)ro,7808k@0x30000(firmware)
134 endef
135
136 define Device/archer-c59-v1
137   DEVICE_TITLE := TP-LINK Archer C59 v1
138   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
139   BOARDNAME := ARCHER-C59-V1
140   TPLINK_BOARD_NAME := ARCHER-C59-V1
141   DEVICE_PROFILE := ARCHERC59V1
142   IMAGE_SIZE := 14528k
143   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
144   IMAGES := sysupgrade.bin factory.bin
145   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
146   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
147   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1536k(kernel),12992k(rootfs),1664k(tplink)ro,64k(art)ro,14528k@0x20000(firmware)
148 endef
149
150 define Device/archer-c60-v1
151   DEVICE_TITLE := TP-LINK Archer C60 v1
152   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
153   BOARDNAME := ARCHER-C60-V1
154   TPLINK_BOARD_NAME := ARCHER-C60-V1
155   DEVICE_PROFILE := ARCHERC60V1
156   IMAGE_SIZE := 7936k
157   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
158   IMAGES := sysupgrade.bin factory.bin
159   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
160   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
161   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1344k(kernel),6592k(rootfs),64k(tplink)ro,64k(art)ro,7936k@0x20000(firmware)
162 endef
163 TARGET_DEVICES += archer-c25-v1 archer-c59-v1 archer-c60-v1
164
165 define Device/archer-c5-v1
166   $(Device/tplink-16mlzma)
167   DEVICE_TITLE := TP-LINK Archer C5 v1
168   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
169   BOARDNAME := ARCHER-C5
170   DEVICE_PROFILE := ARCHERC7
171   TPLINK_HWID := 0xc5000001
172 endef
173
174 define Device/archer-c7-v1
175   $(Device/tplink-8mlzma)
176   DEVICE_TITLE := TP-LINK Archer C7 v1
177   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
178   BOARDNAME := ARCHER-C7
179   DEVICE_PROFILE := ARCHERC7
180   TPLINK_HWID := 0x75000001
181 endef
182
183 define Device/archer-c7-v2
184   $(Device/tplink-16mlzma)
185   DEVICE_TITLE := TP-LINK Archer C7 v2
186   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
187   BOARDNAME := ARCHER-C7-V2
188   DEVICE_PROFILE := ARCHERC7
189   TPLINK_HWID := 0xc7000002
190   IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
191   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
192   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
193 endef
194
195 define Device/archer-c7-v2-il
196   $(Device/tplink-16mlzma)
197   DEVICE_TITLE := TP-LINK Archer C7 v2 (IL)
198   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
199   BOARDNAME := ARCHER-C7-V2
200   DEVICE_PROFILE := ARCHERC7
201   TPLINK_HWID := 0xc7000002
202   TPLINK_HWREV := 0x494c0001
203 endef
204
205 define Device/tl-wdr7500-v3
206   $(Device/tplink-8mlzma)
207   DEVICE_TITLE := TP-LINK Archer C7 v3
208   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
209   BOARDNAME := ARCHER-C7
210   DEVICE_PROFILE := ARCHERC7
211   TPLINK_HWID := 0x75000003
212 endef
213 TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 archer-c7-v2-il tl-wdr7500-v3
214
215 define Device/cpe510-520-v1
216   DEVICE_TITLE := TP-LINK CPE510/520 v1
217   DEVICE_PACKAGES := rssileds
218   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)
219   IMAGE_SIZE := 7680k
220   BOARDNAME := CPE510
221   TPLINK_BOARD_NAME := CPE510
222   DEVICE_PROFILE := CPE510
223   LOADER_TYPE := elf
224   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
225   IMAGES := sysupgrade.bin factory.bin
226   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
227   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
228 endef
229
230 define Device/cpe210-220-v1
231   $(Device/cpe510-520-v1)
232   DEVICE_TITLE := TP-LINK CPE210/220 v1
233   DEVICE_PACKAGES := rssileds
234   BOARDNAME := CPE210
235   TPLINK_BOARD_NAME := CPE210
236 endef
237
238 define Device/wbs210-v1
239   $(Device/cpe510-520-v1)
240   DEVICE_TITLE := TP-LINK WBS210 v1
241   DEVICE_PACKAGES := rssileds
242   BOARDNAME := WBS210
243   TPLINK_BOARD_NAME := WBS210
244 endef
245
246 define Device/wbs510-v1
247   $(Device/cpe510-520-v1)
248   DEVICE_TITLE := TP-LINK WBS510 v1
249   DEVICE_PACKAGES := rssileds
250   BOARDNAME := WBS510
251   TPLINK_BOARD_NAME := 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(pation-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_NAME := 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,1344k(kernel),4672k(rootfs),64k(pation-table)ro,64k(product-info)ro,1856k(config)ro,64k(art)ro,6016k@0x20000(firmware)
274   IMAGE_SIZE := 7936k
275   BOARDNAME := RE450
276   TPLINK_BOARD_NAME := RE450
277   DEVICE_PROFILE := RE450
278   LOADER_TYPE := elf
279   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
280   IMAGES := sysupgrade.bin factory.bin
281   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
282   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
283 endef
284 TARGET_DEVICES += re450-v1
285
286 define Device/tl-mr10u-v1
287   $(Device/tplink-4mlzma)
288   DEVICE_TITLE := TP-LINK TL-MR10U v1
289   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
290   BOARDNAME := TL-MR10U
291   DEVICE_PROFILE := TLMR10U
292   TPLINK_HWID := 0x00100101
293   CONSOLE := ttyATH0,115200
294 endef
295
296 define Device/tl-mr11u-v1
297   $(Device/tplink-4mlzma)
298   DEVICE_TITLE := TP-LINK TL-MR11U v1
299   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
300   BOARDNAME := TL-MR11U
301   DEVICE_PROFILE := TLMR11U
302   TPLINK_HWID := 0x00110101
303   CONSOLE := ttyATH0,115200
304 endef
305
306 define Device/tl-mr11u-v2
307   $(Device/tplink-4mlzma)
308   DEVICE_TITLE := TP-LINK TL-MR11U v2
309   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
310   BOARDNAME := TL-MR11U
311   DEVICE_PROFILE := TLMR11U
312   TPLINK_HWID := 0x00110102
313   CONSOLE := ttyATH0,115200
314 endef
315
316 define Device/tl-mr12u-v1
317   $(Device/tplink-4mlzma)
318   DEVICE_TITLE := TP-LINK TL-MR12U v1
319   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
320   BOARDNAME := TL-MR13U
321   DEVICE_PROFILE := TLMR12U
322   TPLINK_HWID := 0x00120101
323   CONSOLE := ttyATH0,115200
324 endef
325
326 define Device/tl-mr13u-v1
327   $(Device/tplink-4mlzma)
328   DEVICE_TITLE := TP-LINK TL-MR13U v1
329   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
330   BOARDNAME := TL-MR13U
331   DEVICE_PROFILE := TLMR13U
332   TPLINK_HWID := 0x00130101
333   CONSOLE := ttyATH0,115200
334 endef
335 TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
336
337 define Device/tl-mr3020-v1
338   $(Device/tplink-4mlzma)
339   DEVICE_TITLE := TP-LINK TL-MR3020 v1
340   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
341   BOARDNAME := TL-MR3020
342   DEVICE_PROFILE := TLMR3020
343   TPLINK_HWID := 0x30200001
344   CONSOLE := ttyATH0,115200
345 endef
346
347 define Device/tl-mr3040-v1
348   $(Device/tplink-4mlzma)
349   DEVICE_TITLE := TP-LINK TL-MR3040 v1
350   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
351   BOARDNAME := TL-MR3040
352   DEVICE_PROFILE := TLMR3040
353   TPLINK_HWID := 0x30400001
354   CONSOLE := ttyATH0,115200
355 endef
356
357 define Device/tl-mr3040-v2
358   $(Device/tplink-4mlzma)
359   DEVICE_TITLE := TP-LINK TL-MR3040 v2
360   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
361   BOARDNAME := TL-MR3040-v2
362   DEVICE_PROFILE := TLMR3040
363   TPLINK_HWID := 0x30400002
364   CONSOLE := ttyATH0,115200
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-wa850re-v2
517   $(Device/tplink)
518   DEVICE_TITLE := TP-LINK TL-WA850RE v2
519   DEVICE_PACKAGES := rssileds
520   BOARDNAME := TL-WA850RE-V2
521   DEVICE_PROFILE := TLWA850
522   TPLINK_BOARD_NAME := TLWA850REV2
523   TPLINK_HWID := 0x08500002
524   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
525   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
526   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
527   MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),2304k(rootfs),256k(config)ro,64k(art)ro,3648k@0x20000(firmware)
528 endef
529
530 define Device/tl-wa860re-v1
531   $(Device/tplink-4mlzma)
532   DEVICE_TITLE := TP-LINK TL-WA860RE v1
533   BOARDNAME := TL-WA860RE
534   DEVICE_PROFILE := TLWA860
535   TPLINK_HWID := 0x08600001
536 endef
537 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa850re-v2 tl-wa860re-v1
538
539 define Device/tl-wa901nd-v1
540   $(Device/tplink-4m)
541   DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
542   BOARDNAME := TL-WA901ND
543   DEVICE_PROFILE := TLWA901
544   TPLINK_HWID := 0x09010001
545 endef
546
547 define Device/tl-wa901nd-v2
548   $(Device/tplink-4m)
549   DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
550   BOARDNAME := TL-WA901ND-v2
551   DEVICE_PROFILE := TLWA901
552   TPLINK_HWID := 0x09010002
553 endef
554
555 define Device/tl-wa901nd-v3
556   $(Device/tplink-4mlzma)
557   DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
558   BOARDNAME := TL-WA901ND-v3
559   DEVICE_PROFILE := TLWA901
560   TPLINK_HWID := 0x09010003
561 endef
562
563 define Device/tl-wa901nd-v4
564   $(Device/tplink-4mlzma)
565   DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
566   BOARDNAME := TL-WA901ND-v4
567   DEVICE_PROFILE := TLWA901
568   TPLINK_HWID := 0x09010004
569   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
570 endef
571 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
572
573 define Device/tl-wdr3320-v2
574   $(Device/tplink-4mlzma)
575   DEVICE_TITLE := TP-LINK TL-WDR3320 v2
576   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
577   BOARDNAME := TL-WDR3320-v2
578   DEVICE_PROFILE := TLWDR3320V2
579   TPLINK_HWID := 0x33200002
580   TPLINK_HEADER_VERSION := 2
581 endef
582
583 define Device/tl-wdr3500-v1
584   $(Device/tplink-8mlzma)
585   DEVICE_TITLE := TP-LINK TL-WDR3500 v1
586   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
587   BOARDNAME := TL-WDR3500
588   DEVICE_PROFILE := TLWDR4300
589   TPLINK_HWID := 0x35000001
590 endef
591
592 define Device/tl-wdr3600-v1
593   $(Device/tplink-8mlzma)
594   DEVICE_TITLE := TP-LINK TL-WDR3600 v1
595   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
596   BOARDNAME := TL-WDR4300
597   DEVICE_PROFILE := TLWDR4300
598   TPLINK_HWID := 0x36000001
599   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
600 endef
601
602 define Device/tl-wdr4300-v1
603   $(Device/tplink-8mlzma)
604   DEVICE_TITLE := TP-LINK TL-WDR4300 v1
605   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
606   BOARDNAME := TL-WDR4300
607   DEVICE_PROFILE := TLWDR4300
608   TPLINK_HWID := 0x43000001
609   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
610 endef
611
612 define Device/tl-wdr4300-v1-il
613   $(Device/tplink-8mlzma)
614   DEVICE_TITLE := TP-LINK TL-WDR4300 v1 (IL)
615   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
616   BOARDNAME := TL-WDR4300
617   DEVICE_PROFILE := TLWDR4300
618   TPLINK_HWID := 0x43008001
619 endef
620
621 define Device/tl-wdr4310-v1
622   $(Device/tplink-8mlzma)
623   DEVICE_TITLE := TP-LINK TL-WDR4310 v1
624   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
625   BOARDNAME := TL-WDR4300
626   DEVICE_PROFILE := TLWDR4300
627   TPLINK_HWID := 0x43100001
628 endef
629
630 define Device/tl-wdr4900-v2
631   $(Device/tplink-8mlzma)
632   DEVICE_TITLE := TP-LINK TL-WDR4900 v2
633   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
634   BOARDNAME := TL-WDR4900-v2
635   DEVICE_PROFILE := TLWDR4900V2
636   TPLINK_HWID := 0x49000002
637 endef
638
639 define Device/tl-wdr6500-v2
640   $(Device/tplink-8mlzma)
641   DEVICE_TITLE := TP-LINK TL-WDR6500 v2
642   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
643   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
644   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-combined
645   BOARDNAME := TL-WDR6500-v2
646   DEVICE_PROFILE := TLWDR6500V2
647   TPLINK_HWID := 0x65000002
648   TPLINK_HEADER_VERSION := 2
649 endef
650
651 define Device/mw4530r-v1
652   $(Device/tl-wdr4300-v1)
653   DEVICE_TITLE := Mercury MW4530R v1
654   TPLINK_HWID := 0x45300001
655 endef
656 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
657
658 define Device/tl-wpa8630-v1
659   $(Device/tplink-8mlzma)
660   DEVICE_TITLE := TP-LINK TL-WPA8630 v1
661   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
662   BOARDNAME := TL-WPA8630
663   DEVICE_PROFILE := TL-WPA8630
664   TPLINK_HWID := 0x86300001
665 endef
666 TARGET_DEVICES += tl-wpa8630-v1
667
668 define Device/tl-wr1041n-v2
669   $(Device/tplink-4mlzma)
670   DEVICE_TITLE := TP-LINK TL-WR1041N v2
671   BOARDNAME := TL-WR1041N-v2
672   DEVICE_PROFILE := TLWR1041
673   TPLINK_HWID := 0x10410002
674 endef
675 TARGET_DEVICES += tl-wr1041n-v2
676
677 define Device/tl-wr1043nd-v1
678   $(Device/tplink-8m)
679   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
680   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
681   BOARDNAME := TL-WR1043ND
682   DEVICE_PROFILE := TLWR1043
683   TPLINK_HWID := 0x10430001
684 endef
685
686 define Device/tl-wr1043nd-v2
687   $(Device/tplink-8mlzma)
688   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
689   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
690   BOARDNAME := TL-WR1043ND-v2
691   DEVICE_PROFILE := TLWR1043
692   TPLINK_HWID := 0x10430002
693 endef
694
695 define Device/tl-wr1043nd-v3
696   $(Device/tplink-8mlzma)
697   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
698   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
699   BOARDNAME := TL-WR1043ND-v2
700   DEVICE_PROFILE := TLWR1043
701   TPLINK_HWID := 0x10430003
702 endef
703
704 define Device/tl-wr1043nd-v4
705   $(Device/tplink)
706   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v4
707   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
708   BOARDNAME := TL-WR1043ND-v4
709   DEVICE_PROFILE := TLWR1043
710   TPLINK_HWID :=  0x10430004
711   TPLINK_FLASHLAYOUT := 16Msafeloader
712   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)
713   IMAGE_SIZE := 15552k
714   TPLINK_BOARD_NAME := TLWR1043NDV4
715   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-combined
716   IMAGES := sysupgrade.bin factory.bin
717   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
718   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
719 endef
720
721 define Device/tl-wr2543-v1
722   $(Device/tplink-8mlzma)
723   DEVICE_TITLE := TP-LINK TL-WR2543N/ND v1
724   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
725   BOARDNAME := TL-WR2543N
726   DEVICE_PROFILE := TLWR2543
727   TPLINK_HWID := 0x25430001
728   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
729   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
730 endef
731 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3 tl-wr1043nd-v4 tl-wr2543-v1
732
733 define Device/tl-wr703n-v1
734   $(Device/tplink-4mlzma)
735   DEVICE_TITLE := TP-LINK TL-WR703N v1
736   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
737   BOARDNAME := TL-WR703N
738   DEVICE_PROFILE := TLWR703
739   TPLINK_HWID := 0x07030101
740   CONSOLE := ttyATH0,115200
741 endef
742
743 define Device/tl-wr710n-v1
744   $(Device/tplink-8mlzma)
745   DEVICE_TITLE := TP-LINK TL-WR710N v1
746   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
747   BOARDNAME := TL-WR710N
748   DEVICE_PROFILE := TLWR710
749   TPLINK_HWID := 0x07100001
750   CONSOLE := ttyATH0,115200
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/tplink-8mlzma)
765   DEVICE_TITLE := TP-LINK TL-WR710N v2.1
766   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
767   BOARDNAME := TL-WR710N
768   DEVICE_PROFILE := TLWR710
769   TPLINK_HWID := 0x07100002
770   TPLINK_HWREV := 0x00000002
771   CONSOLE := ttyATH0,115200
772 endef
773
774 define Device/tl-wr720n-v3
775   $(Device/tplink-4mlzma)
776   DEVICE_TITLE := TP-LINK TL-WR720N v3
777   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
778   BOARDNAME := TL-WR720N-v3
779   DEVICE_PROFILE := TLWR720
780   TPLINK_HWID := 0x07200103
781   CONSOLE := ttyATH0,115200
782 endef
783
784 define Device/tl-wr720n-v4
785   $(Device/tplink-4mlzma)
786   DEVICE_TITLE := TP-LINK TL-WR720N v4
787   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
788   BOARDNAME := TL-WR720N-v3
789   DEVICE_PROFILE := TLWR720
790   TPLINK_HWID := 0x07200104
791   CONSOLE := ttyATH0,115200
792 endef
793 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
794
795 define Device/tl-wr740n-v1
796   $(Device/tplink-4m)
797   DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
798   BOARDNAME := TL-WR741ND
799   DEVICE_PROFILE := TLWR740
800   TPLINK_HWID := 0x07400001
801 endef
802
803 define Device/tl-wr740n-v3
804   $(Device/tplink-4m)
805   DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
806   BOARDNAME := TL-WR741ND
807   DEVICE_PROFILE := TLWR740
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/tplink-4mlzma)
822   DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
823   BOARDNAME := TL-WR741ND-v4
824   DEVICE_PROFILE := TLWR740
825   TPLINK_HWID := 0x07400005
826   CONSOLE := ttyATH0,115200
827 endef
828
829 define Device/tl-wr740n-v6
830   $(Device/tplink-4mlzma)
831   DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
832   BOARDNAME := TL-WR740N-v6
833   DEVICE_PROFILE := TLWR740
834   TPLINK_HWID := 0x07400006
835 endef
836 TARGET_DEVICES += tl-wr740n-v1 tl-wr740n-v3 tl-wr740n-v4 tl-wr740n-v5 tl-wr740n-v6
837
838 define Device/tl-wr741nd-v1
839   $(Device/tplink-4m)
840   DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
841   BOARDNAME := TL-WR741ND
842   DEVICE_PROFILE := TLWR741
843   TPLINK_HWID := 0x07410001
844 endef
845
846 define Device/tl-wr741nd-v2
847   $(Device/tplink-4m)
848   DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
849   BOARDNAME := TL-WR741ND
850   DEVICE_PROFILE := TLWR741
851   TPLINK_HWID := 0x07410001
852 endef
853
854 define Device/tl-wr741nd-v4
855   $(Device/tplink-4mlzma)
856   DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
857   BOARDNAME := TL-WR741ND-v4
858   DEVICE_PROFILE := TLWR741
859   TPLINK_HWID := 0x07410004
860   CONSOLE := ttyATH0,115200
861 endef
862
863 define Device/tl-wr741nd-v5
864   $(Device/tplink-4mlzma)
865   DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
866   BOARDNAME := TL-WR741ND-v4
867   DEVICE_PROFILE := TLWR741
868   TPLINK_HWID := 0x07400005
869   CONSOLE := ttyATH0,115200
870 endef
871
872 define Device/tl-wr743nd-v1
873   $(Device/tplink-4m)
874   DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
875   BOARDNAME := TL-WR741ND
876   DEVICE_PROFILE := TLWR743
877   TPLINK_HWID := 0x07430001
878 endef
879
880 define Device/tl-wr743nd-v2
881   $(Device/tplink-4mlzma)
882   DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
883   BOARDNAME := TL-WR741ND-v4
884   DEVICE_PROFILE := TLWR743
885   TPLINK_HWID := 0x07430002
886   CONSOLE := ttyATH0,115200
887 endef
888 TARGET_DEVICES += tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr741nd-v5 tl-wr743nd-v1 tl-wr743nd-v2
889
890 define Device/tl-wr802n-v1
891   $(Device/tplink-4mlzma)
892   DEVICE_TITLE := TP-LINK TL-WR802N v1
893   BOARDNAME := TL-WR802N-v1
894   DEVICE_PROFILE := TLWR802
895   TPLINK_HWID := 0x08020001
896   TPLINK_HWREV := 1
897 endef
898
899 define Device/tl-wr802n-v2
900   $(Device/tplink-4mlzma)
901   DEVICE_TITLE := TP-LINK TL-WR802N v2
902   BOARDNAME := TL-WR802N-v2
903   DEVICE_PROFILE := TLWR802
904   TPLINK_HWID := 0x08020002
905   TPLINK_HWREV := 2
906   IMAGES += factory-us.bin factory-eu.bin
907   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
908   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
909 endef
910
911 define Device/tl-wr810n-v1
912   $(Device/tplink-8mlzma)
913   DEVICE_TITLE := TP-LINK TL-WR810N v1
914   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
915   BOARDNAME := TL-WR810N
916   DEVICE_PROFILE := TLWR810
917   TPLINK_HWID := 0x08100001
918 endef
919
920 define Device/tl-wr840n-v2
921   $(Device/tplink-4mlzma)
922   DEVICE_TITLE := TP-LINK TL-WR840N v2
923   BOARDNAME := TL-WR840N-v2
924   DEVICE_PROFILE := TLWR840
925   TPLINK_HWID := 0x08400002
926   IMAGES += factory-eu.bin
927   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
928 endef
929
930 define Device/tl-wr840n-v3
931   $(Device/tl-wr840n-v2)
932   DEVICE_TITLE := TP-LINK TL-WR840N v3
933   BOARDNAME := TL-WR840N-v3
934   TPLINK_HWID := 0x08400003
935 endef
936 TARGET_DEVICES += tl-wr802n-v1 tl-wr802n-v2 tl-wr810n-v1 tl-wr840n-v2 tl-wr840n-v3
937
938 define Device/tl-wr841-v1.5
939   $(Device/tplink-4m)
940   DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
941   BOARDNAME := TL-WR841N-v1.5
942   DEVICE_PROFILE := TLWR841
943   TPLINK_HWID := 0x08410002
944   TPLINK_HWREV := 2
945 endef
946
947 define Device/tl-wr841-v3
948   $(Device/tplink-4m)
949   DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
950   BOARDNAME := TL-WR941ND
951   DEVICE_PROFILE := TLWR841
952   TPLINK_HWID := 0x08410003
953   TPLINK_HWREV := 3
954 endef
955
956 define Device/tl-wr841-v5
957   $(Device/tplink-4m)
958   DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
959   BOARDNAME := TL-WR741ND
960   DEVICE_PROFILE := TLWR841
961   TPLINK_HWID := 0x08410005
962 endef
963
964 define Device/tl-wr841-v7
965   $(Device/tplink-4m)
966   DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
967   BOARDNAME := TL-WR841N-v7
968   DEVICE_PROFILE := TLWR841
969   TPLINK_HWID := 0x08410007
970 endef
971
972 define Device/tl-wr841-v8
973   $(Device/tplink-4mlzma)
974   DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
975   BOARDNAME := TL-WR841N-v8
976   DEVICE_PROFILE := TLWR841
977   TPLINK_HWID := 0x08410008
978 endef
979
980 define Device/tl-wr841-v9
981   $(Device/tplink-4mlzma)
982   DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
983   BOARDNAME := TL-WR841N-v9
984   DEVICE_PROFILE := TLWR841
985   TPLINK_HWID := 0x08410009
986 endef
987
988 define Device/tl-wr841-v10
989   $(Device/tplink-4mlzma)
990   DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
991   BOARDNAME := TL-WR841N-v9
992   DEVICE_PROFILE := TLWR841
993   TPLINK_HWID := 0x08410010
994 endef
995
996 define Device/tl-wr841-v11
997   $(Device/tplink-4mlzma)
998   DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
999   BOARDNAME := TL-WR841N-v11
1000   DEVICE_PROFILE := TLWR841
1001   TPLINK_HWID := 0x08410011
1002   IMAGES += factory-us.bin factory-eu.bin
1003   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
1004   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
1005 endef
1006
1007 define Device/tl-wr841-v12
1008   $(Device/tl-wr841-v11)
1009   DEVICE_TITLE := TP-LINK TL-WR841N/ND v12
1010   TPLINK_HWID := 0x08410012
1011 endef
1012 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
1013
1014 define Device/tl-wr842n-v1
1015   $(Device/tplink-8m)
1016   DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
1017   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1018   BOARDNAME := TL-MR3420
1019   DEVICE_PROFILE := TLWR842
1020   TPLINK_HWID := 0x08420001
1021 endef
1022
1023 define Device/tl-wr842n-v2
1024   $(Device/tplink-8mlzma)
1025   DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
1026   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1027   BOARDNAME := TL-WR842N-v2
1028   DEVICE_PROFILE := TLWR842
1029   TPLINK_HWID := 0x8420002
1030 endef
1031
1032 define Device/tl-wr842n-v3
1033   $(Device/tplink-16mlzma)
1034   DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
1035   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1036   BOARDNAME := TL-WR842N-v3
1037   DEVICE_PROFILE := TLWR842
1038   TPLINK_HWID := 0x08420003
1039 endef
1040
1041 define Device/tl-wr843nd-v1
1042   $(Device/tplink-4mlzma)
1043   DEVICE_TITLE := TP-LINK TL-WR843N/ND v1
1044   BOARDNAME := TL-WR841N-v8
1045   DEVICE_PROFILE := TLWR843
1046   TPLINK_HWID := 0x08430001
1047 endef
1048
1049 define Device/tl-wr847n-v8
1050   $(Device/tplink-4mlzma)
1051   DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
1052   BOARDNAME := TL-WR841N-v8
1053   DEVICE_PROFILE := TLWR841
1054   TPLINK_HWID := 0x08470008
1055 endef
1056 TARGET_DEVICES += tl-wr842n-v1 tl-wr842n-v2 tl-wr842n-v3 tl-wr843nd-v1 tl-wr847n-v8
1057
1058 define Device/tl-wr940n-v4
1059   $(Device/tplink-4mlzma)
1060   DEVICE_TITLE := TP-LINK TL-WR940N v4
1061   BOARDNAME := TL-WR940N-v4
1062   DEVICE_PROFILE := TLWR941
1063   TPLINK_HWID := 0x09400004
1064   IMAGES += factory-us.bin factory-eu.bin
1065   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
1066   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
1067 endef
1068
1069 define Device/tl-wr941nd-v2
1070   $(Device/tplink-4m)
1071   DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
1072   BOARDNAME := TL-WR941ND
1073   DEVICE_PROFILE := TLWR941
1074   TPLINK_HWID := 0x09410002
1075   TPLINK_HWREV := 2
1076 endef
1077
1078 define Device/tl-wr941nd-v3
1079   $(Device/tplink-4m)
1080   DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
1081   BOARDNAME := TL-WR941ND
1082   DEVICE_PROFILE := TLWR941
1083   TPLINK_HWID := 0x09410002
1084   TPLINK_HWREV := 2
1085 endef
1086
1087 define Device/tl-wr941nd-v4
1088   $(Device/tplink-4m)
1089   DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
1090   BOARDNAME := TL-WR741ND
1091   DEVICE_PROFILE := TLWR941
1092   TPLINK_HWID := 0x09410004
1093 endef
1094
1095 define Device/tl-wr941nd-v5
1096   $(Device/tplink-4mlzma)
1097   DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
1098   BOARDNAME := TL-WR941ND-v5
1099   DEVICE_PROFILE := TLWR941
1100   TPLINK_HWID := 0x09410005
1101 endef
1102
1103 define Device/tl-wr941nd-v6
1104   $(Device/tplink-4mlzma)
1105   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
1106   BOARDNAME := TL-WR941ND-v6
1107   DEVICE_PROFILE := TLWR941
1108   TPLINK_HWID := 0x09410006
1109 endef
1110
1111 # Chinese version (unlike European) is similar to the TL-WDR3500
1112 define Device/tl-wr941nd-v6-cn
1113   $(Device/tplink-4mlzma)
1114   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
1115   BOARDNAME := TL-WDR3500
1116   DEVICE_PROFILE := TLWR941
1117   TPLINK_HWID := 0x09410006
1118 endef
1119
1120 define Device/tl-wr942n-v1
1121   DEVICE_TITLE := TP-LINK TL-WR942N v1
1122   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
1123   BOARDNAME := TL-WR942N-V1
1124   TPLINK_BOARD_NAME := TLWR942NV1
1125   DEVICE_PROFILE := TLWR942
1126   IMAGE_SIZE := 14464k
1127   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
1128   IMAGES := sysupgrade.bin factory.bin
1129   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
1130   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
1131   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)
1132 endef
1133 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