97abec03af2641b1672916035482a5046c5fdffc
[librecmc/librecmc.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 define Device/tl-wr940n-v4
716     $(Device/tplink-4mlzma)
717     DEVICE_TITLE := TP-LINK TL-WR940N v4
718     BOARDNAME := TL-WR940N-v4
719     DEVICE_PROFILE := TLWR941
720     TPLINK_HWID := 0x09400004
721     IMAGES += factory-us.bin factory-eu.bin
722     IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
723     IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
724 endef
725
726 # Chinese version (unlike European) is similar to the TL-WDR3500
727 define Device/tl-wr941nd-v6-cn
728     $(Device/tplink-4mlzma)
729     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
730     BOARDNAME := TL-WDR3500
731     DEVICE_PROFILE := TLWR941
732     TPLINK_HWID := 0x09410006
733 endef
734 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn tl-wr940n-v4
735
736 define Device/tl-wr1041n-v2
737     $(Device/tplink-4mlzma)
738     DEVICE_TITLE := TP-LINK TL-WR1041N
739     BOARDNAME := TL-WR1041N-v2
740     DEVICE_PROFILE := TLWR1041
741     TPLINK_HWID := 0x10410002
742 endef
743 TARGET_DEVICES += tl-wr1041n-v2
744
745 define Device/tl-wr1043nd-v1
746     $(Device/tplink-8m)
747     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
748     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
749     BOARDNAME := TL-WR1043ND
750     DEVICE_PROFILE := TLWR1043
751     TPLINK_HWID := 0x10430001
752 endef
753
754 define Device/tl-wr1043nd-v2
755     $(Device/tplink-8mlzma)
756     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
757     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
758     BOARDNAME := TL-WR1043ND-v2
759     DEVICE_PROFILE := TLWR1043
760     TPLINK_HWID := 0x10430002
761 endef
762
763 define Device/tl-wr1043nd-v3
764     $(Device/tplink-8mlzma)
765     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
766     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
767     BOARDNAME := TL-WR1043ND-v2
768     DEVICE_PROFILE := TLWR1043
769     TPLINK_HWID := 0x10430003
770 endef
771 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
772
773 define Device/tl-wr2543-v1
774     $(Device/tplink-8mlzma)
775     DEVICE_TITLE := TP-LINK TL-WR2543N/ND
776     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
777     BOARDNAME := TL-WR2543N
778     DEVICE_PROFILE := TLWR2543
779     TPLINK_HWID := 0x25430001
780     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
781     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
782 endef
783 TARGET_DEVICES += tl-wr2543-v1
784
785 define Device/tl-wdr4900-v2
786     $(Device/tplink-8mlzma)
787     DEVICE_TITLE := TP-LINK TL-WDR4900v2
788     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
789     BOARDNAME := TL-WDR4900-v2
790     DEVICE_PROFILE := TLWDR4900V2
791     TPLINK_HWID := 0x49000002
792 endef
793 TARGET_DEVICES += tl-wdr4900-v2
794
795 define Device/tl-wa701nd-v1
796     $(Device/tplink-4m)
797     DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
798     BOARDNAME := TL-WA901ND
799     DEVICE_PROFILE := TLWA701
800     TPLINK_HWID := 0x07010001
801 endef
802
803 define Device/tl-wa701nd-v2
804     $(Device/tplink-4mlzma)
805     DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
806     BOARDNAME := TL-WA701ND-v2
807     DEVICE_PROFILE := TLWA701
808     TPLINK_HWID := 0x07010002
809     CONSOLE := ttyATH0,115200
810 endef
811
812 define Device/tl-wa730re-v1
813     $(Device/tplink-4m)
814     DEVICE_TITLE := TP-LINK TL-WA730RE
815     BOARDNAME := TL-WA901ND
816     DEVICE_PROFILE := TLWA730RE
817     TPLINK_HWID := 0x07300001
818 endef
819
820 define Device/tl-wa750re-v1
821     $(Device/tplink-4mlzma)
822     DEVICE_TITLE := TP-LINK TL-WA750RE
823     DEVICE_PACKAGES := rssileds
824     BOARDNAME := TL-WA750RE
825     DEVICE_PROFILE := TLWA750
826     TPLINK_HWID := 0x07500001
827 endef
828
829 define Device/tl-wa7510n
830     $(Device/tplink-4m)
831     DEVICE_TITLE := TP-LINK TL-WA7510N
832     BOARDNAME := TL-WA7510N
833     DEVICE_PROFILE := TLWA7510
834     TPLINK_HWID := 0x75100001
835 endef
836 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n
837
838 define Device/tl-wa801nd-v1
839     $(Device/tplink-4m)
840     DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
841     BOARDNAME := TL-WA901ND
842     DEVICE_PROFILE := TLWA801
843     TPLINK_HWID := 0x08010001
844 endef
845
846 define Device/tl-wa801nd-v2
847     $(Device/tplink-4mlzma)
848     DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
849     BOARDNAME := TL-WA801ND-v2
850     DEVICE_PROFILE := TLWA801
851     TPLINK_HWID := 0x08010002
852 endef
853
854 define Device/tl-wa801nd-v3
855     $(Device/tplink-4mlzma)
856     DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
857     BOARDNAME := TL-WA801ND-v3
858     DEVICE_PROFILE := TLWA801
859     TPLINK_HWID := 0x08010003
860 endef
861
862 define Device/tl-wa830re-v1
863     $(Device/tplink-4m)
864     DEVICE_TITLE := TP-LINK TL-WA830RE
865     BOARDNAME := TL-WA901ND
866     DEVICE_PROFILE := TLWA830
867     TPLINK_HWID := 0x08300010
868 endef
869
870 define Device/tl-wa830re-v2
871     $(Device/tplink-4mlzma)
872     DEVICE_TITLE := TP-LINK TL-WA830RE
873     BOARDNAME := TL-WA830RE-v2
874     DEVICE_PROFILE := TLWA830
875     TPLINK_HWID := 0x08300002
876 endef
877
878 define Device/tl-wa850re-v1
879     $(Device/tplink-4mlzma)
880     DEVICE_TITLE := TP-LINK TL-WA850RE
881     BOARDNAME := TL-WA850RE
882     DEVICE_PROFILE := TLWA850
883     TPLINK_HWID := 0x08500001
884 endef
885
886 define Device/tl-wa860re-v1
887     $(Device/tplink-4mlzma)
888     DEVICE_TITLE := TP-LINK TL-WA860RE
889     BOARDNAME := TL-WA860RE
890     DEVICE_PROFILE := TLWA860
891     TPLINK_HWID := 0x08600001
892 endef
893 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
894
895 define Device/tl-wa901nd-v1
896     $(Device/tplink-4m)
897     DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
898     BOARDNAME := TL-WA901ND
899     DEVICE_PROFILE := TLWA901
900     TPLINK_HWID := 0x09010001
901 endef
902
903 define Device/tl-wa901nd-v2
904     $(Device/tplink-4m)
905     DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
906     BOARDNAME := TL-WA901ND-v2
907     DEVICE_PROFILE := TLWA901
908     TPLINK_HWID := 0x09010002
909 endef
910
911 define Device/tl-wa901nd-v3
912     $(Device/tplink-4mlzma)
913     DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
914     BOARDNAME := TL-WA901ND-v3
915     DEVICE_PROFILE := TLWA901
916     TPLINK_HWID := 0x09010003
917 endef
918
919 define Device/tl-wa901nd-v4
920     $(Device/tplink-4mlzma)
921     DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
922     BOARDNAME := TL-WA901ND-v4
923     DEVICE_PROFILE := TLWA901
924     TPLINK_HWID := 0x09010004
925     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
926 endef
927
928 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
929
930 define Device/tl-wa7210n-v2
931     $(Device/tplink-4mlzma)
932     DEVICE_TITLE := TP-LINK TL-WA7210N
933     DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
934     BOARDNAME := TL-WA7210N-v2
935     DEVICE_PROFILE := TLWA7210
936     TPLINK_HWID := 0x72100002
937     CONSOLE := ttyATH0,115200
938 endef
939 TARGET_DEVICES += tl-wa7210n-v2