ar71xx: image: keep custom Build/* functions in separate files
[oweals/openwrt.git] / target / linux / ar71xx / image / tp-link.mk
1 DEVICE_VARS += LOADER_FLASH_OFFS TPLINK_BOARD_NAME TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
2
3 define Build/copy-file
4         cat "$(1)" > "$@"
5 endef
6
7 define Build/loader-okli
8         dd if=$(KDIR)/loader-$(1).gz bs=7680 conv=sync of="$@.new"
9         cat "$@" >> "$@.new"
10         mv "$@.new" "$@"
11 endef
12
13 define Build/loader-okli-compile
14         $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0 KERNEL_CMDLINE="$(CMDLINE)")
15 endef
16
17 # combine kernel and rootfs into one image
18 # mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
19 # <type> is "sysupgrade" or "factory"
20 #
21 # -a align the rootfs start on an <align> bytes boundary
22 # -j add jffs2 end-of-filesystem markers
23 # -s strip padding from end of the image
24 # -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
25 define Build/mktplinkfw
26         -$(STAGING_DIR_HOST)/bin/mktplinkfw \
27                 -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
28                 -m $(TPLINK_HEADER_VERSION) \
29                 -k $(IMAGE_KERNEL) \
30                 -r $@ \
31                 -o $@.new \
32                 -j -X 0x40000 \
33                 -a $(call rootfs_align,$(FILESYSTEM)) \
34                 $(wordlist 2,$(words $(1)),$(1)) \
35                 $(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
36 endef
37
38 # mktplinkfw-combined
39 #
40 # -c combined image
41 define Build/mktplinkfw-combined
42         $(STAGING_DIR_HOST)/bin/mktplinkfw \
43                 -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $(1) \
44                 -m $(TPLINK_HEADER_VERSION) \
45                 -k $@ \
46                 -o $@.new \
47                 -s -S \
48                 -c
49         @mv $@.new $@
50 endef
51
52 # add RE450 and similar header to the kernel image
53 define Build/mktplinkfw-kernel
54         $(STAGING_DIR_HOST)/bin/mktplinkfw-kernel \
55                 -H $(TPLINK_HWID) -N OpenWrt -V $(REVISION) \
56                 -L $(KERNEL_LOADADDR) -E $(KERNEL_LOADADDR) \
57                 -k $@ \
58                 -o $@.new
59         @mv $@.new $@
60 endef
61
62 define Build/uImageArcher
63         mkimage -A $(LINUX_KARCH) \
64                 -O linux -T kernel \
65                 -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
66                 -n '$(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
67         @mv $@.new $@
68 endef
69
70
71 define Device/tplink
72   TPLINK_HWREV := 0x1
73   TPLINK_HEADER_VERSION := 1
74   LOADER_TYPE := gz
75   KERNEL := kernel-bin | patch-cmdline | lzma
76   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | mktplinkfw-combined
77   IMAGES := sysupgrade.bin factory.bin
78   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
79   IMAGE/factory.bin := append-rootfs | mktplinkfw factory
80 endef
81
82 define Device/tplink-nolzma
83   $(Device/tplink)
84   LOADER_FLASH_OFFS := 0x22000
85   COMPILE := loader-$(1).gz
86   COMPILE/loader-$(1).gz := loader-okli-compile
87   KERNEL := copy-file $(KDIR)/vmlinux.bin.lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1)
88   KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux-initramfs.bin.lzma | loader-kernel-cmdline | mktplinkfw-combined
89 endef
90
91 define Device/tplink-4m
92   $(Device/tplink-nolzma)
93   TPLINK_FLASHLAYOUT := 4M
94   IMAGE_SIZE := 3904k
95 endef
96
97 define Device/tplink-8m
98   $(Device/tplink-nolzma)
99   TPLINK_FLASHLAYOUT := 8M
100   IMAGE_SIZE := 7936k
101 endef
102
103 define Device/tplink-4mlzma
104   $(Device/tplink)
105   TPLINK_FLASHLAYOUT := 4Mlzma
106   IMAGE_SIZE := 3904k
107 endef
108
109 define Device/tplink-8mlzma
110   $(Device/tplink)
111   TPLINK_FLASHLAYOUT := 8Mlzma
112   IMAGE_SIZE := 7936k
113 endef
114
115 define Device/tplink-16mlzma
116   $(Device/tplink)
117   TPLINK_FLASHLAYOUT := 16Mlzma
118   IMAGE_SIZE := 15872k
119 endef
120
121 define Device/archer-c59-v1
122   DEVICE_TITLE := TP-LINK Archer C59 v1
123   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
124   BOARDNAME := ARCHER-C59-V1
125   TPLINK_BOARD_NAME := ARCHER-C59-V1
126   DEVICE_PROFILE := ARCHERC59V1
127   IMAGE_SIZE := 14528k
128   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
129   IMAGES := sysupgrade.bin factory.bin
130   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
131   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
132   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1536k(kernel),12992k(rootfs),1664k(tplink)ro,64k(art)ro,14528k@0x20000(firmware)
133 endef
134 TARGET_DEVICES += archer-c59-v1
135
136 define Device/archer-c60-v1
137   DEVICE_TITLE := TP-LINK Archer C60 v1
138   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
139   BOARDNAME := ARCHER-C60-V1
140   TPLINK_BOARD_NAME := ARCHER-C60-V1
141   DEVICE_PROFILE := ARCHERC60V1
142   IMAGE_SIZE := 7936k
143   KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
144   IMAGES := sysupgrade.bin factory.bin
145   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
146   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
147   MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1344k(kernel),6592k(rootfs),64k(tplink)ro,64k(art)ro,7936k@0x20000(firmware)
148 endef
149 TARGET_DEVICES += archer-c60-v1
150
151 define Device/cpe510-520-v1
152   DEVICE_TITLE := TP-LINK CPE510/520 v1
153   DEVICE_PACKAGES := rssileds
154   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)
155   IMAGE_SIZE := 7680k
156   BOARDNAME := CPE510
157   TPLINK_BOARD_NAME := CPE510
158   DEVICE_PROFILE := CPE510
159   LOADER_TYPE := elf
160   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
161   IMAGES := sysupgrade.bin factory.bin
162   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
163   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
164 endef
165
166 define Device/cpe210-220-v1
167   $(Device/cpe510-520-v1)
168   DEVICE_TITLE := TP-LINK CPE210/220 v1
169   DEVICE_PACKAGES := rssileds
170   BOARDNAME := CPE210
171   TPLINK_BOARD_NAME := CPE210
172 endef
173
174 define Device/wbs210-v1
175   $(Device/cpe510-520-v1)
176   DEVICE_TITLE := TP-LINK WBS210 v1
177   DEVICE_PACKAGES := rssileds
178   BOARDNAME := WBS210
179   TPLINK_BOARD_NAME := WBS210
180 endef
181
182 define Device/wbs510-v1
183   $(Device/cpe510-520-v1)
184   DEVICE_TITLE := TP-LINK WBS510 v1
185   DEVICE_PACKAGES := rssileds
186   BOARDNAME := WBS510
187   TPLINK_BOARD_NAME := WBS510
188 endef
189 TARGET_DEVICES += cpe210-220-v1 cpe510-520-v1 wbs210-v1 wbs510-v1
190
191 define Device/re450-v1
192   DEVICE_TITLE := TP-LINK RE450 v1
193   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
194   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)
195   IMAGE_SIZE := 7936k
196   BOARDNAME := RE450
197   TPLINK_BOARD_NAME := RE450
198   DEVICE_PROFILE := RE450
199   LOADER_TYPE := elf
200   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
201   IMAGES := sysupgrade.bin factory.bin
202   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
203   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
204 endef
205 TARGET_DEVICES += re450-v1
206
207 define Device/eap120-v1
208   DEVICE_TITLE := TP-LINK EAP120 v1
209   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)
210   IMAGE_SIZE := 15872k
211   BOARDNAME := EAP120
212   TPLINK_BOARD_NAME := EAP120
213   DEVICE_PROFILE := EAP120
214   LOADER_TYPE := elf
215   KERNEL := kernel-bin | patch-cmdline | lzma | loader-kernel
216   IMAGES := sysupgrade.bin factory.bin
217   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
218   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
219 endef
220 TARGET_DEVICES += eap120-v1
221
222 define Device/tl-wdr4300-v1
223   $(Device/tplink-8mlzma)
224   DEVICE_TITLE := TP-LINK TL-WDR4300 v1
225   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
226   BOARDNAME := TL-WDR4300
227   DEVICE_PROFILE := TLWDR4300
228   TPLINK_HWID := 0x43000001
229   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
230 endef
231
232 define Device/tl-wdr3500-v1
233   $(Device/tplink-8mlzma)
234   DEVICE_TITLE := TP-LINK TL-WDR3500 v1
235   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
236   BOARDNAME := TL-WDR3500
237   DEVICE_PROFILE := TLWDR4300
238   TPLINK_HWID := 0x35000001
239 endef
240
241 define Device/tl-wdr3600-v1
242   $(Device/tplink-8mlzma)
243   DEVICE_TITLE := TP-LINK TL-WDR3600 v1
244   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
245   BOARDNAME := TL-WDR4300
246   DEVICE_PROFILE := TLWDR4300
247   TPLINK_HWID := 0x36000001
248   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US
249 endef
250
251 define Device/tl-wdr4300-v1-il
252   $(Device/tplink-8mlzma)
253   DEVICE_TITLE := TP-LINK TL-WDR4300 v1 (IL)
254   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
255   BOARDNAME := TL-WDR4300
256   DEVICE_PROFILE := TLWDR4300
257   TPLINK_HWID := 0x43008001
258 endef
259
260 define Device/tl-wdr4310-v1
261   $(Device/tplink-8mlzma)
262   DEVICE_TITLE := TP-LINK TL-WDR4310 v1
263   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
264   BOARDNAME := TL-WDR4300
265   DEVICE_PROFILE = TLWDR4300
266   TPLINK_HWID := 0x43100001
267 endef
268
269 define Device/mw4530r-v1
270   $(Device/tl-wdr4300-v1)
271   DEVICE_TITLE := Mercury MW4530R v1
272   TPLINK_HWID := 0x45300001
273 endef
274 TARGET_DEVICES += tl-wdr3500-v1 tl-wdr3600-v1 tl-wdr4300-v1 tl-wdr4300-v1-il tl-wdr4310-v1 mw4530r-v1
275
276 define Device/tl-wdr6500-v2
277   $(Device/tplink-8mlzma)
278   DEVICE_TITLE := TP-LINK TL-WDR6500 v2
279   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
280   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
281   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-combined
282   BOARDNAME = TL-WDR6500-v2
283   DEVICE_PROFILE = TLWDR6500V2
284   TPLINK_HWID := 0x65000002
285   TPLINK_HEADER_VERSION := 2
286 endef
287 TARGET_DEVICES += tl-wdr6500-v2
288
289 define Device/tl-wdr3320-v2
290   $(Device/tplink-4mlzma)
291   DEVICE_TITLE := TP-LINK TL-WDR3320 v2
292   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
293   BOARDNAME = TL-WDR3320-v2
294   DEVICE_PROFILE = TLWDR3320V2
295   TPLINK_HWID := 0x33200002
296   TPLINK_HEADER_VERSION := 2
297 endef
298 TARGET_DEVICES += tl-wdr3320-v2
299
300 define Device/archer-c5-v1
301   $(Device/tplink-16mlzma)
302   DEVICE_TITLE := TP-LINK Archer C5 v1
303   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
304   BOARDNAME := ARCHER-C5
305   DEVICE_PROFILE := ARCHERC7
306   TPLINK_HWID := 0xc5000001
307 endef
308
309 define Device/archer-c7-v1
310   $(Device/tplink-8mlzma)
311   DEVICE_TITLE := TP-LINK Archer C7 v1
312   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
313   BOARDNAME := ARCHER-C7
314   DEVICE_PROFILE := ARCHERC7
315   TPLINK_HWID := 0x75000001
316 endef
317
318 define Device/archer-c7-v2
319   $(Device/tplink-16mlzma)
320   DEVICE_TITLE := TP-LINK Archer C7 v2
321   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
322   BOARDNAME := ARCHER-C7-V2
323   DEVICE_PROFILE := ARCHERC7
324   TPLINK_HWID := 0xc7000002
325   IMAGES := sysupgrade.bin factory.bin factory-us.bin factory-eu.bin
326   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
327   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
328 endef
329
330 define Device/archer-c7-v2-il
331   $(Device/tplink-16mlzma)
332   DEVICE_TITLE := TP-LINK Archer C7 v2 (IL)
333   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
334   BOARDNAME := ARCHER-C7-V2
335   DEVICE_PROFILE := ARCHERC7
336   TPLINK_HWID := 0xc7000002
337   TPLINK_HWREV := 0x494c0001
338 endef
339
340 define Device/tl-wdr7500-v3
341   $(Device/tplink-8mlzma)
342   DEVICE_TITLE := TP-LINK Archer C7 v3
343   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
344   BOARDNAME := ARCHER-C7
345   DEVICE_PROFILE := ARCHERC7
346   TPLINK_HWID := 0x75000003
347 endef
348 TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 archer-c7-v2-il tl-wdr7500-v3
349
350 define Device/tl-mr10u-v1
351   $(Device/tplink-4mlzma)
352   DEVICE_TITLE := TP-LINK TL-MR10U v1
353   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
354   BOARDNAME := TL-MR10U
355   DEVICE_PROFILE := TLMR10U
356   TPLINK_HWID := 0x00100101
357   CONSOLE := ttyATH0,115200
358 endef
359
360 define Device/tl-mr11u-v1
361   $(Device/tplink-4mlzma)
362   DEVICE_TITLE := TP-LINK TL-MR11U v1
363   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
364   BOARDNAME := TL-MR11U
365   DEVICE_PROFILE := TLMR11U
366   TPLINK_HWID := 0x00110101
367   CONSOLE := ttyATH0,115200
368 endef
369
370 define Device/tl-mr11u-v2
371   $(Device/tplink-4mlzma)
372   DEVICE_TITLE := TP-LINK TL-MR11U v2
373   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
374   BOARDNAME := TL-MR11U
375   DEVICE_PROFILE := TLMR11U
376   TPLINK_HWID := 0x00110102
377   CONSOLE := ttyATH0,115200
378 endef
379
380 define Device/tl-mr12u-v1
381   $(Device/tplink-4mlzma)
382   DEVICE_TITLE := TP-LINK TL-MR12U v1
383   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
384   BOARDNAME := TL-MR13U
385   DEVICE_PROFILE := TLMR12U
386   TPLINK_HWID := 0x00120101
387   CONSOLE := ttyATH0,115200
388 endef
389
390 define Device/tl-mr13u-v1
391   $(Device/tplink-4mlzma)
392   DEVICE_TITLE := TP-LINK TL-MR13U v1
393   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
394   BOARDNAME := TL-MR13U
395   DEVICE_PROFILE := TLMR13U
396   TPLINK_HWID := 0x00130101
397   CONSOLE := ttyATH0,115200
398 endef
399 TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
400
401 define Device/tl-mr3020-v1
402   $(Device/tplink-4mlzma)
403   DEVICE_TITLE := TP-LINK TL-MR3020 v1
404   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
405   BOARDNAME := TL-MR3020
406   DEVICE_PROFILE := TLMR3020
407   TPLINK_HWID := 0x30200001
408   CONSOLE := ttyATH0,115200
409 endef
410
411 define Device/tl-mr3040-v1
412   $(Device/tplink-4mlzma)
413   DEVICE_TITLE := TP-LINK TL-MR3040 v1
414   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
415   BOARDNAME := TL-MR3040
416   DEVICE_PROFILE := TLMR3040
417   TPLINK_HWID := 0x30400001
418   CONSOLE := ttyATH0,115200
419 endef
420
421 define Device/tl-mr3040-v2
422   $(Device/tplink-4mlzma)
423   DEVICE_TITLE := TP-LINK TL-MR3040 v2
424   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
425   BOARDNAME := TL-MR3040-v2
426   DEVICE_PROFILE := TLMR3040
427   TPLINK_HWID := 0x30400002
428   CONSOLE := ttyATH0,115200
429 endef
430
431 define Device/tl-mr3220-v1
432   $(Device/tplink-4m)
433   DEVICE_TITLE := TP-LINK TL-MR3220 v1
434   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
435   BOARDNAME := TL-MR3220
436   DEVICE_PROFILE := TLMR3220
437   TPLINK_HWID := 0x32200001
438 endef
439
440 define Device/tl-mr3220-v2
441   $(Device/tplink-4mlzma)
442   DEVICE_TITLE := TP-LINK TL-MR3220 v2
443   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
444   BOARDNAME := TL-MR3220-v2
445   DEVICE_PROFILE := TLMR3220
446   TPLINK_HWID := 0x32200002
447   CONSOLE := ttyATH0,115200
448 endef
449
450 define Device/tl-mr3420-v1
451   $(Device/tplink-4m)
452   DEVICE_TITLE := TP-LINK TL-MR3420 v1
453   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
454   BOARDNAME := TL-MR3420
455   DEVICE_PROFILE := TLMR3420
456   TPLINK_HWID := 0x34200001
457 endef
458
459 define Device/tl-mr3420-v2
460   $(Device/tplink-4mlzma)
461   DEVICE_TITLE := TP-LINK TL-MR3420 v2
462   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
463   BOARDNAME := TL-MR3420-v2
464   DEVICE_PROFILE := TLMR3420
465   TPLINK_HWID := 0x34200002
466 endef
467 TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-v2 tl-mr3420-v1 tl-mr3420-v2
468
469 define Device/tl-mr6400-v1
470   $(Device/tplink-8mlzma)
471   DEVICE_TITLE := TP-LINK TL-MR6400 v1
472   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb-enablemodem
473   BOARDNAME := TL-MR6400
474   DEVICE_PROFILE := TLMR6400
475   TPLINK_HWID := 0x64000001
476 endef
477 TARGET_DEVICES += tl-mr6400-v1
478
479 define Device/tl-wpa8630-v1
480   $(Device/tplink-8mlzma)
481   DEVICE_TITLE := TP-LINK TL-WPA8630 v1
482   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
483   BOARDNAME := TL-WPA8630
484   DEVICE_PROFILE := TL-WPA8630
485   TPLINK_HWID := 0x86300001
486 endef
487 TARGET_DEVICES += tl-wpa8630-v1
488
489 define Device/tl-wr703n-v1
490   $(Device/tplink-4mlzma)
491   DEVICE_TITLE := TP-LINK TL-WR703N v1
492   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
493   BOARDNAME := TL-WR703N
494   DEVICE_PROFILE := TLWR703
495   TPLINK_HWID := 0x07030101
496   CONSOLE := ttyATH0,115200
497 endef
498
499 define Device/tl-wr710n-v1
500   $(Device/tplink-8mlzma)
501   DEVICE_TITLE := TP-LINK TL-WR710N v1
502   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
503   BOARDNAME := TL-WR710N
504   DEVICE_PROFILE := TLWR710
505   TPLINK_HWID := 0x07100001
506   CONSOLE := ttyATH0,115200
507 endef
508
509 define Device/tl-wr710n-v2
510   $(Device/tplink-4mlzma)
511   DEVICE_TITLE := TP-LINK TL-WR710N v2
512   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
513   BOARDNAME := TL-WR710N v2
514   DEVICE_PROFILE := TLWR710
515   TPLINK_HWID := 0x07100002
516   CONSOLE := ttyATH0,115200
517 endef
518
519 define Device/tl-wr710n-v2.1
520   $(Device/tplink-8mlzma)
521   DEVICE_TITLE := TP-LINK TL-WR710N v2.1
522   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
523   BOARDNAME := TL-WR710N v2.1
524   DEVICE_PROFILE := TLWR710
525   TPLINK_HWID := 0x07100002
526   TPLINK_HWREV := 0x00000002
527   CONSOLE := ttyATH0,115200
528 endef
529
530 define Device/tl-wr720n-v3
531   $(Device/tplink-4mlzma)
532   DEVICE_TITLE := TP-LINK TL-WR720N v3
533   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
534   BOARDNAME := TL-WR720N-v3
535   DEVICE_PROFILE := TLWR720
536   TPLINK_HWID := 0x07200103
537   CONSOLE := ttyATH0,115200
538 endef
539
540 define Device/tl-wr720n-v4
541   $(Device/tplink-4mlzma)
542   DEVICE_TITLE := TP-LINK TL-WR720N v4
543   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
544   BOARDNAME := TL-WR720N-v3
545   DEVICE_PROFILE := TLWR720
546   TPLINK_HWID := 0x07200104
547   CONSOLE := ttyATH0,115200
548 endef
549 TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
550
551 define Device/tl-wr740n-v1
552   $(Device/tplink-4m)
553   DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
554   BOARDNAME := TL-WR741ND
555   DEVICE_PROFILE := TLWR740
556   TPLINK_HWID := 0x07400001
557 endef
558
559 define Device/tl-wr740n-v3
560   $(Device/tplink-4m)
561   DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
562   BOARDNAME := TL-WR741ND
563   DEVICE_PROFILE := TLWR740
564   TPLINK_HWID := 0x07400003
565 endef
566
567 define Device/tl-wr740n-v4
568   $(Device/tplink-4mlzma)
569   DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
570   BOARDNAME := TL-WR741ND-v4
571   DEVICE_PROFILE := TLWR740
572   TPLINK_HWID := 0x07400004
573   CONSOLE := ttyATH0,115200
574 endef
575
576 define Device/tl-wr740n-v5
577   $(Device/tplink-4mlzma)
578   DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
579   BOARDNAME := TL-WR741ND-v4
580   DEVICE_PROFILE := TLWR740
581   TPLINK_HWID := 0x07400005
582   CONSOLE := ttyATH0,115200
583 endef
584
585 define Device/tl-wr740n-v6
586   $(Device/tplink-4mlzma)
587   DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
588   BOARDNAME := TL-WR740N-v6
589   DEVICE_PROFILE := TLWR740
590   TPLINK_HWID := 0x07400006
591 endef
592
593 define Device/tl-wr741nd-v1
594   $(Device/tplink-4m)
595   DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
596   BOARDNAME := TL-WR741ND
597   DEVICE_PROFILE := TLWR741
598   TPLINK_HWID := 0x07410001
599 endef
600
601 define Device/tl-wr741nd-v2
602   $(Device/tplink-4m)
603   DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
604   BOARDNAME := TL-WR741ND
605   DEVICE_PROFILE := TLWR741
606   TPLINK_HWID := 0x07410001
607 endef
608
609 define Device/tl-wr741nd-v4
610   $(Device/tplink-4mlzma)
611   DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
612   BOARDNAME := TL-WR741ND-v4
613   DEVICE_PROFILE := TLWR741
614   TPLINK_HWID := 0x07410004
615   CONSOLE := ttyATH0,115200
616 endef
617
618 define Device/tl-wr741nd-v5
619   $(Device/tplink-4mlzma)
620   DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
621   BOARDNAME := TL-WR741ND-v4
622   DEVICE_PROFILE := TLWR741
623   TPLINK_HWID := 0x07400005
624   CONSOLE := ttyATH0,115200
625 endef
626
627 define Device/tl-wr810n-v1
628   $(Device/tplink-8mlzma)
629   DEVICE_TITLE := TP-LINK TL-WR810N v1
630   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
631   BOARDNAME := TL-WR810N
632   DEVICE_PROFILE := TLWR810
633   TPLINK_HWID := 0x08100001
634 endef
635 TARGET_DEVICES += tl-wr810n-v1
636
637 define Device/tl-wr743nd-v1
638   $(Device/tplink-4m)
639   DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
640   BOARDNAME := TL-WR741ND
641   DEVICE_PROFILE := TLWR743
642   TPLINK_HWID := 0x07430001
643 endef
644
645 define Device/tl-wr743nd-v2
646   $(Device/tplink-4mlzma)
647   DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
648   BOARDNAME := TL-WR741ND-v4
649   DEVICE_PROFILE := TLWR743
650   TPLINK_HWID := 0x07430002
651   CONSOLE := ttyATH0,115200
652 endef
653 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
654
655 define Device/tl-wr802n-v1
656   $(Device/tplink-4mlzma)
657   DEVICE_TITLE := TP-LINK TL-WR802N v1
658   BOARDNAME := TL-WR802N-v1
659   DEVICE_PROFILE := TLWR802
660   TPLINK_HWID := 0x08020001
661   TPLINK_HWREV := 1
662 endef
663
664 define Device/tl-wr802n-v2
665   $(Device/tplink-4mlzma)
666   DEVICE_TITLE := TP-LINK TL-WR802N v2
667   BOARDNAME := TL-WR802N-v2
668   DEVICE_PROFILE := TLWR802
669   TPLINK_HWID := 0x08020002
670   TPLINK_HWREV := 2
671   IMAGES += factory-us.bin factory-eu.bin
672   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
673   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
674 endef
675 TARGET_DEVICES += tl-wr802n-v1 tl-wr802n-v2
676
677 define Device/tl-wr840n-v2
678   $(Device/tplink-4mlzma)
679   DEVICE_TITLE := TP-LINK TL-WR840N v2
680   BOARDNAME := TL-WR840N-v2
681   DEVICE_PROFILE := TLWR840
682   TPLINK_HWID := 0x08400002
683   IMAGES += factory-eu.bin
684   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
685 endef
686
687 define Device/tl-wr840n-v3
688   $(Device/tl-wr840n-v2)
689   DEVICE_TITLE := TP-LINK TL-WR840N v3
690   BOARDNAME := TL-WR840N-v3
691   TPLINK_HWID := 0x08400003
692 endef
693
694 define Device/tl-wr841-v1.5
695   $(Device/tplink-4m)
696   DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
697   BOARDNAME := TL-WR841N-v1.5
698   DEVICE_PROFILE := TLWR841
699   TPLINK_HWID := 0x08410002
700   TPLINK_HWREV := 2
701 endef
702
703 define Device/tl-wr841-v3
704   $(Device/tplink-4m)
705   DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
706   BOARDNAME := TL-WR941ND
707   DEVICE_PROFILE := TLWR841
708   TPLINK_HWID := 0x08410003
709   TPLINK_HWREV := 3
710 endef
711
712 define Device/tl-wr841-v5
713   $(Device/tplink-4m)
714   DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
715   BOARDNAME := TL-WR741ND
716   DEVICE_PROFILE := TLWR841
717   TPLINK_HWID := 0x08410005
718 endef
719
720 define Device/tl-wr841-v7
721   $(Device/tplink-4m)
722   DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
723   BOARDNAME := TL-WR841N-v7
724   DEVICE_PROFILE := TLWR841
725   TPLINK_HWID := 0x08410007
726 endef
727
728 define Device/tl-wr841-v8
729   $(Device/tplink-4mlzma)
730   DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
731   BOARDNAME := TL-WR841N-v8
732   DEVICE_PROFILE := TLWR841
733   TPLINK_HWID := 0x08410008
734 endef
735
736 define Device/tl-wr841-v9
737   $(Device/tplink-4mlzma)
738   DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
739   BOARDNAME := TL-WR841N-v9
740   DEVICE_PROFILE := TLWR841
741   TPLINK_HWID := 0x08410009
742 endef
743
744 define Device/tl-wr841-v10
745   $(Device/tplink-4mlzma)
746   DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
747   BOARDNAME := TL-WR841N-v9
748   DEVICE_PROFILE := TLWR841
749   TPLINK_HWID := 0x08410010
750 endef
751
752 define Device/tl-wr841-v11
753   $(Device/tplink-4mlzma)
754   DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
755   BOARDNAME := TL-WR841N-v11
756   DEVICE_PROFILE := TLWR841
757   TPLINK_HWID := 0x08410011
758   IMAGES += factory-us.bin factory-eu.bin
759   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
760   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
761 endef
762
763 define Device/tl-wr841-v12
764   $(Device/tl-wr841-v11)
765   DEVICE_TITLE := TP-LINK TL-WR841N/ND v12
766   TPLINK_HWID := 0x08410012
767 endef
768
769 define Device/tl-wr842n-v1
770   $(Device/tplink-8m)
771   DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
772   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
773   BOARDNAME := TL-MR3420
774   DEVICE_PROFILE := TLWR842
775   TPLINK_HWID := 0x08420001
776 endef
777
778 define Device/tl-wr842n-v2
779   $(Device/tplink-8mlzma)
780   DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
781   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
782   BOARDNAME := TL-WR842N-v2
783   DEVICE_PROFILE := TLWR842
784   TPLINK_HWID := 0x8420002
785 endef
786
787 define Device/tl-wr842n-v3
788   $(Device/tplink-16mlzma)
789   DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
790   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
791   BOARDNAME := TL-WR842N-v3
792   DEVICE_PROFILE := TLWR842
793   TPLINK_HWID := 0x08420003
794 endef
795
796 define Device/tl-wr843nd-v1
797   $(Device/tplink-4mlzma)
798   DEVICE_TITLE := TP-LINK TL-WR843N/ND v1
799   BOARDNAME := TL-WR841N-v8
800   DEVICE_PROFILE := TLWR843
801   TPLINK_HWID := 0x08430001
802 endef
803
804 define Device/tl-wr847n-v8
805   $(Device/tplink-4mlzma)
806   DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
807   BOARDNAME := TL-WR841N-v8
808   DEVICE_PROFILE := TLWR841
809   TPLINK_HWID := 0x08470008
810 endef
811 TARGET_DEVICES += tl-wr840n-v2 tl-wr840n-v3 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
812
813 define Device/tl-wr941nd-v2
814   $(Device/tplink-4m)
815   DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
816   BOARDNAME := TL-WR941ND
817   DEVICE_PROFILE := TLWR941
818   TPLINK_HWID := 0x09410002
819   TPLINK_HWREV := 2
820 endef
821
822 define Device/tl-wr941nd-v3
823   $(Device/tplink-4m)
824   DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
825   BOARDNAME := TL-WR941ND
826   DEVICE_PROFILE := TLWR941
827   TPLINK_HWID := 0x09410002
828   TPLINK_HWREV := 2
829 endef
830
831 define Device/tl-wr941nd-v4
832   $(Device/tplink-4m)
833   DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
834   BOARDNAME := TL-WR741ND
835   DEVICE_PROFILE := TLWR941
836   TPLINK_HWID := 0x09410004
837 endef
838
839 define Device/tl-wr941nd-v5
840   $(Device/tplink-4mlzma)
841   DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
842   BOARDNAME := TL-WR941ND-v5
843   DEVICE_PROFILE := TLWR941
844   TPLINK_HWID := 0x09410005
845 endef
846
847 define Device/tl-wr941nd-v6
848   $(Device/tplink-4mlzma)
849   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
850   BOARDNAME := TL-WR941ND-v6
851   DEVICE_PROFILE := TLWR941
852   TPLINK_HWID := 0x09410006
853 endef
854
855 define Device/tl-wr940n-v4
856   $(Device/tplink-4mlzma)
857   DEVICE_TITLE := TP-LINK TL-WR940N v4
858   BOARDNAME := TL-WR940N-v4
859   DEVICE_PROFILE := TLWR941
860   TPLINK_HWID := 0x09400004
861   IMAGES += factory-us.bin factory-eu.bin
862   IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
863   IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
864 endef
865
866 # Chinese version (unlike European) is similar to the TL-WDR3500
867 define Device/tl-wr941nd-v6-cn
868   $(Device/tplink-4mlzma)
869   DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
870   BOARDNAME := TL-WDR3500
871   DEVICE_PROFILE := TLWR941
872   TPLINK_HWID := 0x09410006
873 endef
874 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn tl-wr940n-v4
875
876 define Device/tl-wr1041n-v2
877   $(Device/tplink-4mlzma)
878   DEVICE_TITLE := TP-LINK TL-WR1041N v2
879   BOARDNAME := TL-WR1041N-v2
880   DEVICE_PROFILE := TLWR1041
881   TPLINK_HWID := 0x10410002
882 endef
883 TARGET_DEVICES += tl-wr1041n-v2
884
885 define Device/tl-wr1043nd-v1
886   $(Device/tplink-8m)
887   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
888   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
889   BOARDNAME := TL-WR1043ND
890   DEVICE_PROFILE := TLWR1043
891   TPLINK_HWID := 0x10430001
892 endef
893
894 define Device/tl-wr1043nd-v2
895   $(Device/tplink-8mlzma)
896   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
897   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
898   BOARDNAME := TL-WR1043ND-v2
899   DEVICE_PROFILE := TLWR1043
900   TPLINK_HWID := 0x10430002
901 endef
902
903 define Device/tl-wr1043nd-v3
904   $(Device/tplink-8mlzma)
905   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
906   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
907   BOARDNAME := TL-WR1043ND-v2
908   DEVICE_PROFILE := TLWR1043
909   TPLINK_HWID := 0x10430003
910 endef
911
912 define Device/tl-wr1043nd-v4
913   $(Device/tplink)
914   DEVICE_TITLE := TP-LINK TL-WR1043N/ND v4
915   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
916   BOARDNAME := TL-WR1043ND-v4
917   DEVICE_PROFILE := TLWR1043
918   TPLINK_HWID :=  0x10430004
919   TPLINK_FLASHLAYOUT := 16Msafeloader
920   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)
921   IMAGE_SIZE := 15552k
922   TPLINK_BOARD_NAME := TLWR1043NDV4
923   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-combined
924   IMAGES := sysupgrade.bin factory.bin
925   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
926   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
927 endef
928 TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3 tl-wr1043nd-v4
929
930 define Device/tl-wr2543-v1
931   $(Device/tplink-8mlzma)
932   DEVICE_TITLE := TP-LINK TL-WR2543N/ND v1
933   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
934   BOARDNAME := TL-WR2543N
935   DEVICE_PROFILE := TLWR2543
936   TPLINK_HWID := 0x25430001
937   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
938   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
939 endef
940 TARGET_DEVICES += tl-wr2543-v1
941
942 define Device/tl-wdr4900-v2
943   $(Device/tplink-8mlzma)
944   DEVICE_TITLE := TP-LINK TL-WDR4900 v2
945   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
946   BOARDNAME := TL-WDR4900-v2
947   DEVICE_PROFILE := TLWDR4900V2
948   TPLINK_HWID := 0x49000002
949 endef
950 TARGET_DEVICES += tl-wdr4900-v2
951
952 define Device/tl-wa701nd-v1
953   $(Device/tplink-4m)
954   DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
955   BOARDNAME := TL-WA901ND
956   DEVICE_PROFILE := TLWA701
957   TPLINK_HWID := 0x07010001
958 endef
959
960 define Device/tl-wa701nd-v2
961   $(Device/tplink-4mlzma)
962   DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
963   BOARDNAME := TL-WA701ND-v2
964   DEVICE_PROFILE := TLWA701
965   TPLINK_HWID := 0x07010002
966   CONSOLE := ttyATH0,115200
967 endef
968
969 define Device/tl-wa730re-v1
970   $(Device/tplink-4m)
971   DEVICE_TITLE := TP-LINK TL-WA730RE v1
972   BOARDNAME := TL-WA901ND
973   DEVICE_PROFILE := TLWA730RE
974   TPLINK_HWID := 0x07300001
975 endef
976
977 define Device/tl-wa750re-v1
978   $(Device/tplink-4mlzma)
979   DEVICE_TITLE := TP-LINK TL-WA750RE v1
980   DEVICE_PACKAGES := rssileds
981   BOARDNAME := TL-WA750RE
982   DEVICE_PROFILE := TLWA750
983   TPLINK_HWID := 0x07500001
984 endef
985
986 define Device/tl-wa7510n-v1
987   $(Device/tplink-4m)
988   DEVICE_TITLE := TP-LINK TL-WA7510N v1
989   BOARDNAME := TL-WA7510N
990   DEVICE_PROFILE := TLWA7510
991   TPLINK_HWID := 0x75100001
992 endef
993 TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7510n-v1
994
995 define Device/tl-wa801nd-v1
996   $(Device/tplink-4m)
997   DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
998   BOARDNAME := TL-WA901ND
999   DEVICE_PROFILE := TLWA801
1000   TPLINK_HWID := 0x08010001
1001 endef
1002
1003 define Device/tl-wa801nd-v2
1004   $(Device/tplink-4mlzma)
1005   DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
1006   BOARDNAME := TL-WA801ND-v2
1007   DEVICE_PROFILE := TLWA801
1008   TPLINK_HWID := 0x08010002
1009 endef
1010
1011 define Device/tl-wa801nd-v3
1012   $(Device/tplink-4mlzma)
1013   DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
1014   BOARDNAME := TL-WA801ND-v3
1015   DEVICE_PROFILE := TLWA801
1016   TPLINK_HWID := 0x08010003
1017 endef
1018
1019 define Device/tl-wa830re-v1
1020   $(Device/tplink-4m)
1021   DEVICE_TITLE := TP-LINK TL-WA830RE v1
1022   BOARDNAME := TL-WA901ND
1023   DEVICE_PROFILE := TLWA830
1024   TPLINK_HWID := 0x08300010
1025 endef
1026
1027 define Device/tl-wa830re-v2
1028   $(Device/tplink-4mlzma)
1029   DEVICE_TITLE := TP-LINK TL-WA830RE v2
1030   BOARDNAME := TL-WA830RE-v2
1031   DEVICE_PROFILE := TLWA830
1032   TPLINK_HWID := 0x08300002
1033 endef
1034
1035 define Device/tl-wa850re-v1
1036   $(Device/tplink-4mlzma)
1037   DEVICE_TITLE := TP-LINK TL-WA850RE v1
1038   BOARDNAME := TL-WA850RE
1039   DEVICE_PROFILE := TLWA850
1040   TPLINK_HWID := 0x08500001
1041 endef
1042
1043 define Device/tl-wa850re-v2
1044   $(Device/tplink)
1045   DEVICE_TITLE := TP-LINK TL-WA850RE v2
1046   DEVICE_PACKAGES := rssileds
1047   BOARDNAME := TL-WA850RE-V2
1048   DEVICE_PROFILE := TLWA850
1049   TPLINK_BOARD_NAME := TLWA850REV2
1050   TPLINK_HWID := 0x08500002
1051   KERNEL := kernel-bin | patch-cmdline | lzma | mktplinkfw-kernel
1052   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
1053   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
1054   MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),2304k(rootfs),256k(config)ro,64k(art)ro,3648k@0x20000(firmware)
1055 endef
1056
1057 define Device/tl-wa860re-v1
1058   $(Device/tplink-4mlzma)
1059   DEVICE_TITLE := TP-LINK TL-WA860RE v1
1060   BOARDNAME := TL-WA860RE
1061   DEVICE_PROFILE := TLWA860
1062   TPLINK_HWID := 0x08600001
1063 endef
1064 TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa850re-v2 tl-wa860re-v1
1065
1066 define Device/tl-wa901nd-v1
1067   $(Device/tplink-4m)
1068   DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
1069   BOARDNAME := TL-WA901ND
1070   DEVICE_PROFILE := TLWA901
1071   TPLINK_HWID := 0x09010001
1072 endef
1073
1074 define Device/tl-wa901nd-v2
1075   $(Device/tplink-4m)
1076   DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
1077   BOARDNAME := TL-WA901ND-v2
1078   DEVICE_PROFILE := TLWA901
1079   TPLINK_HWID := 0x09010002
1080 endef
1081
1082 define Device/tl-wa901nd-v3
1083   $(Device/tplink-4mlzma)
1084   DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
1085   BOARDNAME := TL-WA901ND-v3
1086   DEVICE_PROFILE := TLWA901
1087   TPLINK_HWID := 0x09010003
1088 endef
1089
1090 define Device/tl-wa901nd-v4
1091   $(Device/tplink-4mlzma)
1092   DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
1093   BOARDNAME := TL-WA901ND-v4
1094   DEVICE_PROFILE := TLWA901
1095   TPLINK_HWID := 0x09010004
1096   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
1097 endef
1098
1099 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
1100
1101 define Device/tl-wa7210n-v2
1102   $(Device/tplink-4mlzma)
1103   DEVICE_TITLE := TP-LINK TL-WA7210N v2
1104   DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
1105   BOARDNAME := TL-WA7210N-v2
1106   DEVICE_PROFILE := TLWA7210
1107   TPLINK_HWID := 0x72100002
1108   CONSOLE := ttyATH0,115200
1109 endef
1110 TARGET_DEVICES += tl-wa7210n-v2