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