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