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