ar71xx: generate US- and EU-specific images for the Archer C7 v2
[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/tl-wdr4300-v1
113 $(Device/tplink-8mlzma)
114   DEVICE_TITLE := TP-LINK TL-WDR4300
115   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
116   BOARDNAME = TL-WDR4300
117   DEVICE_PROFILE = TLWDR4300
118   TPLINK_HWID := 0x43000001
119 endef
120
121 define Device/tl-wdr3500-v1
122 $(Device/tl-wdr4300-v1)
123   DEVICE_TITLE := TP-LINK TL-WDR3500 v1
124   BOARDNAME = TL-WDR3500
125   TPLINK_HWID := 0x35000001
126 endef
127
128 define Device/tl-wdr3600-v1
129 $(Device/tl-wdr4300-v1)
130   DEVICE_TITLE := TP-LINK TL-WDR3600 v1
131   TPLINK_HWID := 0x36000001
132 endef
133
134 define Device/tl-wdr4300-v1-il
135 $(Device/tl-wdr4300-v1)
136   DEVICE_TITLE := TP-LINK TL-WDR4300 v1 IL
137   TPLINK_HWID := 0x43008001
138 endef
139
140 define Device/tl-wdr4310-v1
141 $(Device/tl-wdr4300-v1)
142   DEVICE_TITLE := TP-LINK TL-WDR4310 v1
143   TPLINK_HWID := 0x43100001
144 endef
145
146 define Device/mw4530r-v1
147 $(Device/tl-wdr4300-v1)
148   DEVICE_TITLE := Mercury MW4530R v1
149   TPLINK_HWID := 0x45300001
150 endef
151 TARGET_DEVICES += tl-wdr3500-v1 tl-wdr3600-v1 tl-wdr4300-v1 tl-wdr4300-v1-il tl-wdr4310-v1 mw4530r-v1
152
153 define Device/tl-wdr6500-v2
154 $(Device/tplink-8mlzma)
155   DEVICE_TITLE := TP-LINK TL-WDR6500v2
156   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k ath10k-firmware-qca988x
157   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
158   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-initramfs
159   BOARDNAME = TL-WDR6500-v2
160   DEVICE_PROFILE = TLWDR6500V2
161   TPLINK_HWID := 0x65000002
162   TPLINK_HEADER_VERSION := 2
163 endef
164 TARGET_DEVICES += tl-wdr6500-v2
165
166 define Device/tl-wdr3320-v2
167 $(Device/tplink-4mlzma)
168   DEVICE_TITLE := TP-LINK TL-WDR3320v2
169   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
170   BOARDNAME = TL-WDR3320-v2
171   DEVICE_PROFILE = TLWDR3320V2
172   TPLINK_HWID := 0x33200002
173   TPLINK_HEADER_VERSION := 2
174 endef
175 TARGET_DEVICES += tl-wdr3320-v2
176
177 define Device/archer-c5-v1
178     $(Device/tplink-16mlzma)
179     DEVICE_TITLE := TP-LINK Archer C5
180     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k ath10k-firmware-qca988x
181     BOARDNAME := ARCHER-C5
182     DEVICE_PROFILE := ARCHERC7
183     TPLINK_HWID := 0xc5000001
184 endef
185
186 define Device/archer-c7-v1
187     $(Device/tplink-8mlzma)
188     DEVICE_TITLE := TP-LINK Archer C7 v1
189     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k ath10k-firmware-qca988x
190     BOARDNAME := ARCHER-C7
191     DEVICE_PROFILE := ARCHERC7
192     TPLINK_HWID := 0x75000001
193 endef
194
195 define Device/archer-c7-v2
196     $(Device/tplink-16mlzma)
197     DEVICE_TITLE := TP-LINK Archer C7 v2
198     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k ath10k-firmware-qca988x
199     BOARDNAME := ARCHER-C7-V2
200     DEVICE_PROFILE := ARCHERC7
201     TPLINK_HWID := 0xc7000002
202     IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
203     IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
204     IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
205 endef
206
207 define Device/tl-wdr7500-v3
208     $(Device/tplink-8mlzma)
209     DEVICE_TITLE := TP-LINK Archer C7 v3
210     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k ath10k-firmware-qca988x
211     BOARDNAME := ARCHER-C7
212     DEVICE_PROFILE := ARCHERC7
213     TPLINK_HWID := 0x75000003
214 endef
215 TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 tl-wdr7500-v3
216
217 define Device/tl-mr10u-v1
218     $(Device/tplink-4mlzma)
219     DEVICE_TITLE := TP-LINK TL-MR10U
220     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
221     BOARDNAME := TL-MR10U
222     DEVICE_PROFILE := TLMR10U
223     TPLINK_HWID := 0x00100101
224     CONSOLE := ttyATH0,115200
225 endef
226
227 define Device/tl-mr11u-v1
228     $(Device/tplink-4mlzma)
229     DEVICE_TITLE := TP-LINK TL-MR11U
230     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
231     BOARDNAME := TL-MR11U
232     DEVICE_PROFILE := TLMR11U
233     TPLINK_HWID := 0x00110101
234     CONSOLE := ttyATH0,115200
235 endef
236
237 define Device/tl-mr11u-v2
238     $(Device/tplink-4mlzma)
239     DEVICE_TITLE := TP-LINK TL-MR11U v2
240     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
241     BOARDNAME := TL-MR11U
242     DEVICE_PROFILE := TLMR11U
243     TPLINK_HWID := 0x00110102
244     CONSOLE := ttyATH0,115200
245 endef
246
247 define Device/tl-mr12u-v1
248     $(Device/tplink-4mlzma)
249     DEVICE_TITLE := TP-LINK TL-MR12U
250     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
251     BOARDNAME := TL-MR13U
252     DEVICE_PROFILE := TLMR12U
253     TPLINK_HWID := 0x00120101
254     CONSOLE := ttyATH0,115200
255 endef
256
257 define Device/tl-mr13u-v1
258     $(Device/tplink-4mlzma)
259     DEVICE_TITLE := TP-LINK TL-MR13U
260     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
261     BOARDNAME := TL-MR13U
262     DEVICE_PROFILE := TLMR13U
263     TPLINK_HWID := 0x00130101
264     CONSOLE := ttyATH0,115200
265 endef
266 TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
267
268 define Device/tl-mr3020-v1
269     $(Device/tplink-4mlzma)
270     DEVICE_TITLE := TP-LINK TL-MR3020
271     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
272     BOARDNAME := TL-MR3020
273     DEVICE_PROFILE := TLMR3020
274     TPLINK_HWID := 0x30200001
275     CONSOLE := ttyATH0,115200
276 endef
277
278 define Device/tl-mr3040-v1
279     $(Device/tplink-4mlzma)
280     DEVICE_TITLE := TP-LINK TL-MR3040
281     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
282     BOARDNAME := TL-MR3040
283     DEVICE_PROFILE := TLMR3040
284     TPLINK_HWID := 0x30400001
285     CONSOLE := ttyATH0,115200
286 endef
287
288 define Device/tl-mr3040-v2
289     $(Device/tplink-4mlzma)
290     DEVICE_TITLE := TP-LINK TL-MR3040
291     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
292     BOARDNAME := TL-MR3040-v2
293     DEVICE_PROFILE := TLMR3040
294     TPLINK_HWID := 0x30400002
295     CONSOLE := ttyATH0,115200
296 endef
297
298 define Device/tl-mr3220-v1
299     $(Device/tplink-4m)
300     DEVICE_TITLE := TP-LINK TL-MR3220
301     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
302     BOARDNAME := TL-MR3220
303     DEVICE_PROFILE := TLMR3220
304     TPLINK_HWID := 0x32200001
305 endef
306
307 define Device/tl-mr3220-v2
308     $(Device/tplink-4mlzma)
309     DEVICE_TITLE := TP-LINK TL-MR3220 v2
310     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
311     BOARDNAME := TL-MR3220-v2
312     DEVICE_PROFILE := TLMR3220
313     TPLINK_HWID := 0x32200002
314     CONSOLE := ttyATH0,115200
315 endef
316
317 define Device/tl-mr3420-v1
318     $(Device/tplink-4m)
319     DEVICE_TITLE := TP-LINK TL-MR3420
320     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
321     BOARDNAME := TL-MR3420
322     DEVICE_PROFILE := TLMR3420
323     TPLINK_HWID := 0x34200001
324 endef
325
326 define Device/tl-mr3420-v2
327     $(Device/tplink-4mlzma)
328     DEVICE_TITLE := TP-LINK TL-MR3420 v2
329     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
330     BOARDNAME := TL-MR3420-v2
331     DEVICE_PROFILE := TLMR3420
332     TPLINK_HWID := 0x34200002
333 endef
334 TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-v2 tl-mr3420-v1 tl-mr3420-v2
335
336 define Device/tl-wr703n-v1
337     $(Device/tplink-4mlzma)
338     DEVICE_TITLE := TP-LINK TL-WR703N
339     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
340     BOARDNAME := TL-WR703N
341     DEVICE_PROFILE := TLWR703
342     TPLINK_HWID := 0x07030101
343     CONSOLE := ttyATH0,115200
344 endef
345
346 define Device/tl-wr710n-v1
347     $(Device/tplink-8mlzma)
348     DEVICE_TITLE := TP-LINK TL-WR710N
349     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
350     BOARDNAME := TL-WR710N
351     DEVICE_PROFILE := TLWR710
352     TPLINK_HWID := 0x07100001
353     CONSOLE := ttyATH0,115200
354 endef
355
356 define Device/tl-wr710n-v2
357     $(Device/tplink-4mlzma)
358     DEVICE_TITLE := TP-LINK TL-WR710N v2
359     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
360     BOARDNAME := TL-WR710N v2
361     DEVICE_PROFILE := TLWR710
362     TPLINK_HWID := 0x07100002
363     CONSOLE := ttyATH0,115200
364 endef
365
366 define Device/tl-wr710n-v2.1
367     $(Device/tplink-8mlzma)
368     DEVICE_TITLE := TP-LINK TL-WR710N v2.1
369     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
370     BOARDNAME := TL-WR710N v2.1
371     DEVICE_PROFILE := TLWR710
372     TPLINK_HWID := 0x07100002
373     TPLINK_HWREV := 0x00000002
374     CONSOLE := ttyATH0,115200
375 endef
376
377 define Device/tl-wr720n-v3
378     $(Device/tplink-4mlzma)
379     DEVICE_TITLE := TP-LINK TL-WR720N v3
380     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
381     BOARDNAME := TL-WR720N-v3
382     DEVICE_PROFILE := TLWR720
383     TPLINK_HWID := 0x07200103
384     CONSOLE := ttyATH0,115200
385 endef
386
387 define Device/tl-wr720n-v4
388     $(Device/tplink-4mlzma)
389     DEVICE_TITLE := TP-LINK TL-WR720N v4
390     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
391     BOARDNAME := TL-WR720N-v3
392     DEVICE_PROFILE := TLWR720
393     TPLINK_HWID := 0x07200104
394     CONSOLE := ttyATH0,115200
395 endef
396 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
397
398 define Device/tl-wr740n-v1
399     $(Device/tplink-4m)
400     DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
401     BOARDNAME := TL-WR741ND
402     DEVICE_PROFILE := TLWR740
403     TPLINK_HWID := 0x07400001
404 endef
405
406 define Device/tl-wr740n-v3
407     $(Device/tplink-4m)
408     DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
409     BOARDNAME := TL-WR741ND
410     DEVICE_PROFILE := TLWR740
411     TPLINK_HWID := 0x07400003
412 endef
413
414 define Device/tl-wr740n-v4
415     $(Device/tplink-4mlzma)
416     DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
417     BOARDNAME := TL-WR741ND-v4
418     DEVICE_PROFILE := TLWR740
419     TPLINK_HWID := 0x07400004
420     CONSOLE := ttyATH0,115200
421 endef
422
423 define Device/tl-wr740n-v5
424     $(Device/tplink-4mlzma)
425     DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
426     BOARDNAME := TL-WR741ND-v4
427     DEVICE_PROFILE := TLWR740
428     TPLINK_HWID := 0x07400005
429     CONSOLE := ttyATH0,115200
430 endef
431
432 define Device/tl-wr740n-v6
433     $(Device/tplink-4mlzma)
434     DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
435     BOARDNAME := TL-WR841N-v9
436     DEVICE_PROFILE := TLWR740
437     TPLINK_HWID := 0x07400006
438 endef
439
440 define Device/tl-wr741nd-v1
441     $(Device/tplink-4m)
442     DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
443     BOARDNAME := TL-WR741ND
444     DEVICE_PROFILE := TLWR741
445     TPLINK_HWID := 0x07410001
446 endef
447
448 define Device/tl-wr741nd-v2
449     $(Device/tplink-4m)
450     DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
451     BOARDNAME := TL-WR741ND
452     DEVICE_PROFILE := TLWR741
453     TPLINK_HWID := 0x07410001
454 endef
455
456 define Device/tl-wr741nd-v4
457     $(Device/tplink-4mlzma)
458     DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
459     BOARDNAME := TL-WR741ND-v4
460     DEVICE_PROFILE := TLWR741
461     TPLINK_HWID := 0x07410004
462     CONSOLE := ttyATH0,115200
463 endef
464
465 define Device/tl-wr741nd-v5
466     $(Device/tplink-4mlzma)
467     DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
468     BOARDNAME := TL-WR741ND-v4
469     DEVICE_PROFILE := TLWR741
470     TPLINK_HWID := 0x07400005
471     CONSOLE := ttyATH0,115200
472 endef
473
474 define Device/tl-wr810n
475     $(Device/tplink-8mlzma)
476     DEVICE_TITLE := TP-Link TL-WR810N
477     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
478     BOARDNAME := TL-WR810N
479     DEVICE_PROFILE := TLWR810
480     TPLINK_HWID := 0x08100001
481 endef
482 TARGET_DEVICES += tl-wr810n
483
484 define Device/tl-wr743nd-v1
485     $(Device/tplink-4m)
486     DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
487     BOARDNAME := TL-WR741ND
488     DEVICE_PROFILE := TLWR743
489     TPLINK_HWID := 0x07430001
490 endef
491
492 define Device/tl-wr743nd-v2
493     $(Device/tplink-4mlzma)
494     DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
495     BOARDNAME := TL-WR741ND-v4
496     DEVICE_PROFILE := TLWR743
497     TPLINK_HWID := 0x07430002
498     CONSOLE := ttyATH0,115200
499 endef
500 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
501
502 define Device/tl-wr841-v1.5
503     $(Device/tplink-4m)
504     DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
505     BOARDNAME := TL-WR841N-v1.5
506     DEVICE_PROFILE := TLWR841
507     TPLINK_HWID := 0x08410002
508     TPLINK_HWREV := 2
509 endef
510
511 define Device/tl-wr841-v3
512     $(Device/tplink-4m)
513     DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
514     BOARDNAME := TL-WR941ND
515     DEVICE_PROFILE := TLWR841
516     TPLINK_HWID := 0x08410003
517     TPLINK_HWREV := 3
518 endef
519
520 define Device/tl-wr841-v5
521     $(Device/tplink-4m)
522     DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
523     BOARDNAME := TL-WR741ND
524     DEVICE_PROFILE := TLWR841
525     TPLINK_HWID := 0x08410005
526 endef
527
528 define Device/tl-wr841-v7
529     $(Device/tplink-4m)
530     DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
531     BOARDNAME := TL-WR841N-v7
532     DEVICE_PROFILE := TLWR841
533     TPLINK_HWID := 0x08410007
534 endef
535
536 define Device/tl-wr841-v8
537     $(Device/tplink-4mlzma)
538     DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
539     BOARDNAME := TL-WR841N-v8
540     DEVICE_PROFILE := TLWR841
541     TPLINK_HWID := 0x08410008
542 endef
543
544 define Device/tl-wr841-v9
545     $(Device/tplink-4mlzma)
546     DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
547     BOARDNAME := TL-WR841N-v9
548     DEVICE_PROFILE := TLWR841
549     TPLINK_HWID := 0x08410009
550 endef
551
552 define Device/tl-wr841-v10
553     $(Device/tplink-4mlzma)
554     DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
555     BOARDNAME := TL-WR841N-v9
556     DEVICE_PROFILE := TLWR841
557     TPLINK_HWID := 0x08410010
558 endef
559
560 define Device/tl-wr841-v11
561    $(Device/tplink-4mlzma)
562    DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
563    BOARDNAME := TL-WR841N-v11
564    DEVICE_PROFILE := TLWR841
565    TPLINK_HWID := 0x08410011
566 endef
567
568 define Device/tl-wr842n-v1
569     $(Device/tplink-8m)
570     DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
571     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
572     BOARDNAME := TL-MR3420
573     DEVICE_PROFILE := TLWR842
574     TPLINK_HWID := 0x08420001
575 endef
576
577 define Device/tl-wr842n-v2
578     $(Device/tplink-8mlzma)
579     DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
580     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
581     BOARDNAME := TL-WR842N-v2
582     DEVICE_PROFILE := TLWR842
583     TPLINK_HWID := 0x8420002
584 endef
585
586 define Device/tl-wr842n-v3
587     $(Device/tplink-16mlzma)
588     DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
589     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
590     BOARDNAME := TL-WR842N-v3
591     DEVICE_PROFILE := TLWR842
592     TPLINK_HWID := 0x08420003
593 endef
594
595 define Device/tl-wr843nd-v1
596     $(Device/tplink-4mlzma)
597     DEVICE_TITLE := TP-LINK TL-WR843N/ND
598     BOARDNAME := TL-WR841N-v8
599     DEVICE_PROFILE := TLWR843
600     TPLINK_HWID := 0x08430001
601 endef
602
603 define Device/tl-wr847n-v8
604     $(Device/tplink-4mlzma)
605     DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
606     BOARDNAME := TL-WR841N-v8
607     DEVICE_PROFILE := TLWR841
608     TPLINK_HWID := 0x08470008
609 endef
610 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
611
612 define Device/tl-wr941nd-v2
613     $(Device/tplink-4m)
614     DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
615     BOARDNAME := TL-WR941ND
616     DEVICE_PROFILE := TLWR941
617     TPLINK_HWID := 0x09410002
618     TPLINK_HWREV := 2
619 endef
620
621 define Device/tl-wr941nd-v3
622     $(Device/tplink-4m)
623     DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
624     BOARDNAME := TL-WR941ND
625     DEVICE_PROFILE := TLWR941
626     TPLINK_HWID := 0x09410002
627     TPLINK_HWREV := 2
628 endef
629
630 define Device/tl-wr941nd-v4
631     $(Device/tplink-4m)
632     DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
633     BOARDNAME := TL-WR741ND
634     DEVICE_PROFILE := TLWR941
635     TPLINK_HWID := 0x09410004
636 endef
637
638 define Device/tl-wr941nd-v5
639     $(Device/tplink-4mlzma)
640     DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
641     BOARDNAME := TL-WR941ND-v5
642     DEVICE_PROFILE := TLWR941
643     TPLINK_HWID := 0x09410005
644 endef
645
646 define Device/tl-wr941nd-v6
647     $(Device/tplink-4mlzma)
648     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
649     BOARDNAME := TL-WR941ND-v6
650     DEVICE_PROFILE := TLWR941
651     TPLINK_HWID := 0x09410006
652 endef
653
654 # Chinese version (unlike European) is similar to the TL-WDR3500
655 define Device/tl-wr941nd-v6-cn
656     $(Device/tplink-4mlzma)
657     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
658     BOARDNAME := TL-WDR3500
659     DEVICE_PROFILE := TLWR941
660     TPLINK_HWID := 0x09410006
661 endef
662 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn
663
664 define Device/tl-wr1041n-v2
665     $(Device/tplink-4mlzma)
666     DEVICE_TITLE := TP-LINK TL-WR1041N
667     BOARDNAME := TL-WR1041N-v2
668     DEVICE_PROFILE := TLWR1041
669     TPLINK_HWID := 0x10410002
670 endef
671 TARGET_DEVICES += tl-wr1041n-v2
672
673 define Device/tl-wr1043nd-v1
674     $(Device/tplink-8m)
675     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
676     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
677     BOARDNAME := TL-WR1043ND
678     DEVICE_PROFILE := TLWR1043
679     TPLINK_HWID := 0x10430001
680 endef
681
682 define Device/tl-wr1043nd-v2
683     $(Device/tplink-8mlzma)
684     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
685     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
686     BOARDNAME := TL-WR1043ND-v2
687     DEVICE_PROFILE := TLWR1043
688     TPLINK_HWID := 0x10430002
689 endef
690
691 define Device/tl-wr1043nd-v3
692     $(Device/tplink-8mlzma)
693     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
694     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
695     BOARDNAME := TL-WR1043ND-v2
696     DEVICE_PROFILE := TLWR1043
697     TPLINK_HWID := 0x10430003
698 endef
699 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
700
701 define Device/tl-wr2543-v1
702     $(Device/tplink-8mlzma)
703     DEVICE_TITLE := TP-LINK TL-WR2543N/ND
704     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
705     BOARDNAME := TL-WR2543N
706     DEVICE_PROFILE := TLWR2543
707     TPLINK_HWID := 0x25430001
708     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
709     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
710 endef
711 TARGET_DEVICES += tl-wr2543-v1
712
713 define Device/tl-wdr4900-v2
714     $(Device/tplink-8mlzma)
715     DEVICE_TITLE := TP-LINK TL-WDR4900v2
716     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
717     BOARDNAME := TL-WDR4900-v2
718     DEVICE_PROFILE := TLWDR4900V2
719     TPLINK_HWID := 0x49000002
720 endef
721 TARGET_DEVICES += tl-wdr4900-v2
722
723 define Device/tl-wa701nd-v1
724     $(Device/tplink-4m)
725     DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
726     BOARDNAME := TL-WA901ND
727     DEVICE_PROFILE := TLWA701
728     TPLINK_HWID := 0x07010001
729 endef
730
731 define Device/tl-wa701nd-v2
732     $(Device/tplink-4mlzma)
733     DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
734     BOARDNAME := TL-WA701ND-v2
735     DEVICE_PROFILE := TLWA701
736     TPLINK_HWID := 0x07010002
737     CONSOLE := ttyATH0,115200
738 endef
739
740 define Device/tl-wa730re-v1
741     $(Device/tplink-4m)
742     DEVICE_TITLE := TP-LINK TL-WA730RE
743     BOARDNAME := TL-WA901ND
744     DEVICE_PROFILE := TLWA730RE
745     TPLINK_HWID := 0x07300001
746 endef
747
748 define Device/tl-wa750re-v1
749     $(Device/tplink-4mlzma)
750     DEVICE_TITLE := TP-LINK TL-WA750RE
751     DEVICE_PACKAGES := rssileds
752     BOARDNAME := TL-WA750RE
753     DEVICE_PROFILE := TLWA750
754     TPLINK_HWID := 0x07500001
755 endef
756
757 define Device/tl-wa7510n
758     $(Device/tplink-4m)
759     DEVICE_TITLE := TP-LINK TL-WA7510N
760     BOARDNAME := TL-WA7510N
761     DEVICE_PROFILE := TLWA7510
762     TPLINK_HWID := 0x75100001
763 endef
764 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n
765
766 define Device/tl-wa801nd-v1
767     $(Device/tplink-4m)
768     DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
769     BOARDNAME := TL-WA901ND
770     DEVICE_PROFILE := TLWA801
771     TPLINK_HWID := 0x08010001
772 endef
773
774 define Device/tl-wa801nd-v2
775     $(Device/tplink-4mlzma)
776     DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
777     BOARDNAME := TL-WA801ND-v2
778     DEVICE_PROFILE := TLWA801
779     TPLINK_HWID := 0x08010002
780 endef
781
782 define Device/tl-wa801nd-v3
783     $(Device/tplink-4mlzma)
784     DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
785     BOARDNAME := TL-WA801ND-v3
786     DEVICE_PROFILE := TLWA801
787     TPLINK_HWID := 0x08010003
788 endef
789
790 define Device/tl-wa830re-v1
791     $(Device/tplink-4m)
792     DEVICE_TITLE := TP-LINK TL-WA830RE
793     BOARDNAME := TL-WA901ND
794     DEVICE_PROFILE := TLWA830
795     TPLINK_HWID := 0x08300010
796 endef
797
798 define Device/tl-wa830re-v2
799     $(Device/tplink-4mlzma)
800     DEVICE_TITLE := TP-LINK TL-WA830RE
801     BOARDNAME := TL-WA830RE-v2
802     DEVICE_PROFILE := TLWA830
803     TPLINK_HWID := 0x08300002
804 endef
805
806 define Device/tl-wa850re-v1
807     $(Device/tplink-4mlzma)
808     DEVICE_TITLE := TP-LINK TL-WA850RE
809     BOARDNAME := TL-WA850RE
810     DEVICE_PROFILE := TLWA850
811     TPLINK_HWID := 0x08500001
812 endef
813
814 define Device/tl-wa860re-v1
815     $(Device/tplink-4mlzma)
816     DEVICE_TITLE := TP-LINK TL-WA860RE
817     BOARDNAME := TL-WA860RE
818     DEVICE_PROFILE := TLWA860
819     TPLINK_HWID := 0x08600001
820 endef
821 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
822
823 define Device/tl-wa901nd-v1
824     $(Device/tplink-4m)
825     DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
826     BOARDNAME := TL-WA901ND
827     DEVICE_PROFILE := TLWA901
828     TPLINK_HWID := 0x09010001
829 endef
830
831 define Device/tl-wa901nd-v2
832     $(Device/tplink-4m)
833     DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
834     BOARDNAME := TL-WA901ND-v2
835     DEVICE_PROFILE := TLWA901
836     TPLINK_HWID := 0x09010002
837 endef
838
839 define Device/tl-wa901nd-v3
840     $(Device/tplink-4mlzma)
841     DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
842     BOARDNAME := TL-WA901ND-v3
843     DEVICE_PROFILE := TLWA901
844     TPLINK_HWID := 0x09010003
845 endef
846
847 define Device/tl-wa901nd-v4
848     $(Device/tplink-4mlzma)
849     DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
850     BOARDNAME := TL-WA901ND-v4
851     DEVICE_PROFILE := TLWA901
852     TPLINK_HWID := 0x09010004
853 endef
854
855 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
856
857 define Device/tl-wa7210n-v2
858     $(Device/tplink-4mlzma)
859     DEVICE_TITLE := TP-LINK TL-WA7210N
860     DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
861     BOARDNAME := TL-WA7210N-v2
862     DEVICE_PROFILE := TLWA7210
863     TPLINK_HWID := 0x72100002
864     CONSOLE := ttyATH0,115200
865 endef
866 TARGET_DEVICES += tl-wa7210n-v2
867