1c88f434a6254af35ac54a3c8299bb70b5db4081
[lede.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/re450
139   DEVICE_TITLE := TP-LINK RE450
140   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
141   MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),4672k(rootfs),64k(pation-table)ro,64k(product-info)ro,1856k(config)ro,64k(art)ro,6016k@0x20000(firmware)
142   IMAGE_SIZE := 7936k
143   BOARDNAME := RE450
144   TPLINK_BOARD_NAME := RE450
145   DEVICE_PROFILE := RE450
146   LOADER_TYPE := elf
147   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
148   IMAGES := sysupgrade.bin factory.bin
149   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
150   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
151 endef
152 TARGET_DEVICES += re450
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-wdr6500-v2
224 $(Device/tplink-8mlzma)
225   DEVICE_TITLE := TP-LINK TL-WDR6500v2
226   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
227   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
228   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-combined
229   BOARDNAME = TL-WDR6500-v2
230   DEVICE_PROFILE = TLWDR6500V2
231   TPLINK_HWID := 0x65000002
232   TPLINK_HEADER_VERSION := 2
233 endef
234 TARGET_DEVICES += tl-wdr6500-v2
235
236 define Device/tl-wdr3320-v2
237 $(Device/tplink-4mlzma)
238   DEVICE_TITLE := TP-LINK TL-WDR3320v2
239   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
240   BOARDNAME = TL-WDR3320-v2
241   DEVICE_PROFILE = TLWDR3320V2
242   TPLINK_HWID := 0x33200002
243   TPLINK_HEADER_VERSION := 2
244 endef
245 TARGET_DEVICES += tl-wdr3320-v2
246
247 define Device/archer-c5-v1
248     $(Device/tplink-16mlzma)
249     DEVICE_TITLE := TP-LINK Archer C5
250     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
251     BOARDNAME := ARCHER-C5
252     DEVICE_PROFILE := ARCHERC7
253     TPLINK_HWID := 0xc5000001
254 endef
255
256 define Device/archer-c7-v1
257     $(Device/tplink-8mlzma)
258     DEVICE_TITLE := TP-LINK Archer C7 v1
259     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
260     BOARDNAME := ARCHER-C7
261     DEVICE_PROFILE := ARCHERC7
262     TPLINK_HWID := 0x75000001
263 endef
264
265 define Device/archer-c7-v2
266     $(Device/tplink-16mlzma)
267     DEVICE_TITLE := TP-LINK Archer C7 v2
268     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
269     BOARDNAME := ARCHER-C7-V2
270     DEVICE_PROFILE := ARCHERC7
271     TPLINK_HWID := 0xc7000002
272     IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
273     IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
274     IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
275 endef
276
277 define Device/archer-c7-v2-il
278     $(Device/tplink-16mlzma)
279     DEVICE_TITLE := TP-LINK Archer C7 v2 IL
280     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
281     BOARDNAME := ARCHER-C7-V2
282     DEVICE_PROFILE := ARCHERC7
283     TPLINK_HWID := 0xc7000002
284     TPLINK_HWREV := 0x494c0001
285 endef
286
287 define Device/tl-wdr7500-v3
288     $(Device/tplink-8mlzma)
289     DEVICE_TITLE := TP-LINK Archer C7 v3
290     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
291     BOARDNAME := ARCHER-C7
292     DEVICE_PROFILE := ARCHERC7
293     TPLINK_HWID := 0x75000003
294 endef
295 TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 archer-c7-v2-il tl-wdr7500-v3
296
297 define Device/tl-mr10u-v1
298     $(Device/tplink-4mlzma)
299     DEVICE_TITLE := TP-LINK TL-MR10U
300     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
301     BOARDNAME := TL-MR10U
302     DEVICE_PROFILE := TLMR10U
303     TPLINK_HWID := 0x00100101
304     CONSOLE := ttyATH0,115200
305 endef
306
307 define Device/tl-mr11u-v1
308     $(Device/tplink-4mlzma)
309     DEVICE_TITLE := TP-LINK TL-MR11U
310     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
311     BOARDNAME := TL-MR11U
312     DEVICE_PROFILE := TLMR11U
313     TPLINK_HWID := 0x00110101
314     CONSOLE := ttyATH0,115200
315 endef
316
317 define Device/tl-mr11u-v2
318     $(Device/tplink-4mlzma)
319     DEVICE_TITLE := TP-LINK TL-MR11U v2
320     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
321     BOARDNAME := TL-MR11U
322     DEVICE_PROFILE := TLMR11U
323     TPLINK_HWID := 0x00110102
324     CONSOLE := ttyATH0,115200
325 endef
326
327 define Device/tl-mr12u-v1
328     $(Device/tplink-4mlzma)
329     DEVICE_TITLE := TP-LINK TL-MR12U
330     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
331     BOARDNAME := TL-MR13U
332     DEVICE_PROFILE := TLMR12U
333     TPLINK_HWID := 0x00120101
334     CONSOLE := ttyATH0,115200
335 endef
336
337 define Device/tl-mr13u-v1
338     $(Device/tplink-4mlzma)
339     DEVICE_TITLE := TP-LINK TL-MR13U
340     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
341     BOARDNAME := TL-MR13U
342     DEVICE_PROFILE := TLMR13U
343     TPLINK_HWID := 0x00130101
344     CONSOLE := ttyATH0,115200
345 endef
346 TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
347
348 define Device/tl-mr3020-v1
349     $(Device/tplink-4mlzma)
350     DEVICE_TITLE := TP-LINK TL-MR3020
351     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
352     BOARDNAME := TL-MR3020
353     DEVICE_PROFILE := TLMR3020
354     TPLINK_HWID := 0x30200001
355     CONSOLE := ttyATH0,115200
356 endef
357
358 define Device/tl-mr3040-v1
359     $(Device/tplink-4mlzma)
360     DEVICE_TITLE := TP-LINK TL-MR3040
361     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
362     BOARDNAME := TL-MR3040
363     DEVICE_PROFILE := TLMR3040
364     TPLINK_HWID := 0x30400001
365     CONSOLE := ttyATH0,115200
366 endef
367
368 define Device/tl-mr3040-v2
369     $(Device/tplink-4mlzma)
370     DEVICE_TITLE := TP-LINK TL-MR3040
371     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
372     BOARDNAME := TL-MR3040-v2
373     DEVICE_PROFILE := TLMR3040
374     TPLINK_HWID := 0x30400002
375     CONSOLE := ttyATH0,115200
376 endef
377
378 define Device/tl-mr3220-v1
379     $(Device/tplink-4m)
380     DEVICE_TITLE := TP-LINK TL-MR3220
381     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
382     BOARDNAME := TL-MR3220
383     DEVICE_PROFILE := TLMR3220
384     TPLINK_HWID := 0x32200001
385 endef
386
387 define Device/tl-mr3220-v2
388     $(Device/tplink-4mlzma)
389     DEVICE_TITLE := TP-LINK TL-MR3220 v2
390     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
391     BOARDNAME := TL-MR3220-v2
392     DEVICE_PROFILE := TLMR3220
393     TPLINK_HWID := 0x32200002
394     CONSOLE := ttyATH0,115200
395 endef
396
397 define Device/tl-mr3420-v1
398     $(Device/tplink-4m)
399     DEVICE_TITLE := TP-LINK TL-MR3420
400     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
401     BOARDNAME := TL-MR3420
402     DEVICE_PROFILE := TLMR3420
403     TPLINK_HWID := 0x34200001
404 endef
405
406 define Device/tl-mr3420-v2
407     $(Device/tplink-4mlzma)
408     DEVICE_TITLE := TP-LINK TL-MR3420 v2
409     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
410     BOARDNAME := TL-MR3420-v2
411     DEVICE_PROFILE := TLMR3420
412     TPLINK_HWID := 0x34200002
413 endef
414 TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-v2 tl-mr3420-v1 tl-mr3420-v2
415
416 define Device/tl-wpa8630
417     $(Device/tplink-8mlzma)
418     DEVICE_TITLE := TP-LINK TL-WPA8630
419     DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
420     BOARDNAME := TL-WPA8630
421     DEVICE_PROFILE := TL-WPA8630
422     TPLINK_HWID := 0x86300001
423 endef
424 TARGET_DEVICES += tl-wpa8630
425
426 define Device/tl-wr703n-v1
427     $(Device/tplink-4mlzma)
428     DEVICE_TITLE := TP-LINK TL-WR703N
429     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
430     BOARDNAME := TL-WR703N
431     DEVICE_PROFILE := TLWR703
432     TPLINK_HWID := 0x07030101
433     CONSOLE := ttyATH0,115200
434 endef
435
436 define Device/tl-wr710n-v1
437     $(Device/tplink-8mlzma)
438     DEVICE_TITLE := TP-LINK TL-WR710N
439     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
440     BOARDNAME := TL-WR710N
441     DEVICE_PROFILE := TLWR710
442     TPLINK_HWID := 0x07100001
443     CONSOLE := ttyATH0,115200
444 endef
445
446 define Device/tl-wr710n-v2
447     $(Device/tplink-4mlzma)
448     DEVICE_TITLE := TP-LINK TL-WR710N v2
449     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
450     BOARDNAME := TL-WR710N v2
451     DEVICE_PROFILE := TLWR710
452     TPLINK_HWID := 0x07100002
453     CONSOLE := ttyATH0,115200
454 endef
455
456 define Device/tl-wr710n-v2.1
457     $(Device/tplink-8mlzma)
458     DEVICE_TITLE := TP-LINK TL-WR710N v2.1
459     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
460     BOARDNAME := TL-WR710N v2.1
461     DEVICE_PROFILE := TLWR710
462     TPLINK_HWID := 0x07100002
463     TPLINK_HWREV := 0x00000002
464     CONSOLE := ttyATH0,115200
465 endef
466
467 define Device/tl-wr720n-v3
468     $(Device/tplink-4mlzma)
469     DEVICE_TITLE := TP-LINK TL-WR720N v3
470     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
471     BOARDNAME := TL-WR720N-v3
472     DEVICE_PROFILE := TLWR720
473     TPLINK_HWID := 0x07200103
474     CONSOLE := ttyATH0,115200
475 endef
476
477 define Device/tl-wr720n-v4
478     $(Device/tplink-4mlzma)
479     DEVICE_TITLE := TP-LINK TL-WR720N v4
480     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
481     BOARDNAME := TL-WR720N-v3
482     DEVICE_PROFILE := TLWR720
483     TPLINK_HWID := 0x07200104
484     CONSOLE := ttyATH0,115200
485 endef
486 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
487
488 define Device/tl-wr740n-v1
489     $(Device/tplink-4m)
490     DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
491     BOARDNAME := TL-WR741ND
492     DEVICE_PROFILE := TLWR740
493     TPLINK_HWID := 0x07400001
494 endef
495
496 define Device/tl-wr740n-v3
497     $(Device/tplink-4m)
498     DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
499     BOARDNAME := TL-WR741ND
500     DEVICE_PROFILE := TLWR740
501     TPLINK_HWID := 0x07400003
502 endef
503
504 define Device/tl-wr740n-v4
505     $(Device/tplink-4mlzma)
506     DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
507     BOARDNAME := TL-WR741ND-v4
508     DEVICE_PROFILE := TLWR740
509     TPLINK_HWID := 0x07400004
510     CONSOLE := ttyATH0,115200
511 endef
512
513 define Device/tl-wr740n-v5
514     $(Device/tplink-4mlzma)
515     DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
516     BOARDNAME := TL-WR741ND-v4
517     DEVICE_PROFILE := TLWR740
518     TPLINK_HWID := 0x07400005
519     CONSOLE := ttyATH0,115200
520 endef
521
522 define Device/tl-wr740n-v6
523     $(Device/tplink-4mlzma)
524     DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
525     BOARDNAME := TL-WR841N-v9
526     DEVICE_PROFILE := TLWR740
527     TPLINK_HWID := 0x07400006
528 endef
529
530 define Device/tl-wr741nd-v1
531     $(Device/tplink-4m)
532     DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
533     BOARDNAME := TL-WR741ND
534     DEVICE_PROFILE := TLWR741
535     TPLINK_HWID := 0x07410001
536 endef
537
538 define Device/tl-wr741nd-v2
539     $(Device/tplink-4m)
540     DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
541     BOARDNAME := TL-WR741ND
542     DEVICE_PROFILE := TLWR741
543     TPLINK_HWID := 0x07410001
544 endef
545
546 define Device/tl-wr741nd-v4
547     $(Device/tplink-4mlzma)
548     DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
549     BOARDNAME := TL-WR741ND-v4
550     DEVICE_PROFILE := TLWR741
551     TPLINK_HWID := 0x07410004
552     CONSOLE := ttyATH0,115200
553 endef
554
555 define Device/tl-wr741nd-v5
556     $(Device/tplink-4mlzma)
557     DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
558     BOARDNAME := TL-WR741ND-v4
559     DEVICE_PROFILE := TLWR741
560     TPLINK_HWID := 0x07400005
561     CONSOLE := ttyATH0,115200
562 endef
563
564 define Device/tl-wr810n
565     $(Device/tplink-8mlzma)
566     DEVICE_TITLE := TP-Link TL-WR810N
567     DEVICE_PACKAGES := kmod-usb-core kmod-usb2
568     BOARDNAME := TL-WR810N
569     DEVICE_PROFILE := TLWR810
570     TPLINK_HWID := 0x08100001
571 endef
572 TARGET_DEVICES += tl-wr810n
573
574 define Device/tl-wr743nd-v1
575     $(Device/tplink-4m)
576     DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
577     BOARDNAME := TL-WR741ND
578     DEVICE_PROFILE := TLWR743
579     TPLINK_HWID := 0x07430001
580 endef
581
582 define Device/tl-wr743nd-v2
583     $(Device/tplink-4mlzma)
584     DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
585     BOARDNAME := TL-WR741ND-v4
586     DEVICE_PROFILE := TLWR743
587     TPLINK_HWID := 0x07430002
588     CONSOLE := ttyATH0,115200
589 endef
590 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
591
592 define Device/tl-wr802n-v1
593     $(Device/tplink-4mlzma)
594     DEVICE_TITLE := TP-LINK TL-WR802N v1
595         BOARDNAME := TL-WR802N-v1
596     DEVICE_PROFILE := TLWR802
597     TPLINK_HWID := 0x08020001
598     TPLINK_HWREV := 1
599 endef
600 TARGET_DEVICES += tl-wr802n-v1
601
602 define Device/tl-wr841-v1.5
603     $(Device/tplink-4m)
604     DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
605     BOARDNAME := TL-WR841N-v1.5
606     DEVICE_PROFILE := TLWR841
607     TPLINK_HWID := 0x08410002
608     TPLINK_HWREV := 2
609 endef
610
611 define Device/tl-wr841-v3
612     $(Device/tplink-4m)
613     DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
614     BOARDNAME := TL-WR941ND
615     DEVICE_PROFILE := TLWR841
616     TPLINK_HWID := 0x08410003
617     TPLINK_HWREV := 3
618 endef
619
620 define Device/tl-wr841-v5
621     $(Device/tplink-4m)
622     DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
623     BOARDNAME := TL-WR741ND
624     DEVICE_PROFILE := TLWR841
625     TPLINK_HWID := 0x08410005
626 endef
627
628 define Device/tl-wr841-v7
629     $(Device/tplink-4m)
630     DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
631     BOARDNAME := TL-WR841N-v7
632     DEVICE_PROFILE := TLWR841
633     TPLINK_HWID := 0x08410007
634 endef
635
636 define Device/tl-wr841-v8
637     $(Device/tplink-4mlzma)
638     DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
639     BOARDNAME := TL-WR841N-v8
640     DEVICE_PROFILE := TLWR841
641     TPLINK_HWID := 0x08410008
642 endef
643
644 define Device/tl-wr841-v9
645     $(Device/tplink-4mlzma)
646     DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
647     BOARDNAME := TL-WR841N-v9
648     DEVICE_PROFILE := TLWR841
649     TPLINK_HWID := 0x08410009
650 endef
651
652 define Device/tl-wr841-v10
653     $(Device/tplink-4mlzma)
654     DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
655     BOARDNAME := TL-WR841N-v9
656     DEVICE_PROFILE := TLWR841
657     TPLINK_HWID := 0x08410010
658 endef
659
660 define Device/tl-wr841-v11
661    $(Device/tplink-4mlzma)
662    DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
663    BOARDNAME := TL-WR841N-v11
664    DEVICE_PROFILE := TLWR841
665    TPLINK_HWID := 0x08410011
666    IMAGES += factory-us.bin factory-eu.bin
667    IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
668    IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
669 endef
670
671 define Device/tl-wr841-v12
672   $(Device/tl-wr841-v11)
673   DEVICE_TITLE := TP-LINK TL-WR841N/ND v12
674   TPLINK_HWID := 0x08410012
675 endef
676
677 define Device/tl-wr842n-v1
678     $(Device/tplink-8m)
679     DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
680     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
681     BOARDNAME := TL-MR3420
682     DEVICE_PROFILE := TLWR842
683     TPLINK_HWID := 0x08420001
684 endef
685
686 define Device/tl-wr842n-v2
687     $(Device/tplink-8mlzma)
688     DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
689     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
690     BOARDNAME := TL-WR842N-v2
691     DEVICE_PROFILE := TLWR842
692     TPLINK_HWID := 0x8420002
693 endef
694
695 define Device/tl-wr842n-v3
696     $(Device/tplink-16mlzma)
697     DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
698     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
699     BOARDNAME := TL-WR842N-v3
700     DEVICE_PROFILE := TLWR842
701     TPLINK_HWID := 0x08420003
702 endef
703
704 define Device/tl-wr843nd-v1
705     $(Device/tplink-4mlzma)
706     DEVICE_TITLE := TP-LINK TL-WR843N/ND
707     BOARDNAME := TL-WR841N-v8
708     DEVICE_PROFILE := TLWR843
709     TPLINK_HWID := 0x08430001
710 endef
711
712 define Device/tl-wr847n-v8
713     $(Device/tplink-4mlzma)
714     DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
715     BOARDNAME := TL-WR841N-v8
716     DEVICE_PROFILE := TLWR841
717     TPLINK_HWID := 0x08470008
718 endef
719 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
720
721 define Device/tl-wr941nd-v2
722     $(Device/tplink-4m)
723     DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
724     BOARDNAME := TL-WR941ND
725     DEVICE_PROFILE := TLWR941
726     TPLINK_HWID := 0x09410002
727     TPLINK_HWREV := 2
728 endef
729
730 define Device/tl-wr941nd-v3
731     $(Device/tplink-4m)
732     DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
733     BOARDNAME := TL-WR941ND
734     DEVICE_PROFILE := TLWR941
735     TPLINK_HWID := 0x09410002
736     TPLINK_HWREV := 2
737 endef
738
739 define Device/tl-wr941nd-v4
740     $(Device/tplink-4m)
741     DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
742     BOARDNAME := TL-WR741ND
743     DEVICE_PROFILE := TLWR941
744     TPLINK_HWID := 0x09410004
745 endef
746
747 define Device/tl-wr941nd-v5
748     $(Device/tplink-4mlzma)
749     DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
750     BOARDNAME := TL-WR941ND-v5
751     DEVICE_PROFILE := TLWR941
752     TPLINK_HWID := 0x09410005
753 endef
754
755 define Device/tl-wr941nd-v6
756     $(Device/tplink-4mlzma)
757     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
758     BOARDNAME := TL-WR941ND-v6
759     DEVICE_PROFILE := TLWR941
760     TPLINK_HWID := 0x09410006
761 endef
762
763 define Device/tl-wr940n-v4
764     $(Device/tplink-4mlzma)
765     DEVICE_TITLE := TP-LINK TL-WR940N v4
766     BOARDNAME := TL-WR940N-v4
767     DEVICE_PROFILE := TLWR941
768     TPLINK_HWID := 0x09400004
769     IMAGES += factory-us.bin factory-eu.bin
770     IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
771     IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
772 endef
773
774 # Chinese version (unlike European) is similar to the TL-WDR3500
775 define Device/tl-wr941nd-v6-cn
776     $(Device/tplink-4mlzma)
777     DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
778     BOARDNAME := TL-WDR3500
779     DEVICE_PROFILE := TLWR941
780     TPLINK_HWID := 0x09410006
781 endef
782 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn tl-wr940n-v4
783
784 define Device/tl-wr1041n-v2
785     $(Device/tplink-4mlzma)
786     DEVICE_TITLE := TP-LINK TL-WR1041N
787     BOARDNAME := TL-WR1041N-v2
788     DEVICE_PROFILE := TLWR1041
789     TPLINK_HWID := 0x10410002
790 endef
791 TARGET_DEVICES += tl-wr1041n-v2
792
793 define Device/tl-wr1043nd-v1
794     $(Device/tplink-8m)
795     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
796     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
797     BOARDNAME := TL-WR1043ND
798     DEVICE_PROFILE := TLWR1043
799     TPLINK_HWID := 0x10430001
800 endef
801
802 define Device/tl-wr1043nd-v2
803     $(Device/tplink-8mlzma)
804     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
805     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
806     BOARDNAME := TL-WR1043ND-v2
807     DEVICE_PROFILE := TLWR1043
808     TPLINK_HWID := 0x10430002
809 endef
810
811 define Device/tl-wr1043nd-v3
812     $(Device/tplink-8mlzma)
813     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
814     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
815     BOARDNAME := TL-WR1043ND-v2
816     DEVICE_PROFILE := TLWR1043
817     TPLINK_HWID := 0x10430003
818 endef
819
820 define Device/tl-wr1043nd-v4
821     $(Device/tplink)
822     DEVICE_TITLE := TP-LINK TL-WR1043N/ND v4
823     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
824     BOARDNAME := TL-WR1043ND-v4
825     DEVICE_PROFILE := TLWR1043
826     TPLINK_HWID :=  0x10430004
827     TPLINK_FLASHLAYOUT := 16Msafeloader
828     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)
829     IMAGE_SIZE := 15552k
830     TPLINK_BOARD_NAME := TLWR1043NDV4
831     KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-combined
832     IMAGES := sysupgrade.bin factory.bin
833     IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
834     IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
835 endef
836 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3 tl-wr1043nd-v4
837
838 define Device/tl-wr2543-v1
839     $(Device/tplink-8mlzma)
840     DEVICE_TITLE := TP-LINK TL-WR2543N/ND
841     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
842     BOARDNAME := TL-WR2543N
843     DEVICE_PROFILE := TLWR2543
844     TPLINK_HWID := 0x25430001
845     IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
846     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
847 endef
848 TARGET_DEVICES += tl-wr2543-v1
849
850 define Device/tl-wdr4900-v2
851     $(Device/tplink-8mlzma)
852     DEVICE_TITLE := TP-LINK TL-WDR4900v2
853     DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
854     BOARDNAME := TL-WDR4900-v2
855     DEVICE_PROFILE := TLWDR4900V2
856     TPLINK_HWID := 0x49000002
857 endef
858 TARGET_DEVICES += tl-wdr4900-v2
859
860 define Device/tl-wa701nd-v1
861     $(Device/tplink-4m)
862     DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
863     BOARDNAME := TL-WA901ND
864     DEVICE_PROFILE := TLWA701
865     TPLINK_HWID := 0x07010001
866 endef
867
868 define Device/tl-wa701nd-v2
869     $(Device/tplink-4mlzma)
870     DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
871     BOARDNAME := TL-WA701ND-v2
872     DEVICE_PROFILE := TLWA701
873     TPLINK_HWID := 0x07010002
874     CONSOLE := ttyATH0,115200
875 endef
876
877 define Device/tl-wa730re-v1
878     $(Device/tplink-4m)
879     DEVICE_TITLE := TP-LINK TL-WA730RE
880     BOARDNAME := TL-WA901ND
881     DEVICE_PROFILE := TLWA730RE
882     TPLINK_HWID := 0x07300001
883 endef
884
885 define Device/tl-wa750re-v1
886     $(Device/tplink-4mlzma)
887     DEVICE_TITLE := TP-LINK TL-WA750RE
888     DEVICE_PACKAGES := rssileds
889     BOARDNAME := TL-WA750RE
890     DEVICE_PROFILE := TLWA750
891     TPLINK_HWID := 0x07500001
892 endef
893
894 define Device/tl-wa7510n
895     $(Device/tplink-4m)
896     DEVICE_TITLE := TP-LINK TL-WA7510N
897     BOARDNAME := TL-WA7510N
898     DEVICE_PROFILE := TLWA7510
899     TPLINK_HWID := 0x75100001
900 endef
901 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n
902
903 define Device/tl-wa801nd-v1
904     $(Device/tplink-4m)
905     DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
906     BOARDNAME := TL-WA901ND
907     DEVICE_PROFILE := TLWA801
908     TPLINK_HWID := 0x08010001
909 endef
910
911 define Device/tl-wa801nd-v2
912     $(Device/tplink-4mlzma)
913     DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
914     BOARDNAME := TL-WA801ND-v2
915     DEVICE_PROFILE := TLWA801
916     TPLINK_HWID := 0x08010002
917 endef
918
919 define Device/tl-wa801nd-v3
920     $(Device/tplink-4mlzma)
921     DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
922     BOARDNAME := TL-WA801ND-v3
923     DEVICE_PROFILE := TLWA801
924     TPLINK_HWID := 0x08010003
925 endef
926
927 define Device/tl-wa830re-v1
928     $(Device/tplink-4m)
929     DEVICE_TITLE := TP-LINK TL-WA830RE
930     BOARDNAME := TL-WA901ND
931     DEVICE_PROFILE := TLWA830
932     TPLINK_HWID := 0x08300010
933 endef
934
935 define Device/tl-wa830re-v2
936     $(Device/tplink-4mlzma)
937     DEVICE_TITLE := TP-LINK TL-WA830RE
938     BOARDNAME := TL-WA830RE-v2
939     DEVICE_PROFILE := TLWA830
940     TPLINK_HWID := 0x08300002
941 endef
942
943 define Device/tl-wa850re-v1
944     $(Device/tplink-4mlzma)
945     DEVICE_TITLE := TP-LINK TL-WA850RE
946     BOARDNAME := TL-WA850RE
947     DEVICE_PROFILE := TLWA850
948     TPLINK_HWID := 0x08500001
949 endef
950
951 define Device/tl-wa860re-v1
952     $(Device/tplink-4mlzma)
953     DEVICE_TITLE := TP-LINK TL-WA860RE
954     BOARDNAME := TL-WA860RE
955     DEVICE_PROFILE := TLWA860
956     TPLINK_HWID := 0x08600001
957 endef
958 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
959
960 define Device/tl-wa901nd-v1
961     $(Device/tplink-4m)
962     DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
963     BOARDNAME := TL-WA901ND
964     DEVICE_PROFILE := TLWA901
965     TPLINK_HWID := 0x09010001
966 endef
967
968 define Device/tl-wa901nd-v2
969     $(Device/tplink-4m)
970     DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
971     BOARDNAME := TL-WA901ND-v2
972     DEVICE_PROFILE := TLWA901
973     TPLINK_HWID := 0x09010002
974 endef
975
976 define Device/tl-wa901nd-v3
977     $(Device/tplink-4mlzma)
978     DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
979     BOARDNAME := TL-WA901ND-v3
980     DEVICE_PROFILE := TLWA901
981     TPLINK_HWID := 0x09010003
982 endef
983
984 define Device/tl-wa901nd-v4
985     $(Device/tplink-4mlzma)
986     DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
987     BOARDNAME := TL-WA901ND-v4
988     DEVICE_PROFILE := TLWA901
989     TPLINK_HWID := 0x09010004
990     IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
991 endef
992
993 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
994
995 define Device/tl-wa7210n-v2
996     $(Device/tplink-4mlzma)
997     DEVICE_TITLE := TP-LINK TL-WA7210N
998     DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
999     BOARDNAME := TL-WA7210N-v2
1000     DEVICE_PROFILE := TLWA7210
1001     TPLINK_HWID := 0x72100002
1002     CONSOLE := ttyATH0,115200
1003 endef
1004 TARGET_DEVICES += tl-wa7210n-v2