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