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