f69424d5059a0de9f96993758e6fdbfcfe614c90
[lede.git] / target / linux / ar71xx / image / tp-link.mk
1 DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_BOARD_NAME
2
3 # combine kernel and rootfs into one image
4 # mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
5 # <type> is "sysupgrade" or "factory"
6 #
7 # -a align the rootfs start on an <align> bytes boundary
8 # -j add jffs2 end-of-filesystem markers
9 # -s strip padding from end of the image
10 # -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
11 define Build/mktplinkfw
12         -$(STAGING_DIR_HOST)/bin/mktplinkfw \
13                 -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
14                 -m $(TPLINK_HEADER_VERSION) \
15                 -k $(IMAGE_KERNEL) \
16                 -r $@ \
17                 -o $@.new \
18                 -j -X 0x40000 \
19                 -a $(call rootfs_align,$(FILESYSTEM)) \
20                 $(wordlist 2,$(words $(1)),$(1)) \
21                 $(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
22 endef
23
24 # mktplinkfw-initramfs <optional extra arguments to mktplinkfw binary>
25 #
26 # -c combined image
27 define Build/mktplinkfw-initramfs
28         $(STAGING_DIR_HOST)/bin/mktplinkfw \
29                 -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $(1) \
30                 -m $(TPLINK_HEADER_VERSION) \
31                 -k $@ \
32                 -o $@.new \
33                 -s -S \
34                 -c
35         @mv $@.new $@
36 endef
37
38 define Device/tplink
39   TPLINK_HWREV := 0x1
40   TPLINK_HEADER_VERSION := 1
41   LOADER_TYPE := gz
42   KERNEL := kernel-bin | patch-cmdline | lzma
43   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | mktplinkfw-initramfs
44   IMAGES := sysupgrade.bin factory.bin
45   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
46   IMAGE/factory.bin := append-rootfs | mktplinkfw factory
47 endef
48
49 define Device/tplink-nolzma
50 $(Device/tplink)
51   LOADER_FLASH_OFFS := 0x22000
52   COMPILE := loader-$(1).gz
53   COMPILE/loader-$(1).gz := loader-okli-compile
54   KERNEL := copy-file $(KDIR)/vmlinux.bin.lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1)
55   KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux-initramfs.bin.lzma | loader-kernel-cmdline | mktplinkfw-initramfs
56 endef
57
58 define Device/tplink-4m
59 $(Device/tplink-nolzma)
60   TPLINK_FLASHLAYOUT := 4M
61   IMAGE_SIZE := 3904k
62 endef
63
64 define Device/tplink-8m
65 $(Device/tplink-nolzma)
66   TPLINK_FLASHLAYOUT := 8M
67   IMAGE_SIZE := 7936k
68 endef
69
70 define Device/tplink-4mlzma
71 $(Device/tplink)
72   TPLINK_FLASHLAYOUT := 4Mlzma
73   IMAGE_SIZE := 3904k
74 endef
75
76 define Device/tplink-8mlzma
77 $(Device/tplink)
78   TPLINK_FLASHLAYOUT := 8Mlzma
79   IMAGE_SIZE := 7936k
80 endef
81
82 define Device/tplink-16mlzma
83 $(Device/tplink)
84   TPLINK_FLASHLAYOUT := 16Mlzma
85   IMAGE_SIZE := 15872k
86 endef
87
88 define Device/cpe510-520
89   DEVICE_TITLE := TP-LINK CPE510/520
90   DEVICE_PACKAGES := rssileds
91   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)
92   IMAGE_SIZE := 7680k
93   BOARDNAME := CPE510
94   TPLINK_BOARD_NAME := CPE510
95   DEVICE_PROFILE := CPE510
96   LOADER_TYPE := elf
97   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
98   IMAGES := sysupgrade.bin factory.bin
99   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
100   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
101 endef
102
103 define Device/cpe210-220
104 $(Device/cpe510-520)
105   DEVICE_TITLE := TP-LINK CPE210/220
106   DEVICE_PACKAGES := rssileds
107   BOARDNAME := CPE210
108   TPLINK_BOARD_NAME := CPE210
109 endef
110 TARGET_DEVICES += cpe210-220 cpe510-520
111
112 define Device/eap120
113   DEVICE_TITLE := TP-LINK EAP120
114   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)
115   IMAGE_SIZE := 15872k
116   BOARDNAME := EAP120
117   TPLINK_BOARD_NAME := EAP120
118   DEVICE_PROFILE := EAP120
119   LOADER_TYPE := elf
120   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
121   IMAGES := sysupgrade.bin factory.bin
122   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
123   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
124 endef
125 TARGET_DEVICES += eap120
126
127 define Device/tl-wdr4300-v1
128 $(Device/tplink-8mlzma)
129   DEVICE_TITLE := TP-LINK TL-WDR4300 v1
130   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
131   BOARDNAME := TL-WDR4300
132   DEVICE_PROFILE := TLWDR4300
133   TPLINK_HWID := 0x43000001
134   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
135 endef
136
137 define Device/tl-wdr3500-v1
138 $(Device/tplink-8mlzma)
139   DEVICE_TITLE := TP-LINK TL-WDR3500 v1
140   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
141   BOARDNAME := TL-WDR3500
142   DEVICE_PROFILE := TLWDR4300
143   TPLINK_HWID := 0x35000001
144 endef
145
146 define Device/tl-wdr3600-v1
147 $(Device/tplink-8mlzma)
148   DEVICE_TITLE := TP-LINK TL-WDR3600 v1
149   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
150   BOARDNAME := TL-WDR4300
151   DEVICE_PROFILE := TLWDR4300
152   TPLINK_HWID := 0x36000001
153   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
154 endef
155
156 define Device/tl-wdr4300-v1-il
157 $(Device/tplink-8mlzma)
158   DEVICE_TITLE := TP-LINK TL-WDR4300 v1 IL
159   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
160   BOARDNAME := TL-WDR4300
161   DEVICE_PROFILE := TLWDR4300
162   TPLINK_HWID := 0x43008001
163 endef
164
165 define Device/tl-wdr4310-v1
166 $(Device/tplink-8mlzma)
167   DEVICE_TITLE := TP-LINK TL-WDR4310 v1
168   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
169   BOARDNAME := TL-WDR4300
170   DEVICE_PROFILE = TLWDR4300
171   TPLINK_HWID := 0x43100001
172 endef
173
174 define Device/mw4530r-v1
175 $(Device/tl-wdr4300-v1)
176   DEVICE_TITLE := Mercury MW4530R v1
177   TPLINK_HWID := 0x45300001
178 endef
179 TARGET_DEVICES += tl-wdr3500-v1 tl-wdr3600-v1 tl-wdr4300-v1 tl-wdr4300-v1-il tl-wdr4310-v1 mw4530r-v1
180
181 define Device/tl-wdr6500-v2
182 $(Device/tplink-8mlzma)
183   DEVICE_TITLE := TP-LINK TL-WDR6500v2
184   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
185   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
186   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-initramfs
187   BOARDNAME = TL-WDR6500-v2
188   DEVICE_PROFILE = TLWDR6500V2
189   TPLINK_HWID := 0x65000002
190   TPLINK_HEADER_VERSION := 2
191 endef
192 TARGET_DEVICES += tl-wdr6500-v2
193
194 define Device/tl-wdr3320-v2
195 $(Device/tplink-4mlzma)
196   DEVICE_TITLE := TP-LINK TL-WDR3320v2
197   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
198   BOARDNAME = TL-WDR3320-v2
199   DEVICE_PROFILE = TLWDR3320V2
200   TPLINK_HWID := 0x33200002
201   TPLINK_HEADER_VERSION := 2
202 endef
203 TARGET_DEVICES += tl-wdr3320-v2
204
205 define Device/archer-c5-v1
206     $(Device/tplink-16mlzma)
207     DEVICE_TITLE := TP-LINK Archer C5
208     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
209     BOARDNAME := ARCHER-C5
210     DEVICE_PROFILE := ARCHERC7
211     TPLINK_HWID := 0xc5000001
212 endef
213
214 define Device/archer-c7-v1
215     $(Device/tplink-8mlzma)
216     DEVICE_TITLE := TP-LINK Archer C7 v1
217     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
218     BOARDNAME := ARCHER-C7
219     DEVICE_PROFILE := ARCHERC7
220     TPLINK_HWID := 0x75000001
221 endef
222
223 define Device/archer-c7-v2
224     $(Device/tplink-16mlzma)
225     DEVICE_TITLE := TP-LINK Archer C7 v2
226     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
227     BOARDNAME := ARCHER-C7-V2
228     DEVICE_PROFILE := ARCHERC7
229     TPLINK_HWID := 0xc7000002
230     IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
231     IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
232     IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
233 endef
234
235 define Device/archer-c7-v2-il
236     $(Device/tplink-16mlzma)
237     DEVICE_TITLE := TP-LINK Archer C7 v2 IL
238     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
239     BOARDNAME := ARCHER-C7-V2
240     DEVICE_PROFILE := ARCHERC7
241     TPLINK_HWID := 0xc7000002
242     TPLINK_HWREV := 0x494c0001
243 endef
244
245 define Device/tl-wdr7500-v3
246     $(Device/tplink-8mlzma)
247     DEVICE_TITLE := TP-LINK Archer C7 v3
248     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
249     BOARDNAME := ARCHER-C7
250     DEVICE_PROFILE := ARCHERC7
251     TPLINK_HWID := 0x75000003
252 endef
253 TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 archer-c7-v2-il tl-wdr7500-v3
254
255 define Device/tl-mr10u-v1
256     $(Device/tplink-4mlzma)
257     DEVICE_TITLE := TP-LINK TL-MR10U
258     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
259     BOARDNAME := TL-MR10U
260     DEVICE_PROFILE := TLMR10U
261     TPLINK_HWID := 0x00100101
262     CONSOLE := ttyATH0,115200
263 endef
264
265 define Device/tl-mr11u-v1
266     $(Device/tplink-4mlzma)
267     DEVICE_TITLE := TP-LINK TL-MR11U
268     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
269     BOARDNAME := TL-MR11U
270     DEVICE_PROFILE := TLMR11U
271     TPLINK_HWID := 0x00110101
272     CONSOLE := ttyATH0,115200
273 endef
274
275 define Device/tl-mr11u-v2
276     $(Device/tplink-4mlzma)
277     DEVICE_TITLE := TP-LINK TL-MR11U v2
278     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
279     BOARDNAME := TL-MR11U
280     DEVICE_PROFILE := TLMR11U
281     TPLINK_HWID := 0x00110102
282     CONSOLE := ttyATH0,115200
283 endef
284
285 define Device/tl-mr12u-v1
286     $(Device/tplink-4mlzma)
287     DEVICE_TITLE := TP-LINK TL-MR12U
288     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
289     BOARDNAME := TL-MR13U
290     DEVICE_PROFILE := TLMR12U
291     TPLINK_HWID := 0x00120101
292     CONSOLE := ttyATH0,115200
293 endef
294
295 define Device/tl-mr13u-v1
296     $(Device/tplink-4mlzma)
297     DEVICE_TITLE := TP-LINK TL-MR13U
298     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
299     BOARDNAME := TL-MR13U
300     DEVICE_PROFILE := TLMR13U
301     TPLINK_HWID := 0x00130101
302     CONSOLE := ttyATH0,115200
303 endef
304 TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
305
306 define Device/tl-mr3020-v1
307     $(Device/tplink-4mlzma)
308     DEVICE_TITLE := TP-LINK TL-MR3020
309     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
310     BOARDNAME := TL-MR3020
311     DEVICE_PROFILE := TLMR3020
312     TPLINK_HWID := 0x30200001
313     CONSOLE := ttyATH0,115200
314 endef
315
316 define Device/tl-mr3040-v1
317     $(Device/tplink-4mlzma)
318     DEVICE_TITLE := TP-LINK TL-MR3040
319     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
320     BOARDNAME := TL-MR3040
321     DEVICE_PROFILE := TLMR3040
322     TPLINK_HWID := 0x30400001
323     CONSOLE := ttyATH0,115200
324 endef
325
326 define Device/tl-mr3040-v2
327     $(Device/tplink-4mlzma)
328     DEVICE_TITLE := TP-LINK TL-MR3040
329     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
330     BOARDNAME := TL-MR3040-v2
331     DEVICE_PROFILE := TLMR3040
332     TPLINK_HWID := 0x30400002
333     CONSOLE := ttyATH0,115200
334 endef
335
336 define Device/tl-mr3220-v1
337     $(Device/tplink-4m)
338     DEVICE_TITLE := TP-LINK TL-MR3220
339     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
340     BOARDNAME := TL-MR3220
341     DEVICE_PROFILE := TLMR3220
342     TPLINK_HWID := 0x32200001
343 endef
344
345 define Device/tl-mr3220-v2
346     $(Device/tplink-4mlzma)
347     DEVICE_TITLE := TP-LINK TL-MR3220 v2
348     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
349     BOARDNAME := TL-MR3220-v2
350     DEVICE_PROFILE := TLMR3220
351     TPLINK_HWID := 0x32200002
352     CONSOLE := ttyATH0,115200
353 endef
354
355 define Device/tl-mr3420-v1
356     $(Device/tplink-4m)
357     DEVICE_TITLE := TP-LINK TL-MR3420
358     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
359     BOARDNAME := TL-MR3420
360     DEVICE_PROFILE := TLMR3420
361     TPLINK_HWID := 0x34200001
362 endef
363
364 define Device/tl-mr3420-v2
365     $(Device/tplink-4mlzma)
366     DEVICE_TITLE := TP-LINK TL-MR3420 v2
367     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
368     BOARDNAME := TL-MR3420-v2
369     DEVICE_PROFILE := TLMR3420
370     TPLINK_HWID := 0x34200002
371 endef
372 TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-v2 tl-mr3420-v1 tl-mr3420-v2
373
374 define Device/tl-wpa8630
375     $(Device/tplink-8mlzma)
376     DEVICE_TITLE := TP-LINK TL-WPA8630
377     DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
378     BOARDNAME := TL-WPA8630
379     DEVICE_PROFILE := TL-WPA8630
380     TPLINK_HWID := 0x86300001
381     MTDPARTS = spi0.0:64k(u-boot)ro,1344k(kernel),6656k(rootfs),64k(mib0)ro,64k(ART)ro,8000k@0x10000(firmware)
382     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -a 0x10000
383 endef
384 TARGET_DEVICES += tl-wpa8630
385
386 define Device/tl-wr703n-v1
387     $(Device/tplink-4mlzma)
388     DEVICE_TITLE := TP-LINK TL-WR703N
389     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
390     BOARDNAME := TL-WR703N
391     DEVICE_PROFILE := TLWR703
392     TPLINK_HWID := 0x07030101
393     CONSOLE := ttyATH0,115200
394 endef
395
396 define Device/tl-wr710n-v1
397     $(Device/tplink-8mlzma)
398     DEVICE_TITLE := TP-LINK TL-WR710N
399     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
400     BOARDNAME := TL-WR710N
401     DEVICE_PROFILE := TLWR710
402     TPLINK_HWID := 0x07100001
403     CONSOLE := ttyATH0,115200
404 endef
405
406 define Device/tl-wr710n-v2
407     $(Device/tplink-4mlzma)
408     DEVICE_TITLE := TP-LINK TL-WR710N v2
409     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
410     BOARDNAME := TL-WR710N v2
411     DEVICE_PROFILE := TLWR710
412     TPLINK_HWID := 0x07100002
413     CONSOLE := ttyATH0,115200
414 endef
415
416 define Device/tl-wr710n-v2.1
417     $(Device/tplink-8mlzma)
418     DEVICE_TITLE := TP-LINK TL-WR710N v2.1
419     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
420     BOARDNAME := TL-WR710N v2.1
421     DEVICE_PROFILE := TLWR710
422     TPLINK_HWID := 0x07100002
423     TPLINK_HWREV := 0x00000002
424     CONSOLE := ttyATH0,115200
425 endef
426
427 define Device/tl-wr720n-v3
428     $(Device/tplink-4mlzma)
429     DEVICE_TITLE := TP-LINK TL-WR720N v3
430     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
431     BOARDNAME := TL-WR720N-v3
432     DEVICE_PROFILE := TLWR720
433     TPLINK_HWID := 0x07200103
434     CONSOLE := ttyATH0,115200
435 endef
436
437 define Device/tl-wr720n-v4
438     $(Device/tplink-4mlzma)
439     DEVICE_TITLE := TP-LINK TL-WR720N v4
440     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
441     BOARDNAME := TL-WR720N-v3
442     DEVICE_PROFILE := TLWR720
443     TPLINK_HWID := 0x07200104
444     CONSOLE := ttyATH0,115200
445 endef
446 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
447
448 define Device/tl-wr740n-v1
449     $(Device/tplink-4m)
450     DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
451     BOARDNAME := TL-WR741ND
452     DEVICE_PROFILE := TLWR740
453     TPLINK_HWID := 0x07400001
454 endef
455
456 define Device/tl-wr740n-v3
457     $(Device/tplink-4m)
458     DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
459     BOARDNAME := TL-WR741ND
460     DEVICE_PROFILE := TLWR740
461     TPLINK_HWID := 0x07400003
462 endef
463
464 define Device/tl-wr740n-v4
465     $(Device/tplink-4mlzma)
466     DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
467     BOARDNAME := TL-WR741ND-v4
468     DEVICE_PROFILE := TLWR740
469     TPLINK_HWID := 0x07400004
470     CONSOLE := ttyATH0,115200
471 endef
472
473 define Device/tl-wr740n-v5
474     $(Device/tplink-4mlzma)
475     DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
476     BOARDNAME := TL-WR741ND-v4
477     DEVICE_PROFILE := TLWR740
478     TPLINK_HWID := 0x07400005
479     CONSOLE := ttyATH0,115200
480 endef
481
482 define Device/tl-wr740n-v6
483     $(Device/tplink-4mlzma)
484     DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
485     BOARDNAME := TL-WR841N-v9
486     DEVICE_PROFILE := TLWR740
487     TPLINK_HWID := 0x07400006
488 endef
489
490 define Device/tl-wr741nd-v1
491     $(Device/tplink-4m)
492     DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
493     BOARDNAME := TL-WR741ND
494     DEVICE_PROFILE := TLWR741
495     TPLINK_HWID := 0x07410001
496 endef
497
498 define Device/tl-wr741nd-v2
499     $(Device/tplink-4m)
500     DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
501     BOARDNAME := TL-WR741ND
502     DEVICE_PROFILE := TLWR741
503     TPLINK_HWID := 0x07410001
504 endef
505
506 define Device/tl-wr741nd-v4
507     $(Device/tplink-4mlzma)
508     DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
509     BOARDNAME := TL-WR741ND-v4
510     DEVICE_PROFILE := TLWR741
511     TPLINK_HWID := 0x07410004
512     CONSOLE := ttyATH0,115200
513 endef
514
515 define Device/tl-wr741nd-v5
516     $(Device/tplink-4mlzma)
517     DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
518     BOARDNAME := TL-WR741ND-v4
519     DEVICE_PROFILE := TLWR741
520     TPLINK_HWID := 0x07400005
521     CONSOLE := ttyATH0,115200
522 endef
523
524 define Device/tl-wr810n
525     $(Device/tplink-8mlzma)
526     DEVICE_TITLE := TP-Link TL-WR810N
527     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
528     BOARDNAME := TL-WR810N
529     DEVICE_PROFILE := TLWR810
530     TPLINK_HWID := 0x08100001
531 endef
532 TARGET_DEVICES += tl-wr810n
533
534 define Device/tl-wr743nd-v1
535     $(Device/tplink-4m)
536     DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
537     BOARDNAME := TL-WR741ND
538     DEVICE_PROFILE := TLWR743
539     TPLINK_HWID := 0x07430001
540 endef
541
542 define Device/tl-wr743nd-v2
543     $(Device/tplink-4mlzma)
544     DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
545     BOARDNAME := TL-WR741ND-v4
546     DEVICE_PROFILE := TLWR743
547     TPLINK_HWID := 0x07430002
548     CONSOLE := ttyATH0,115200
549 endef
550 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
551
552 define Device/tl-wr802n-v1
553     $(Device/tplink-4mlzma)
554     DEVICE_TITLE := TP-LINK TL-WR802N v1
555         BOARDNAME := TL-WR802N-v1
556     DEVICE_PROFILE := TLWR802
557     TPLINK_HWID := 0x08020001
558     TPLINK_HWREV := 1
559 endef
560 TARGET_DEVICES += tl-wr802n-v1
561
562 define Device/tl-wr841-v1.5
563     $(Device/tplink-4m)
564     DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
565     BOARDNAME := TL-WR841N-v1.5
566     DEVICE_PROFILE := TLWR841
567     TPLINK_HWID := 0x08410002
568     TPLINK_HWREV := 2
569 endef
570
571 define Device/tl-wr841-v3
572     $(Device/tplink-4m)
573     DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
574     BOARDNAME := TL-WR941ND
575     DEVICE_PROFILE := TLWR841
576     TPLINK_HWID := 0x08410003
577     TPLINK_HWREV := 3
578 endef
579
580 define Device/tl-wr841-v5
581     $(Device/tplink-4m)
582     DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
583     BOARDNAME := TL-WR741ND
584     DEVICE_PROFILE := TLWR841
585     TPLINK_HWID := 0x08410005
586 endef
587
588 define Device/tl-wr841-v7
589     $(Device/tplink-4m)
590     DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
591     BOARDNAME := TL-WR841N-v7
592     DEVICE_PROFILE := TLWR841
593     TPLINK_HWID := 0x08410007
594 endef
595
596 define Device/tl-wr841-v8
597     $(Device/tplink-4mlzma)
598     DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
599     BOARDNAME := TL-WR841N-v8
600     DEVICE_PROFILE := TLWR841
601     TPLINK_HWID := 0x08410008
602 endef
603
604 define Device/tl-wr841-v9
605     $(Device/tplink-4mlzma)
606     DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
607     BOARDNAME := TL-WR841N-v9
608     DEVICE_PROFILE := TLWR841
609     TPLINK_HWID := 0x08410009
610 endef
611
612 define Device/tl-wr841-v10
613     $(Device/tplink-4mlzma)
614     DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
615     BOARDNAME := TL-WR841N-v9
616     DEVICE_PROFILE := TLWR841
617     TPLINK_HWID := 0x08410010
618 endef
619
620 define Device/tl-wr841-v11
621    $(Device/tplink-4mlzma)
622    DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
623    BOARDNAME := TL-WR841N-v11
624    DEVICE_PROFILE := TLWR841
625    TPLINK_HWID := 0x08410011
626 endef
627
628 define Device/tl-wr842n-v1
629     $(Device/tplink-8m)
630     DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
631     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
632     BOARDNAME := TL-MR3420
633     DEVICE_PROFILE := TLWR842
634     TPLINK_HWID := 0x08420001
635 endef
636
637 define Device/tl-wr842n-v2
638     $(Device/tplink-8mlzma)
639     DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
640     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
641     BOARDNAME := TL-WR842N-v2
642     DEVICE_PROFILE := TLWR842
643     TPLINK_HWID := 0x8420002
644 endef
645
646 define Device/tl-wr842n-v3
647     $(Device/tplink-16mlzma)
648     DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
649     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
650     BOARDNAME := TL-WR842N-v3
651     DEVICE_PROFILE := TLWR842
652     TPLINK_HWID := 0x08420003
653 endef
654
655 define Device/tl-wr843nd-v1
656     $(Device/tplink-4mlzma)
657     DEVICE_TITLE := TP-LINK TL-WR843N/ND
658     BOARDNAME := TL-WR841N-v8
659     DEVICE_PROFILE := TLWR843
660     TPLINK_HWID := 0x08430001
661 endef
662
663 define Device/tl-wr847n-v8
664     $(Device/tplink-4mlzma)
665     DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
666     BOARDNAME := TL-WR841N-v8
667     DEVICE_PROFILE := TLWR841
668     TPLINK_HWID := 0x08470008
669 endef
670 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-wr842n-v1 tl-wr842n-v2 tl-wr842n-v3 tl-wr843nd-v1 tl-wr847n-v8
671
672 define Device/tl-wr941nd-v2
673     $(Device/tplink-4m)
674     DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
675     BOARDNAME := TL-WR941ND
676     DEVICE_PROFILE := TLWR941
677     TPLINK_HWID := 0x09410002
678     TPLINK_HWREV := 2
679 endef
680
681 define Device/tl-wr941nd-v3
682     $(Device/tplink-4m)
683     DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
684     BOARDNAME := TL-WR941ND
685     DEVICE_PROFILE := TLWR941
686     TPLINK_HWID := 0x09410002
687     TPLINK_HWREV := 2
688 endef
689
690 define Device/tl-wr941nd-v4
691     $(Device/tplink-4m)
692     DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
693     BOARDNAME := TL-WR741ND
694     DEVICE_PROFILE := TLWR941
695     TPLINK_HWID := 0x09410004
696 endef
697
698 define Device/tl-wr941nd-v5
699     $(Device/tplink-4mlzma)
700     DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
701     BOARDNAME := TL-WR941ND-v5
702     DEVICE_PROFILE := TLWR941
703     TPLINK_HWID := 0x09410005
704 endef
705
706 define Device/tl-wr941nd-v6
707     $(Device/tplink-4mlzma)
708     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
709     BOARDNAME := TL-WR941ND-v6
710     DEVICE_PROFILE := TLWR941
711     TPLINK_HWID := 0x09410006
712 endef
713
714 # Chinese version (unlike European) is similar to the TL-WDR3500
715 define Device/tl-wr941nd-v6-cn
716     $(Device/tplink-4mlzma)
717     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
718     BOARDNAME := TL-WDR3500
719     DEVICE_PROFILE := TLWR941
720     TPLINK_HWID := 0x09410006
721 endef
722 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn
723
724 define Device/tl-wr1041n-v2
725     $(Device/tplink-4mlzma)
726     DEVICE_TITLE := TP-LINK TL-WR1041N
727     BOARDNAME := TL-WR1041N-v2
728     DEVICE_PROFILE := TLWR1041
729     TPLINK_HWID := 0x10410002
730 endef
731 TARGET_DEVICES += tl-wr1041n-v2
732
733 define Device/tl-wr1043nd-v1
734     $(Device/tplink-8m)
735     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
736     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
737     BOARDNAME := TL-WR1043ND
738     DEVICE_PROFILE := TLWR1043
739     TPLINK_HWID := 0x10430001
740 endef
741
742 define Device/tl-wr1043nd-v2
743     $(Device/tplink-8mlzma)
744     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
745     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
746     BOARDNAME := TL-WR1043ND-v2
747     DEVICE_PROFILE := TLWR1043
748     TPLINK_HWID := 0x10430002
749 endef
750
751 define Device/tl-wr1043nd-v3
752     $(Device/tplink-8mlzma)
753     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
754     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
755     BOARDNAME := TL-WR1043ND-v2
756     DEVICE_PROFILE := TLWR1043
757     TPLINK_HWID := 0x10430003
758 endef
759 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
760
761 define Device/tl-wr2543-v1
762     $(Device/tplink-8mlzma)
763     DEVICE_TITLE := TP-LINK TL-WR2543N/ND
764     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
765     BOARDNAME := TL-WR2543N
766     DEVICE_PROFILE := TLWR2543
767     TPLINK_HWID := 0x25430001
768     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
769     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
770 endef
771 TARGET_DEVICES += tl-wr2543-v1
772
773 define Device/tl-wdr4900-v2
774     $(Device/tplink-8mlzma)
775     DEVICE_TITLE := TP-LINK TL-WDR4900v2
776     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
777     BOARDNAME := TL-WDR4900-v2
778     DEVICE_PROFILE := TLWDR4900V2
779     TPLINK_HWID := 0x49000002
780 endef
781 TARGET_DEVICES += tl-wdr4900-v2
782
783 define Device/tl-wa701nd-v1
784     $(Device/tplink-4m)
785     DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
786     BOARDNAME := TL-WA901ND
787     DEVICE_PROFILE := TLWA701
788     TPLINK_HWID := 0x07010001
789 endef
790
791 define Device/tl-wa701nd-v2
792     $(Device/tplink-4mlzma)
793     DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
794     BOARDNAME := TL-WA701ND-v2
795     DEVICE_PROFILE := TLWA701
796     TPLINK_HWID := 0x07010002
797     CONSOLE := ttyATH0,115200
798 endef
799
800 define Device/tl-wa730re-v1
801     $(Device/tplink-4m)
802     DEVICE_TITLE := TP-LINK TL-WA730RE
803     BOARDNAME := TL-WA901ND
804     DEVICE_PROFILE := TLWA730RE
805     TPLINK_HWID := 0x07300001
806 endef
807
808 define Device/tl-wa750re-v1
809     $(Device/tplink-4mlzma)
810     DEVICE_TITLE := TP-LINK TL-WA750RE
811     DEVICE_PACKAGES := rssileds
812     BOARDNAME := TL-WA750RE
813     DEVICE_PROFILE := TLWA750
814     TPLINK_HWID := 0x07500001
815 endef
816
817 define Device/tl-wa7510n
818     $(Device/tplink-4m)
819     DEVICE_TITLE := TP-LINK TL-WA7510N
820     BOARDNAME := TL-WA7510N
821     DEVICE_PROFILE := TLWA7510
822     TPLINK_HWID := 0x75100001
823 endef
824 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n
825
826 define Device/tl-wa801nd-v1
827     $(Device/tplink-4m)
828     DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
829     BOARDNAME := TL-WA901ND
830     DEVICE_PROFILE := TLWA801
831     TPLINK_HWID := 0x08010001
832 endef
833
834 define Device/tl-wa801nd-v2
835     $(Device/tplink-4mlzma)
836     DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
837     BOARDNAME := TL-WA801ND-v2
838     DEVICE_PROFILE := TLWA801
839     TPLINK_HWID := 0x08010002
840 endef
841
842 define Device/tl-wa801nd-v3
843     $(Device/tplink-4mlzma)
844     DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
845     BOARDNAME := TL-WA801ND-v3
846     DEVICE_PROFILE := TLWA801
847     TPLINK_HWID := 0x08010003
848 endef
849
850 define Device/tl-wa830re-v1
851     $(Device/tplink-4m)
852     DEVICE_TITLE := TP-LINK TL-WA830RE
853     BOARDNAME := TL-WA901ND
854     DEVICE_PROFILE := TLWA830
855     TPLINK_HWID := 0x08300010
856 endef
857
858 define Device/tl-wa830re-v2
859     $(Device/tplink-4mlzma)
860     DEVICE_TITLE := TP-LINK TL-WA830RE
861     BOARDNAME := TL-WA830RE-v2
862     DEVICE_PROFILE := TLWA830
863     TPLINK_HWID := 0x08300002
864 endef
865
866 define Device/tl-wa850re-v1
867     $(Device/tplink-4mlzma)
868     DEVICE_TITLE := TP-LINK TL-WA850RE
869     BOARDNAME := TL-WA850RE
870     DEVICE_PROFILE := TLWA850
871     TPLINK_HWID := 0x08500001
872 endef
873
874 define Device/tl-wa860re-v1
875     $(Device/tplink-4mlzma)
876     DEVICE_TITLE := TP-LINK TL-WA860RE
877     BOARDNAME := TL-WA860RE
878     DEVICE_PROFILE := TLWA860
879     TPLINK_HWID := 0x08600001
880 endef
881 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
882
883 define Device/tl-wa901nd-v1
884     $(Device/tplink-4m)
885     DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
886     BOARDNAME := TL-WA901ND
887     DEVICE_PROFILE := TLWA901
888     TPLINK_HWID := 0x09010001
889 endef
890
891 define Device/tl-wa901nd-v2
892     $(Device/tplink-4m)
893     DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
894     BOARDNAME := TL-WA901ND-v2
895     DEVICE_PROFILE := TLWA901
896     TPLINK_HWID := 0x09010002
897 endef
898
899 define Device/tl-wa901nd-v3
900     $(Device/tplink-4mlzma)
901     DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
902     BOARDNAME := TL-WA901ND-v3
903     DEVICE_PROFILE := TLWA901
904     TPLINK_HWID := 0x09010003
905 endef
906
907 define Device/tl-wa901nd-v4
908     $(Device/tplink-4mlzma)
909     DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
910     BOARDNAME := TL-WA901ND-v4
911     DEVICE_PROFILE := TLWA901
912     TPLINK_HWID := 0x09010004
913     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
914 endef
915
916 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
917
918 define Device/tl-wa7210n-v2
919     $(Device/tplink-4mlzma)
920     DEVICE_TITLE := TP-LINK TL-WA7210N
921     DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
922     BOARDNAME := TL-WA7210N-v2
923     DEVICE_PROFILE := TLWA7210
924     TPLINK_HWID := 0x72100002
925     CONSOLE := ttyATH0,115200
926 endef
927 TARGET_DEVICES += tl-wa7210n-v2