ar71xx: generate region-coded factory images for TP-Link TL-WR841ND v11
[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     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    IMAGES += factory-us.bin factory-eu.bin
627    IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
628    IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
629 endef
630
631 define Device/tl-wr842n-v1
632     $(Device/tplink-8m)
633     DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
634     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
635     BOARDNAME := TL-MR3420
636     DEVICE_PROFILE := TLWR842
637     TPLINK_HWID := 0x08420001
638 endef
639
640 define Device/tl-wr842n-v2
641     $(Device/tplink-8mlzma)
642     DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
643     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
644     BOARDNAME := TL-WR842N-v2
645     DEVICE_PROFILE := TLWR842
646     TPLINK_HWID := 0x8420002
647 endef
648
649 define Device/tl-wr842n-v3
650     $(Device/tplink-16mlzma)
651     DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
652     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
653     BOARDNAME := TL-WR842N-v3
654     DEVICE_PROFILE := TLWR842
655     TPLINK_HWID := 0x08420003
656 endef
657
658 define Device/tl-wr843nd-v1
659     $(Device/tplink-4mlzma)
660     DEVICE_TITLE := TP-LINK TL-WR843N/ND
661     BOARDNAME := TL-WR841N-v8
662     DEVICE_PROFILE := TLWR843
663     TPLINK_HWID := 0x08430001
664 endef
665
666 define Device/tl-wr847n-v8
667     $(Device/tplink-4mlzma)
668     DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
669     BOARDNAME := TL-WR841N-v8
670     DEVICE_PROFILE := TLWR841
671     TPLINK_HWID := 0x08470008
672 endef
673 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
674
675 define Device/tl-wr941nd-v2
676     $(Device/tplink-4m)
677     DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
678     BOARDNAME := TL-WR941ND
679     DEVICE_PROFILE := TLWR941
680     TPLINK_HWID := 0x09410002
681     TPLINK_HWREV := 2
682 endef
683
684 define Device/tl-wr941nd-v3
685     $(Device/tplink-4m)
686     DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
687     BOARDNAME := TL-WR941ND
688     DEVICE_PROFILE := TLWR941
689     TPLINK_HWID := 0x09410002
690     TPLINK_HWREV := 2
691 endef
692
693 define Device/tl-wr941nd-v4
694     $(Device/tplink-4m)
695     DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
696     BOARDNAME := TL-WR741ND
697     DEVICE_PROFILE := TLWR941
698     TPLINK_HWID := 0x09410004
699 endef
700
701 define Device/tl-wr941nd-v5
702     $(Device/tplink-4mlzma)
703     DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
704     BOARDNAME := TL-WR941ND-v5
705     DEVICE_PROFILE := TLWR941
706     TPLINK_HWID := 0x09410005
707 endef
708
709 define Device/tl-wr941nd-v6
710     $(Device/tplink-4mlzma)
711     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
712     BOARDNAME := TL-WR941ND-v6
713     DEVICE_PROFILE := TLWR941
714     TPLINK_HWID := 0x09410006
715 endef
716
717 # Chinese version (unlike European) is similar to the TL-WDR3500
718 define Device/tl-wr941nd-v6-cn
719     $(Device/tplink-4mlzma)
720     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
721     BOARDNAME := TL-WDR3500
722     DEVICE_PROFILE := TLWR941
723     TPLINK_HWID := 0x09410006
724 endef
725 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn
726
727 define Device/tl-wr1041n-v2
728     $(Device/tplink-4mlzma)
729     DEVICE_TITLE := TP-LINK TL-WR1041N
730     BOARDNAME := TL-WR1041N-v2
731     DEVICE_PROFILE := TLWR1041
732     TPLINK_HWID := 0x10410002
733 endef
734 TARGET_DEVICES += tl-wr1041n-v2
735
736 define Device/tl-wr1043nd-v1
737     $(Device/tplink-8m)
738     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
739     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
740     BOARDNAME := TL-WR1043ND
741     DEVICE_PROFILE := TLWR1043
742     TPLINK_HWID := 0x10430001
743 endef
744
745 define Device/tl-wr1043nd-v2
746     $(Device/tplink-8mlzma)
747     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
748     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
749     BOARDNAME := TL-WR1043ND-v2
750     DEVICE_PROFILE := TLWR1043
751     TPLINK_HWID := 0x10430002
752 endef
753
754 define Device/tl-wr1043nd-v3
755     $(Device/tplink-8mlzma)
756     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
757     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
758     BOARDNAME := TL-WR1043ND-v2
759     DEVICE_PROFILE := TLWR1043
760     TPLINK_HWID := 0x10430003
761 endef
762 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
763
764 define Device/tl-wr2543-v1
765     $(Device/tplink-8mlzma)
766     DEVICE_TITLE := TP-LINK TL-WR2543N/ND
767     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
768     BOARDNAME := TL-WR2543N
769     DEVICE_PROFILE := TLWR2543
770     TPLINK_HWID := 0x25430001
771     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
772     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
773 endef
774 TARGET_DEVICES += tl-wr2543-v1
775
776 define Device/tl-wdr4900-v2
777     $(Device/tplink-8mlzma)
778     DEVICE_TITLE := TP-LINK TL-WDR4900v2
779     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
780     BOARDNAME := TL-WDR4900-v2
781     DEVICE_PROFILE := TLWDR4900V2
782     TPLINK_HWID := 0x49000002
783 endef
784 TARGET_DEVICES += tl-wdr4900-v2
785
786 define Device/tl-wa701nd-v1
787     $(Device/tplink-4m)
788     DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
789     BOARDNAME := TL-WA901ND
790     DEVICE_PROFILE := TLWA701
791     TPLINK_HWID := 0x07010001
792 endef
793
794 define Device/tl-wa701nd-v2
795     $(Device/tplink-4mlzma)
796     DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
797     BOARDNAME := TL-WA701ND-v2
798     DEVICE_PROFILE := TLWA701
799     TPLINK_HWID := 0x07010002
800     CONSOLE := ttyATH0,115200
801 endef
802
803 define Device/tl-wa730re-v1
804     $(Device/tplink-4m)
805     DEVICE_TITLE := TP-LINK TL-WA730RE
806     BOARDNAME := TL-WA901ND
807     DEVICE_PROFILE := TLWA730RE
808     TPLINK_HWID := 0x07300001
809 endef
810
811 define Device/tl-wa750re-v1
812     $(Device/tplink-4mlzma)
813     DEVICE_TITLE := TP-LINK TL-WA750RE
814     DEVICE_PACKAGES := rssileds
815     BOARDNAME := TL-WA750RE
816     DEVICE_PROFILE := TLWA750
817     TPLINK_HWID := 0x07500001
818 endef
819
820 define Device/tl-wa7510n
821     $(Device/tplink-4m)
822     DEVICE_TITLE := TP-LINK TL-WA7510N
823     BOARDNAME := TL-WA7510N
824     DEVICE_PROFILE := TLWA7510
825     TPLINK_HWID := 0x75100001
826 endef
827 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n
828
829 define Device/tl-wa801nd-v1
830     $(Device/tplink-4m)
831     DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
832     BOARDNAME := TL-WA901ND
833     DEVICE_PROFILE := TLWA801
834     TPLINK_HWID := 0x08010001
835 endef
836
837 define Device/tl-wa801nd-v2
838     $(Device/tplink-4mlzma)
839     DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
840     BOARDNAME := TL-WA801ND-v2
841     DEVICE_PROFILE := TLWA801
842     TPLINK_HWID := 0x08010002
843 endef
844
845 define Device/tl-wa801nd-v3
846     $(Device/tplink-4mlzma)
847     DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
848     BOARDNAME := TL-WA801ND-v3
849     DEVICE_PROFILE := TLWA801
850     TPLINK_HWID := 0x08010003
851 endef
852
853 define Device/tl-wa830re-v1
854     $(Device/tplink-4m)
855     DEVICE_TITLE := TP-LINK TL-WA830RE
856     BOARDNAME := TL-WA901ND
857     DEVICE_PROFILE := TLWA830
858     TPLINK_HWID := 0x08300010
859 endef
860
861 define Device/tl-wa830re-v2
862     $(Device/tplink-4mlzma)
863     DEVICE_TITLE := TP-LINK TL-WA830RE
864     BOARDNAME := TL-WA830RE-v2
865     DEVICE_PROFILE := TLWA830
866     TPLINK_HWID := 0x08300002
867 endef
868
869 define Device/tl-wa850re-v1
870     $(Device/tplink-4mlzma)
871     DEVICE_TITLE := TP-LINK TL-WA850RE
872     BOARDNAME := TL-WA850RE
873     DEVICE_PROFILE := TLWA850
874     TPLINK_HWID := 0x08500001
875 endef
876
877 define Device/tl-wa860re-v1
878     $(Device/tplink-4mlzma)
879     DEVICE_TITLE := TP-LINK TL-WA860RE
880     BOARDNAME := TL-WA860RE
881     DEVICE_PROFILE := TLWA860
882     TPLINK_HWID := 0x08600001
883 endef
884 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
885
886 define Device/tl-wa901nd-v1
887     $(Device/tplink-4m)
888     DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
889     BOARDNAME := TL-WA901ND
890     DEVICE_PROFILE := TLWA901
891     TPLINK_HWID := 0x09010001
892 endef
893
894 define Device/tl-wa901nd-v2
895     $(Device/tplink-4m)
896     DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
897     BOARDNAME := TL-WA901ND-v2
898     DEVICE_PROFILE := TLWA901
899     TPLINK_HWID := 0x09010002
900 endef
901
902 define Device/tl-wa901nd-v3
903     $(Device/tplink-4mlzma)
904     DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
905     BOARDNAME := TL-WA901ND-v3
906     DEVICE_PROFILE := TLWA901
907     TPLINK_HWID := 0x09010003
908 endef
909
910 define Device/tl-wa901nd-v4
911     $(Device/tplink-4mlzma)
912     DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
913     BOARDNAME := TL-WA901ND-v4
914     DEVICE_PROFILE := TLWA901
915     TPLINK_HWID := 0x09010004
916     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
917 endef
918
919 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
920
921 define Device/tl-wa7210n-v2
922     $(Device/tplink-4mlzma)
923     DEVICE_TITLE := TP-LINK TL-WA7210N
924     DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
925     BOARDNAME := TL-WA7210N-v2
926     DEVICE_PROFILE := TLWA7210
927     TPLINK_HWID := 0x72100002
928     CONSOLE := ttyATH0,115200
929 endef
930 TARGET_DEVICES += tl-wa7210n-v2