ar71xx: tl-wpa8630: Use dynamic parsing of the firmware partition
[oweals/openwrt.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 endef
382 TARGET_DEVICES += tl-wpa8630
383
384 define Device/tl-wr703n-v1
385     $(Device/tplink-4mlzma)
386     DEVICE_TITLE := TP-LINK TL-WR703N
387     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
388     BOARDNAME := TL-WR703N
389     DEVICE_PROFILE := TLWR703
390     TPLINK_HWID := 0x07030101
391     CONSOLE := ttyATH0,115200
392 endef
393
394 define Device/tl-wr710n-v1
395     $(Device/tplink-8mlzma)
396     DEVICE_TITLE := TP-LINK TL-WR710N
397     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
398     BOARDNAME := TL-WR710N
399     DEVICE_PROFILE := TLWR710
400     TPLINK_HWID := 0x07100001
401     CONSOLE := ttyATH0,115200
402 endef
403
404 define Device/tl-wr710n-v2
405     $(Device/tplink-4mlzma)
406     DEVICE_TITLE := TP-LINK TL-WR710N v2
407     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
408     BOARDNAME := TL-WR710N v2
409     DEVICE_PROFILE := TLWR710
410     TPLINK_HWID := 0x07100002
411     CONSOLE := ttyATH0,115200
412 endef
413
414 define Device/tl-wr710n-v2.1
415     $(Device/tplink-8mlzma)
416     DEVICE_TITLE := TP-LINK TL-WR710N v2.1
417     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
418     BOARDNAME := TL-WR710N v2.1
419     DEVICE_PROFILE := TLWR710
420     TPLINK_HWID := 0x07100002
421     TPLINK_HWREV := 0x00000002
422     CONSOLE := ttyATH0,115200
423 endef
424
425 define Device/tl-wr720n-v3
426     $(Device/tplink-4mlzma)
427     DEVICE_TITLE := TP-LINK TL-WR720N v3
428     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
429     BOARDNAME := TL-WR720N-v3
430     DEVICE_PROFILE := TLWR720
431     TPLINK_HWID := 0x07200103
432     CONSOLE := ttyATH0,115200
433 endef
434
435 define Device/tl-wr720n-v4
436     $(Device/tplink-4mlzma)
437     DEVICE_TITLE := TP-LINK TL-WR720N v4
438     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
439     BOARDNAME := TL-WR720N-v3
440     DEVICE_PROFILE := TLWR720
441     TPLINK_HWID := 0x07200104
442     CONSOLE := ttyATH0,115200
443 endef
444 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
445
446 define Device/tl-wr740n-v1
447     $(Device/tplink-4m)
448     DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
449     BOARDNAME := TL-WR741ND
450     DEVICE_PROFILE := TLWR740
451     TPLINK_HWID := 0x07400001
452 endef
453
454 define Device/tl-wr740n-v3
455     $(Device/tplink-4m)
456     DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
457     BOARDNAME := TL-WR741ND
458     DEVICE_PROFILE := TLWR740
459     TPLINK_HWID := 0x07400003
460 endef
461
462 define Device/tl-wr740n-v4
463     $(Device/tplink-4mlzma)
464     DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
465     BOARDNAME := TL-WR741ND-v4
466     DEVICE_PROFILE := TLWR740
467     TPLINK_HWID := 0x07400004
468     CONSOLE := ttyATH0,115200
469 endef
470
471 define Device/tl-wr740n-v5
472     $(Device/tplink-4mlzma)
473     DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
474     BOARDNAME := TL-WR741ND-v4
475     DEVICE_PROFILE := TLWR740
476     TPLINK_HWID := 0x07400005
477     CONSOLE := ttyATH0,115200
478 endef
479
480 define Device/tl-wr740n-v6
481     $(Device/tplink-4mlzma)
482     DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
483     BOARDNAME := TL-WR841N-v9
484     DEVICE_PROFILE := TLWR740
485     TPLINK_HWID := 0x07400006
486 endef
487
488 define Device/tl-wr741nd-v1
489     $(Device/tplink-4m)
490     DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
491     BOARDNAME := TL-WR741ND
492     DEVICE_PROFILE := TLWR741
493     TPLINK_HWID := 0x07410001
494 endef
495
496 define Device/tl-wr741nd-v2
497     $(Device/tplink-4m)
498     DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
499     BOARDNAME := TL-WR741ND
500     DEVICE_PROFILE := TLWR741
501     TPLINK_HWID := 0x07410001
502 endef
503
504 define Device/tl-wr741nd-v4
505     $(Device/tplink-4mlzma)
506     DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
507     BOARDNAME := TL-WR741ND-v4
508     DEVICE_PROFILE := TLWR741
509     TPLINK_HWID := 0x07410004
510     CONSOLE := ttyATH0,115200
511 endef
512
513 define Device/tl-wr741nd-v5
514     $(Device/tplink-4mlzma)
515     DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
516     BOARDNAME := TL-WR741ND-v4
517     DEVICE_PROFILE := TLWR741
518     TPLINK_HWID := 0x07400005
519     CONSOLE := ttyATH0,115200
520 endef
521
522 define Device/tl-wr810n
523     $(Device/tplink-8mlzma)
524     DEVICE_TITLE := TP-Link TL-WR810N
525     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
526     BOARDNAME := TL-WR810N
527     DEVICE_PROFILE := TLWR810
528     TPLINK_HWID := 0x08100001
529 endef
530 TARGET_DEVICES += tl-wr810n
531
532 define Device/tl-wr743nd-v1
533     $(Device/tplink-4m)
534     DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
535     BOARDNAME := TL-WR741ND
536     DEVICE_PROFILE := TLWR743
537     TPLINK_HWID := 0x07430001
538 endef
539
540 define Device/tl-wr743nd-v2
541     $(Device/tplink-4mlzma)
542     DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
543     BOARDNAME := TL-WR741ND-v4
544     DEVICE_PROFILE := TLWR743
545     TPLINK_HWID := 0x07430002
546     CONSOLE := ttyATH0,115200
547 endef
548 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
549
550 define Device/tl-wr802n-v1
551     $(Device/tplink-4mlzma)
552     DEVICE_TITLE := TP-LINK TL-WR802N v1
553         BOARDNAME := TL-WR802N-v1
554     DEVICE_PROFILE := TLWR802
555     TPLINK_HWID := 0x08020001
556     TPLINK_HWREV := 1
557 endef
558 TARGET_DEVICES += tl-wr802n-v1
559
560 define Device/tl-wr841-v1.5
561     $(Device/tplink-4m)
562     DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
563     BOARDNAME := TL-WR841N-v1.5
564     DEVICE_PROFILE := TLWR841
565     TPLINK_HWID := 0x08410002
566     TPLINK_HWREV := 2
567 endef
568
569 define Device/tl-wr841-v3
570     $(Device/tplink-4m)
571     DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
572     BOARDNAME := TL-WR941ND
573     DEVICE_PROFILE := TLWR841
574     TPLINK_HWID := 0x08410003
575     TPLINK_HWREV := 3
576 endef
577
578 define Device/tl-wr841-v5
579     $(Device/tplink-4m)
580     DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
581     BOARDNAME := TL-WR741ND
582     DEVICE_PROFILE := TLWR841
583     TPLINK_HWID := 0x08410005
584 endef
585
586 define Device/tl-wr841-v7
587     $(Device/tplink-4m)
588     DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
589     BOARDNAME := TL-WR841N-v7
590     DEVICE_PROFILE := TLWR841
591     TPLINK_HWID := 0x08410007
592 endef
593
594 define Device/tl-wr841-v8
595     $(Device/tplink-4mlzma)
596     DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
597     BOARDNAME := TL-WR841N-v8
598     DEVICE_PROFILE := TLWR841
599     TPLINK_HWID := 0x08410008
600 endef
601
602 define Device/tl-wr841-v9
603     $(Device/tplink-4mlzma)
604     DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
605     BOARDNAME := TL-WR841N-v9
606     DEVICE_PROFILE := TLWR841
607     TPLINK_HWID := 0x08410009
608 endef
609
610 define Device/tl-wr841-v10
611     $(Device/tplink-4mlzma)
612     DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
613     BOARDNAME := TL-WR841N-v9
614     DEVICE_PROFILE := TLWR841
615     TPLINK_HWID := 0x08410010
616 endef
617
618 define Device/tl-wr841-v11
619    $(Device/tplink-4mlzma)
620    DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
621    BOARDNAME := TL-WR841N-v11
622    DEVICE_PROFILE := TLWR841
623    TPLINK_HWID := 0x08410011
624    IMAGES += factory-us.bin factory-eu.bin
625    IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
626    IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
627 endef
628
629 define Device/tl-wr842n-v1
630     $(Device/tplink-8m)
631     DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
632     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
633     BOARDNAME := TL-MR3420
634     DEVICE_PROFILE := TLWR842
635     TPLINK_HWID := 0x08420001
636 endef
637
638 define Device/tl-wr842n-v2
639     $(Device/tplink-8mlzma)
640     DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
641     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
642     BOARDNAME := TL-WR842N-v2
643     DEVICE_PROFILE := TLWR842
644     TPLINK_HWID := 0x8420002
645 endef
646
647 define Device/tl-wr842n-v3
648     $(Device/tplink-16mlzma)
649     DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
650     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
651     BOARDNAME := TL-WR842N-v3
652     DEVICE_PROFILE := TLWR842
653     TPLINK_HWID := 0x08420003
654 endef
655
656 define Device/tl-wr843nd-v1
657     $(Device/tplink-4mlzma)
658     DEVICE_TITLE := TP-LINK TL-WR843N/ND
659     BOARDNAME := TL-WR841N-v8
660     DEVICE_PROFILE := TLWR843
661     TPLINK_HWID := 0x08430001
662 endef
663
664 define Device/tl-wr847n-v8
665     $(Device/tplink-4mlzma)
666     DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
667     BOARDNAME := TL-WR841N-v8
668     DEVICE_PROFILE := TLWR841
669     TPLINK_HWID := 0x08470008
670 endef
671 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
672
673 define Device/tl-wr941nd-v2
674     $(Device/tplink-4m)
675     DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
676     BOARDNAME := TL-WR941ND
677     DEVICE_PROFILE := TLWR941
678     TPLINK_HWID := 0x09410002
679     TPLINK_HWREV := 2
680 endef
681
682 define Device/tl-wr941nd-v3
683     $(Device/tplink-4m)
684     DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
685     BOARDNAME := TL-WR941ND
686     DEVICE_PROFILE := TLWR941
687     TPLINK_HWID := 0x09410002
688     TPLINK_HWREV := 2
689 endef
690
691 define Device/tl-wr941nd-v4
692     $(Device/tplink-4m)
693     DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
694     BOARDNAME := TL-WR741ND
695     DEVICE_PROFILE := TLWR941
696     TPLINK_HWID := 0x09410004
697 endef
698
699 define Device/tl-wr941nd-v5
700     $(Device/tplink-4mlzma)
701     DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
702     BOARDNAME := TL-WR941ND-v5
703     DEVICE_PROFILE := TLWR941
704     TPLINK_HWID := 0x09410005
705 endef
706
707 define Device/tl-wr941nd-v6
708     $(Device/tplink-4mlzma)
709     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
710     BOARDNAME := TL-WR941ND-v6
711     DEVICE_PROFILE := TLWR941
712     TPLINK_HWID := 0x09410006
713 endef
714
715 # Chinese version (unlike European) is similar to the TL-WDR3500
716 define Device/tl-wr941nd-v6-cn
717     $(Device/tplink-4mlzma)
718     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
719     BOARDNAME := TL-WDR3500
720     DEVICE_PROFILE := TLWR941
721     TPLINK_HWID := 0x09410006
722 endef
723 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn
724
725 define Device/tl-wr1041n-v2
726     $(Device/tplink-4mlzma)
727     DEVICE_TITLE := TP-LINK TL-WR1041N
728     BOARDNAME := TL-WR1041N-v2
729     DEVICE_PROFILE := TLWR1041
730     TPLINK_HWID := 0x10410002
731 endef
732 TARGET_DEVICES += tl-wr1041n-v2
733
734 define Device/tl-wr1043nd-v1
735     $(Device/tplink-8m)
736     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
737     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
738     BOARDNAME := TL-WR1043ND
739     DEVICE_PROFILE := TLWR1043
740     TPLINK_HWID := 0x10430001
741 endef
742
743 define Device/tl-wr1043nd-v2
744     $(Device/tplink-8mlzma)
745     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
746     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
747     BOARDNAME := TL-WR1043ND-v2
748     DEVICE_PROFILE := TLWR1043
749     TPLINK_HWID := 0x10430002
750 endef
751
752 define Device/tl-wr1043nd-v3
753     $(Device/tplink-8mlzma)
754     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
755     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
756     BOARDNAME := TL-WR1043ND-v2
757     DEVICE_PROFILE := TLWR1043
758     TPLINK_HWID := 0x10430003
759 endef
760 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
761
762 define Device/tl-wr2543-v1
763     $(Device/tplink-8mlzma)
764     DEVICE_TITLE := TP-LINK TL-WR2543N/ND
765     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
766     BOARDNAME := TL-WR2543N
767     DEVICE_PROFILE := TLWR2543
768     TPLINK_HWID := 0x25430001
769     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
770     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
771 endef
772 TARGET_DEVICES += tl-wr2543-v1
773
774 define Device/tl-wdr4900-v2
775     $(Device/tplink-8mlzma)
776     DEVICE_TITLE := TP-LINK TL-WDR4900v2
777     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
778     BOARDNAME := TL-WDR4900-v2
779     DEVICE_PROFILE := TLWDR4900V2
780     TPLINK_HWID := 0x49000002
781 endef
782 TARGET_DEVICES += tl-wdr4900-v2
783
784 define Device/tl-wa701nd-v1
785     $(Device/tplink-4m)
786     DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
787     BOARDNAME := TL-WA901ND
788     DEVICE_PROFILE := TLWA701
789     TPLINK_HWID := 0x07010001
790 endef
791
792 define Device/tl-wa701nd-v2
793     $(Device/tplink-4mlzma)
794     DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
795     BOARDNAME := TL-WA701ND-v2
796     DEVICE_PROFILE := TLWA701
797     TPLINK_HWID := 0x07010002
798     CONSOLE := ttyATH0,115200
799 endef
800
801 define Device/tl-wa730re-v1
802     $(Device/tplink-4m)
803     DEVICE_TITLE := TP-LINK TL-WA730RE
804     BOARDNAME := TL-WA901ND
805     DEVICE_PROFILE := TLWA730RE
806     TPLINK_HWID := 0x07300001
807 endef
808
809 define Device/tl-wa750re-v1
810     $(Device/tplink-4mlzma)
811     DEVICE_TITLE := TP-LINK TL-WA750RE
812     DEVICE_PACKAGES := rssileds
813     BOARDNAME := TL-WA750RE
814     DEVICE_PROFILE := TLWA750
815     TPLINK_HWID := 0x07500001
816 endef
817
818 define Device/tl-wa7510n
819     $(Device/tplink-4m)
820     DEVICE_TITLE := TP-LINK TL-WA7510N
821     BOARDNAME := TL-WA7510N
822     DEVICE_PROFILE := TLWA7510
823     TPLINK_HWID := 0x75100001
824 endef
825 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n
826
827 define Device/tl-wa801nd-v1
828     $(Device/tplink-4m)
829     DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
830     BOARDNAME := TL-WA901ND
831     DEVICE_PROFILE := TLWA801
832     TPLINK_HWID := 0x08010001
833 endef
834
835 define Device/tl-wa801nd-v2
836     $(Device/tplink-4mlzma)
837     DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
838     BOARDNAME := TL-WA801ND-v2
839     DEVICE_PROFILE := TLWA801
840     TPLINK_HWID := 0x08010002
841 endef
842
843 define Device/tl-wa801nd-v3
844     $(Device/tplink-4mlzma)
845     DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
846     BOARDNAME := TL-WA801ND-v3
847     DEVICE_PROFILE := TLWA801
848     TPLINK_HWID := 0x08010003
849 endef
850
851 define Device/tl-wa830re-v1
852     $(Device/tplink-4m)
853     DEVICE_TITLE := TP-LINK TL-WA830RE
854     BOARDNAME := TL-WA901ND
855     DEVICE_PROFILE := TLWA830
856     TPLINK_HWID := 0x08300010
857 endef
858
859 define Device/tl-wa830re-v2
860     $(Device/tplink-4mlzma)
861     DEVICE_TITLE := TP-LINK TL-WA830RE
862     BOARDNAME := TL-WA830RE-v2
863     DEVICE_PROFILE := TLWA830
864     TPLINK_HWID := 0x08300002
865 endef
866
867 define Device/tl-wa850re-v1
868     $(Device/tplink-4mlzma)
869     DEVICE_TITLE := TP-LINK TL-WA850RE
870     BOARDNAME := TL-WA850RE
871     DEVICE_PROFILE := TLWA850
872     TPLINK_HWID := 0x08500001
873 endef
874
875 define Device/tl-wa860re-v1
876     $(Device/tplink-4mlzma)
877     DEVICE_TITLE := TP-LINK TL-WA860RE
878     BOARDNAME := TL-WA860RE
879     DEVICE_PROFILE := TLWA860
880     TPLINK_HWID := 0x08600001
881 endef
882 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
883
884 define Device/tl-wa901nd-v1
885     $(Device/tplink-4m)
886     DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
887     BOARDNAME := TL-WA901ND
888     DEVICE_PROFILE := TLWA901
889     TPLINK_HWID := 0x09010001
890 endef
891
892 define Device/tl-wa901nd-v2
893     $(Device/tplink-4m)
894     DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
895     BOARDNAME := TL-WA901ND-v2
896     DEVICE_PROFILE := TLWA901
897     TPLINK_HWID := 0x09010002
898 endef
899
900 define Device/tl-wa901nd-v3
901     $(Device/tplink-4mlzma)
902     DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
903     BOARDNAME := TL-WA901ND-v3
904     DEVICE_PROFILE := TLWA901
905     TPLINK_HWID := 0x09010003
906 endef
907
908 define Device/tl-wa901nd-v4
909     $(Device/tplink-4mlzma)
910     DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
911     BOARDNAME := TL-WA901ND-v4
912     DEVICE_PROFILE := TLWA901
913     TPLINK_HWID := 0x09010004
914     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
915 endef
916
917 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
918
919 define Device/tl-wa7210n-v2
920     $(Device/tplink-4mlzma)
921     DEVICE_TITLE := TP-LINK TL-WA7210N
922     DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
923     BOARDNAME := TL-WA7210N-v2
924     DEVICE_PROFILE := TLWA7210
925     TPLINK_HWID := 0x72100002
926     CONSOLE := ttyATH0,115200
927 endef
928 TARGET_DEVICES += tl-wa7210n-v2