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