d6515ac529c16f76a817645200c3b27084dea0a2
[oweals/openwrt.git] / target / linux / ar71xx / image / generic.mk
1 DEVICE_VARS += DAP_SIGNATURE NETGEAR_BOARD_ID NETGEAR_HW_ID NETGEAR_KERNEL_MAGIC ROOTFS_SIZE SEAMA_SIGNATURE
2
3 define Build/alfa-network-rootfs-header
4         mkimage \
5                 -A mips -O linux -T filesystem -C lzma -a 0 -e 0 \
6                 -n 'RootfsImage' -d $@ $@.new
7         @mv $@.new $@
8 endef
9
10 define Build/mkbuffaloimg
11         $(STAGING_DIR_HOST)/bin/mkbuffaloimg -B $(BOARDNAME) \
12                 -R $$(($(subst k, * 1024,$(ROOTFS_SIZE)))) \
13                 -K $$(($(subst k, * 1024,$(KERNEL_SIZE)))) \
14                 -i $@ -o $@.new
15         mv $@.new $@
16 endef
17
18 define Build/mkwrggimg
19         $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
20                 -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
21                 -m $(BOARDNAME) -s $(DAP_SIGNATURE) \
22                 -v OpenWrt -B $(REVISION)
23         mv $@.imghdr $@
24 endef
25
26 define Build/netgear-squashfs
27         rm -rf $@.fs $@.squashfs
28         mkdir -p $@.fs/image
29         cp $@ $@.fs/image/uImage
30         $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \
31                 $@.fs $@.squashfs \
32                 -noappend -root-owned -be -b 65536 \
33                 $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH))
34
35         dd if=/dev/zero bs=1k count=1 >> $@.squashfs
36         mkimage \
37                 -A mips -O linux -T filesystem -C none \
38                 -M $(NETGEAR_KERNEL_MAGIC) \
39                 -a 0xbf070000 -e 0xbf070000 \
40                 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
41                 -d $@.squashfs $@
42         rm -rf $@.squashfs $@.fs
43 endef
44
45 define Build/netgear-uImage
46         $(call Build/uImage,$(1) -M $(NETGEAR_KERNEL_MAGIC))
47 endef
48
49 define Build/relocate-kernel
50         rm -rf $@.relocate
51         $(CP) ../../generic/image/relocate $@.relocate
52         $(MAKE) -j1 -C $@.relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
53         ( \
54                 dd if=$@.relocate/loader.bin bs=32 conv=sync && \
55                 perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
56                 cat "$@" \
57         ) > "$@.new"
58         mv "$@.new" "$@"
59         rm -rf $@.relocate
60 endef
61
62 define Build/seama
63         $(STAGING_DIR_HOST)/bin/seama -i $@ $(if $(1),$(1),-m "dev=/dev/mtdblock/1" -m "type=firmware")
64         mv $@.seama $@
65 endef
66
67 define Build/seama-seal
68         $(call Build/seama,-s $@.seama $(1))
69 endef
70
71 define Build/uImageHiWiFi
72         # Field ih_name needs to start with "tw150v1"
73         mkimage -A $(LINUX_KARCH) \
74                 -O linux -T kernel \
75                 -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
76                 -n 'tw150v1 $(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new
77         @mv $@.new $@
78 endef
79
80 define Build/wrgg-pad-rootfs
81         $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
82 endef
83
84
85 define Device/ap121f
86   DEVICE_TITLE := ALFA Network AP121F
87   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage -swconfig
88   BOARDNAME := AP121F
89   IMAGE_SIZE := 16064k
90   CONSOLE := ttyATH0,115200
91   MTDPARTS := spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(art)ro,-(firmware)
92   SUPPORTED_DEVICES := ap121f
93   IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
94         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
95 endef
96 TARGET_DEVICES += ap121f
97
98 define Device/ap531b0
99   DEVICE_TITLE := Rockeetech AP531B0
100   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
101   BOARDNAME := AP531B0
102   IMAGE_SIZE := 16000k
103   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
104 endef
105 TARGET_DEVICES += ap531b0
106
107 define Device/ap90q
108   DEVICE_TITLE := YunCore AP90Q
109   BOARDNAME := AP90Q
110   IMAGE_SIZE := 16000k
111   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
112 endef
113 TARGET_DEVICES += ap90q
114
115 define Device/ap91-5g
116   DEVICE_TITLE := ALFA Network AP91-5G
117   DEVICE_PACKAGES := rssileds -swconfig
118   BOARDNAME := AP91-5G
119   IMAGE_SIZE := 7744k
120   KERNEL_SIZE := 1600k
121   ROOTFS_SIZE := 6144k
122   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),6144k(rootfs),1600k(kernel),64k(config)ro,64k(art)ro,7744k@0x50000(firmware)
123   IMAGES := sysupgrade.bin factory.bin
124   IMAGE/factory.bin := append-rootfs | pad-rootfs |\
125         alfa-network-rootfs-header | append-kernel | check-size $$$$(IMAGE_SIZE)
126   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs |\
127         pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
128 endef
129 TARGET_DEVICES += ap91-5g
130
131 define Device/arduino-yun
132   DEVICE_TITLE := Arduino Yun
133   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
134   BOARDNAME := Yun
135   IMAGE_SIZE := 15936k
136   CONSOLE = ttyATH0,250000
137   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro
138 endef
139 TARGET_DEVICES += arduino-yun
140
141 define Device/bsb
142   DEVICE_TITLE := Smart Electronics Black Swift board
143   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
144   BOARDNAME := BSB
145   IMAGE_SIZE := 16000k
146   CONSOLE := ttyATH0,115200
147   MTDPARTS := spi0.0:128k(u-boot)ro,64k(u-boot-env)ro,16128k(firmware),64k(art)ro
148 endef
149 TARGET_DEVICES += bsb
150
151 define Device/carambola2
152   DEVICE_TITLE := 8devices Carambola2
153   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
154   BOARDNAME := CARAMBOLA2
155   IMAGE_SIZE := 16000k
156   CONSOLE := ttyATH0,115200
157   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
158 endef
159 TARGET_DEVICES += carambola2
160
161 define Device/cf-e316n-v2
162   DEVICE_TITLE := COMFAST CF-E316N v2
163   BOARDNAME := CF-E316N-V2
164   IMAGE_SIZE := 16192k
165   MTDPARTS := spi0.0:64k(u-boot)ro,64k(art)ro,16192k(firmware),64k(art-backup)ro
166 endef
167 TARGET_DEVICES += cf-e316n-v2
168
169 define Device/cf-e320n-v2
170   $(Device/cf-e316n-v2)
171   DEVICE_TITLE := COMFAST CF-E320N v2
172   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
173   BOARDNAME := CF-E320N-V2
174 endef
175 TARGET_DEVICES += cf-e320n-v2
176
177 define Device/cf-e355ac
178   DEVICE_TITLE := COMFAST CF-E355AC
179   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k ath10k-firmware-qca988x
180   BOARDNAME := CF-E355AC
181   IMAGE_SIZE := 16192k
182   MTDPARTS := spi0.0:64k(u-boot)ro,64k(art)ro,16192k(firmware),64k(art-backup)ro
183 endef
184 TARGET_DEVICES += cf-e355ac
185
186 define Device/cf-e380ac-v1
187   DEVICE_TITLE := COMFAST CF-E380AC v1
188   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k ath10k-firmware-qca988x
189   BOARDNAME := CF-E380AC-V1
190   IMAGE_SIZE := 16128k
191   MTDPARTS := spi0.0:128k(u-boot)ro,64k(art)ro,16128k(firmware),64k(art-backup)ro
192 endef
193 TARGET_DEVICES += cf-e380ac-v1
194
195 define Device/cf-e380ac-v2
196   $(Device/cf-e380ac-v1)
197   DEVICE_TITLE := COMFAST CF-E380AC v2
198   BOARDNAME := CF-E380AC-V2
199   IMAGE_SIZE := 16000k
200   MTDPARTS := spi0.0:256k(u-boot)ro,64k(art)ro,16000k(firmware),64k(art-backup)ro
201 endef
202 TARGET_DEVICES += cf-e380ac-v2
203
204 define Device/cf-e520n
205   DEVICE_TITLE := COMFAST CF-E520N
206   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
207   BOARDNAME := CF-E520N
208   IMAGE_SIZE := 8000k
209   MTDPARTS := spi0.0:64k(u-boot)ro,64k(art)ro,8000k(firmware),64k(art-backup)ro
210 endef
211 TARGET_DEVICES += cf-e520n
212
213 define Device/cf-e530n
214   $(Device/cf-e520n)
215   DEVICE_TITLE := COMFAST CF-E530N
216   BOARDNAME := CF-E530N
217 endef
218 TARGET_DEVICES += cf-e530n
219
220 define Device/cpe505n
221   DEVICE_TITLE := P&W CPE505N
222   BOARDNAME := CPE505N
223   IMAGE_SIZE := 16000k
224   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
225 endef
226 TARGET_DEVICES += cpe505n
227
228 define Device/cpe830
229   $(Device/ap90q)
230   DEVICE_TITLE := YunCore CPE830
231   DEVICE_PACKAGES := rssileds
232   BOARDNAME := CPE830
233 endef
234 TARGET_DEVICES += cpe830
235
236 define Device/cpe870
237   DEVICE_TITLE := YunCore CPE870
238   DEVICE_PACKAGES := rssileds
239   BOARDNAME := CPE870
240   IMAGE_SIZE := 7936k
241   MTDPARTS := spi0.0:64k(u-boot)ro,64k(u-boot-env),7936k(firmware),64k(config)ro,64k(art)ro
242 endef
243 TARGET_DEVICES += cpe870
244
245 define Device/dragino2
246   BOARDNAME := DRAGINO2
247   CONSOLE := ttyATH0,115200
248   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
249   DEVICE_TITLE := Dragino 2 (MS14)
250   IMAGE_SIZE := 16000k
251   MTDPARTS := spi0.0:256k(u-boot)ro,16000k(firmware),64k(config)ro,64k(art)ro
252 endef
253 TARGET_DEVICES += dragino2
254
255 define Device/ew-dorin
256   DEVICE_TITLE := Embedded Wireless Dorin Platform
257   DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea
258   BOARDNAME = EW-DORIN
259   CONSOLE := ttyATH0,115200
260   IMAGE_SIZE = 16000k
261   MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
262 endef
263 TARGET_DEVICES += ew-dorin
264
265 define Device/ew-dorin-router
266   DEVICE_TITLE := Embedded Wireless Dorin Router Platform
267   DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea
268   BOARDNAME = EW-DORIN-ROUTER
269   CONSOLE := ttyATH0,115200
270   IMAGE_SIZE = 16000k
271   MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
272 endef
273 TARGET_DEVICES += ew-dorin-router
274
275 define Device/weio
276   DEVICE_TITLE := WeIO
277   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
278   BOARDNAME := WEIO
279   IMAGE_SIZE := 16000k
280   CONSOLE := ttyATH0,115200
281   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
282 endef
283 TARGET_DEVICES += weio
284
285 define Device/gl-ar150
286   DEVICE_TITLE := GL.iNet GL-AR150
287   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
288   BOARDNAME := GL-AR150
289   IMAGE_SIZE := 16000k
290   CONSOLE := ttyATH0,115200
291   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
292 endef
293 TARGET_DEVICES += gl-ar150
294
295 define Device/gl-ar300
296   DEVICE_TITLE := GL.iNet GL-AR300
297   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
298   BOARDNAME := GL-AR300
299   IMAGE_SIZE := 16000k
300   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
301 endef
302 TARGET_DEVICES += gl-ar300
303
304 define Device/gl-ar300m
305   DEVICE_TITLE := GL.iNet GL-AR300M
306   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
307   BOARDNAME := GL-AR300M
308   IMAGE_SIZE := 16000k
309   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
310 endef
311 TARGET_DEVICES += gl-ar300m
312
313 define Device/gl-domino
314   DEVICE_TITLE := GL.iNet Domino Pi
315   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
316   BOARDNAME := DOMINO
317   IMAGE_SIZE := 16000k
318   CONSOLE := ttyATH0,115200
319   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
320 endef
321 TARGET_DEVICES += gl-domino
322
323 define Device/gl-mifi
324   DEVICE_TITLE := GL.iNet GL-MiFi
325   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
326   BOARDNAME := GL-MIFI
327   IMAGE_SIZE := 16000k
328   CONSOLE := ttyATH0,115200
329   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
330 endef
331 TARGET_DEVICES += gl-mifi
332
333 define Device/gl-usb150
334   DEVICE_TITLE := GL.iNet GL-USB150
335   DEVICE_PACKAGES := -swconfig
336   BOARDNAME := GL-USB150
337   IMAGE_SIZE := 16000k
338   CONSOLE := ttyATH0,115200
339   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
340   SUPPORTED_DEVICES := gl-usb150
341   IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
342         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
343 endef
344 TARGET_DEVICES += gl-usb150
345
346 define Device/lima
347   DEVICE_TITLE := 8devices Lima
348   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
349   BOARDNAME := LIMA
350   IMAGE_SIZE := 15616k
351   MTDPARTS := spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,256k(art)ro,-(firmware)
352 endef
353 TARGET_DEVICES += lima
354
355 define Device/mr12
356   DEVICE_TITLE := Meraki MR12
357   DEVICE_PACKAGES := kmod-spi-gpio
358   BOARDNAME := MR12
359   ROOTFS_SIZE := 13440k
360   IMAGE_SIZE := 15680k
361   MTDPARTS := spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2240k(kernel),64k(mac),128k(art)ro,15680k@0x80000(firmware)
362   IMAGE/kernel.bin := append-kernel
363   IMAGE/rootfs.bin := append-rootfs | pad-rootfs
364   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
365   IMAGES := kernel.bin rootfs.bin sysupgrade.bin
366 endef
367 TARGET_DEVICES += mr12
368
369 define Device/mr16
370   $(Device/mr12)
371   DEVICE_TITLE := Meraki MR16
372   BOARDNAME := MR16
373 endef
374 TARGET_DEVICES += mr16
375
376 define Device/dr342
377   DEVICE_TITLE := Wallys DR342
378   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 -swconfig
379   BOARDNAME := DR342
380   IMAGE_SIZE := 16000k
381   MTDPARTS := spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(partition-table)ro,16000k(firmware),64k(art)ro
382 endef
383 TARGET_DEVICES += dr342
384
385 define Device/dr344
386   DEVICE_TITLE := Wallys DR344
387   BOARDNAME := DR344
388   KERNEL_SIZE := 1408k
389   ROOTFS_SIZE := 6336k
390   IMAGE_SIZE := 7744k
391   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
392   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
393 endef
394
395 define Device/dr531
396   DEVICE_TITLE := Wallys DR531
397   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
398   BOARDNAME := DR531
399   IMAGE_SIZE := 7808k
400   MTDPARTS := spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(partition-table)ro,7808k(firmware),64k(art)ro
401 endef
402 TARGET_DEVICES += dr531
403
404 define Device/wndr3700
405   DEVICE_TITLE := NETGEAR WNDR3700
406   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-wndr3700-usb
407   BOARDNAME := WNDR3700
408   NETGEAR_KERNEL_MAGIC := 0x33373030
409   NETGEAR_BOARD_ID := WNDR3700
410   IMAGE_SIZE := 7680k
411   MTDPARTS := spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,7680k(firmware),64k(art)ro
412   IMAGES := sysupgrade.bin factory.img factory-NA.img
413   KERNEL := kernel-bin | patch-cmdline | lzma -d20 | netgear-uImage lzma
414   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
415   IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size $$$$(IMAGE_SIZE)
416   IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
417   IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
418 endef
419 TARGET_DEVICES += wndr3700
420
421 define Device/wndr3700v2
422   $(Device/wndr3700)
423   DEVICE_TITLE := NETGEAR WNDR3700 v2
424   NETGEAR_BOARD_ID := WNDR3700v2
425   NETGEAR_KERNEL_MAGIC := 0x33373031
426   NETGEAR_HW_ID := 29763654+16+64
427   IMAGE_SIZE := 15872k
428   MTDPARTS := spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,15872k(firmware),64k(art)ro
429   IMAGES := sysupgrade.bin factory.img
430 endef
431 TARGET_DEVICES += wndr3700v2
432
433 define Device/wndr3800
434   $(Device/wndr3700v2)
435   DEVICE_TITLE := NETGEAR WNDR3800
436   NETGEAR_BOARD_ID := WNDR3800
437   NETGEAR_HW_ID := 29763654+16+128
438 endef
439 TARGET_DEVICES += wndr3800
440
441 define Device/wndr3800ch
442   $(Device/wndr3800)
443   DEVICE_TITLE := NETGEAR WNDR3800 (Ch)
444   NETGEAR_BOARD_ID := WNDR3800CH
445 endef
446 TARGET_DEVICES += wndr3800ch
447
448 define Device/wndrmac
449   $(Device/wndr3700v2)
450   DEVICE_TITLE := NETGEAR WNDRMAC
451   NETGEAR_BOARD_ID := WNDRMAC
452 endef
453 TARGET_DEVICES += wndrmac
454
455 define Device/wndrmacv2
456   $(Device/wndr3800)
457   DEVICE_TITLE := NETGEAR WNDRMAC v2
458   NETGEAR_BOARD_ID := WNDRMACv2
459 endef
460 TARGET_DEVICES += wndrmacv2
461
462 define Device/cap324
463   DEVICE_TITLE := PowerCloud CAP324 Cloud AP
464   BOARDNAME := CAP324
465   DEVICE_PROFILE := CAP324
466   IMAGE_SIZE := 15296k
467   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,15296k(firmware),640k(certs),64k(nvram),64k(art)ro
468 endef
469 TARGET_DEVICES += cap324
470
471 define Device/cap324-nocloud
472   DEVICE_TITLE := PowerCloud CAP324 Cloud AP (No-Cloud)
473   BOARDNAME := CAP324
474   DEVICE_PROFILE := CAP324
475   IMAGE_SIZE := 16000k
476   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
477 endef
478 TARGET_DEVICES += cap324-nocloud
479
480 define Device/cr3000
481   DEVICE_TITLE := PowerCloud CR3000 Cloud Router
482   BOARDNAME := CR3000
483   DEVICE_PROFILE := CR3000
484   IMAGE_SIZE := 7104k
485   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7104k(firmware),640k(certs),64k(nvram),64k(art)ro
486 endef
487 TARGET_DEVICES += cr3000
488
489 define Device/cr3000-nocloud
490   DEVICE_TITLE := PowerCloud CR3000 (No-Cloud)
491   BOARDNAME := CR3000
492   DEVICE_PROFILE := CR3000
493   IMAGE_SIZE := 7808k
494   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7808k(firmware),64k(art)ro
495 endef
496 TARGET_DEVICES += cr3000-nocloud
497
498 define Device/cr5000
499   DEVICE_TITLE := PowerCloud CR5000 Cloud Router
500   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-usb-core
501   BOARDNAME := CR5000
502   DEVICE_PROFILE := CR5000
503   IMAGE_SIZE := 7104k
504   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7104k(firmware),640k(certs),64k(nvram),64k(art)ro
505 endef
506 TARGET_DEVICES += cr5000
507
508 define Device/cr5000-nocloud
509   DEVICE_TITLE := PowerCloud CR5000 (No-Cloud)
510   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-usb-core
511   BOARDNAME := CR5000
512   DEVICE_PROFILE := CR5000
513   IMAGE_SIZE := 7808k
514   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7808k(firmware),64k(art)ro
515 endef
516 TARGET_DEVICES += cr5000-nocloud
517
518 define Device/pqi-air-pen
519   DEVICE_TITLE := PQI Air Pen
520   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
521   BOARDNAME := PQI-AIR-PEN
522   IMAGE_SIZE := 7744k
523   CONSOLE := ttyATH0,115200
524   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(art)ro,64k(NVRAM)ro,7680k(firmware),64k(CONF)
525 endef
526 TARGET_DEVICES += pqi-air-pen
527
528 define Device/antminer-s1
529   $(Device/tplink-8mlzma)
530   DEVICE_TITLE := Antminer-S1
531   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
532   BOARDNAME := ANTMINER-S1
533   DEVICE_PROFILE := ANTMINERS1
534   TPLINK_HWID := 0x04440101
535   CONSOLE := ttyATH0,115200
536 endef
537 TARGET_DEVICES += antminer-s1
538
539 define Device/antminer-s3
540   $(Device/tplink-8mlzma)
541   DEVICE_TITLE := Antminer-S3
542   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
543   BOARDNAME := ANTMINER-S3
544   DEVICE_PROFILE := ANTMINERS3
545   TPLINK_HWID := 0x04440301
546   CONSOLE := ttyATH0,115200
547 endef
548 TARGET_DEVICES += antminer-s3
549
550 define Device/antrouter-r1
551   $(Device/tplink-8mlzma)
552   DEVICE_TITLE := Antrouter-R1
553   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
554   BOARDNAME := ANTROUTER-R1
555   DEVICE_PROFILE := ANTROUTERR1
556   TPLINK_HWID := 0x44440101
557   CONSOLE := ttyATH0,115200
558 endef
559 TARGET_DEVICES += antrouter-r1
560
561 define Device/el-m150
562   $(Device/tplink-8mlzma)
563   DEVICE_TITLE := EasyLink EL-M150
564   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
565   BOARDNAME := EL-M150
566   DEVICE_PROFILE := ELM150
567   TPLINK_HWID := 0x01500101
568   CONSOLE := ttyATH0,115200
569 endef
570 TARGET_DEVICES += el-m150
571
572 define Device/el-mini
573   $(Device/tplink-8mlzma)
574   DEVICE_TITLE := EasyLink EL-MINI
575   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
576   BOARDNAME := EL-MINI
577   DEVICE_PROFILE := ELMINI
578   TPLINK_HWID := 0x01530001
579   CONSOLE := ttyATH0,115200
580 endef
581 TARGET_DEVICES += el-mini
582
583 define Device/gl-inet-6408A-v1
584   $(Device/tplink-8mlzma)
585   DEVICE_TITLE := GL.iNet 6408
586   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
587   BOARDNAME := GL-INET
588   DEVICE_PROFILE := GLINET
589   TPLINK_HWID := 0x08000001
590   CONSOLE := ttyATH0,115200
591 endef
592 TARGET_DEVICES += gl-inet-6408A-v1
593
594 define Device/gl-inet-6416A-v1
595   $(Device/tplink-16mlzma)
596   DEVICE_TITLE := GL.iNet 6416
597   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
598   BOARDNAME := GL-INET
599   DEVICE_PROFILE := GLINET
600   TPLINK_HWID := 0x08000001
601   CONSOLE := ttyATH0,115200
602 endef
603 TARGET_DEVICES += gl-inet-6416A-v1
604
605 define Device/jwap230
606   DEVICE_TITLE := jjPlus JWAP230
607   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
608   BOARDNAME := JWAP230
609   IMAGE_SIZE := 16000k
610   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
611 endef
612 TARGET_DEVICES += jwap230
613
614 define Device/r602n
615   DEVICE_TITLE := P&W R602N
616   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
617   BOARDNAME := R602N
618   IMAGE_SIZE := 16000k
619   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
620 endef
621 TARGET_DEVICES += r602n
622
623 define Device/mc-mac1200r
624   $(Device/tplink-8mlzma)
625   DEVICE_TITLE := Mercury MAC1200R
626   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
627   BOARDNAME := MC-MAC1200R
628   DEVICE_PROFILE := MAC1200R
629   TPLINK_HWID := 0x12000001
630 endef
631 TARGET_DEVICES += mc-mac1200r
632
633 define Device/minibox-v1
634   $(Device/tplink-16mlzma)
635   DEVICE_TITLE := Gainstrong MiniBox V1.0
636   DEVICE_PACKAGES := kmod-usb-core kmod-usb2  kmod-usb-ledtrig-usbport
637   BOARDNAME := MINIBOX-V1
638   DEVICE_PROFILE := MINIBOXV1
639   TPLINK_HWID := 0x3C000201
640   CONSOLE := ttyATH0,115200
641 endef
642 TARGET_DEVICES += minibox-v1
643
644 define Device/omy-g1
645   $(Device/tplink-16mlzma)
646   DEVICE_TITLE := OMYlink OMY-G1
647   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
648   BOARDNAME := OMY-G1
649   DEVICE_PROFILE := OMYG1
650   TPLINK_HWID := 0x06660101
651 endef
652 TARGET_DEVICES += omy-g1
653
654 define Device/omy-x1
655   $(Device/tplink-8mlzma)
656   DEVICE_TITLE := OMYlink OMY-X1
657   BOARDNAME := OMY-X1
658   DEVICE_PROFILE := OMYX1
659   TPLINK_HWID := 0x06660201
660 endef
661 TARGET_DEVICES += omy-x1
662
663 define Device/onion-omega
664   $(Device/tplink-16mlzma)
665   DEVICE_TITLE := Onion Omega
666   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
667   BOARDNAME := ONION-OMEGA
668   DEVICE_PROFILE := OMEGA
669   TPLINK_HWID := 0x04700001
670   CONSOLE := ttyATH0,115200
671 endef
672 TARGET_DEVICES += onion-omega
673
674 define Device/sc1750
675   DEVICE_TITLE := Abicom SC1750
676   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
677   BOARDNAME := SC1750
678   IMAGE_SIZE := 15744k
679   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),15744k(firmware),128k(APConfig),128k(kplog),64k(ART)
680 endef
681 TARGET_DEVICES += sc1750
682
683 define Device/sc300m
684   DEVICE_TITLE := Abicom SC300M
685   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
686   BOARDNAME := SC300M
687   IMAGE_SIZE := 15744k
688   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),15744k(firmware),128k(APConfig),128k(kplog),64k(ART)
689 endef
690 TARGET_DEVICES += sc300m
691
692 define Device/sc450
693   DEVICE_TITLE := Abicom SC450
694   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
695   BOARDNAME := SC450
696   IMAGE_SIZE := 15744k
697   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),15744k(firmware),128k(APConfig),128k(kplog),64k(ART)
698 endef
699 TARGET_DEVICES += sc450
700
701 define Device/smart-300
702   $(Device/tplink-8mlzma)
703   DEVICE_TITLE := NC-LINK SMART-300
704   BOARDNAME := SMART-300
705   DEVICE_PROFILE := SMART-300
706   TPLINK_HWID := 0x93410001
707 endef
708 TARGET_DEVICES += smart-300
709
710 define Device/som9331
711   $(Device/tplink-8mlzma)
712   DEVICE_TITLE := OpenEmbed SOM9331
713   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
714   BOARDNAME := SOM9331
715   DEVICE_PROFILE := SOM9331
716   TPLINK_HWID := 0x04800054
717   CONSOLE := ttyATH0,115200
718 endef
719 TARGET_DEVICES += som9331
720
721 define Device/sr3200
722   DEVICE_TITLE := YunCore SR3200
723   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k ath10k-firmware-qca988x
724   BOARDNAME := SR3200
725   IMAGE_SIZE := 16000k
726   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
727 endef
728 TARGET_DEVICES += sr3200
729
730 define Device/xd3200
731   $(Device/sr3200)
732   DEVICE_TITLE := YunCore XD3200
733   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
734   BOARDNAME := XD3200
735 endef
736 TARGET_DEVICES += xd3200
737
738 define Device/tellstick-znet-lite
739   $(Device/tplink-16mlzma)
740   DEVICE_TITLE := TellStick ZNet Lite
741   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-acm kmod-usb-serial kmod-usb-serial-pl2303
742   BOARDNAME := TELLSTICK-ZNET-LITE
743   DEVICE_PROFILE := TELLSTICKZNETLITE
744   TPLINK_HWID := 0x00726001
745   CONSOLE := ttyATH0,115200
746 endef
747 TARGET_DEVICES += tellstick-znet-lite
748
749 define Device/oolite
750   $(Device/tplink-16mlzma)
751   DEVICE_TITLE := Gainstrong OOLITE
752   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
753   BOARDNAME := GS-OOLITE
754   DEVICE_PROFILE := OOLITE
755   TPLINK_HWID := 0x3C000101
756   CONSOLE := ttyATH0,115200
757 endef
758 TARGET_DEVICES += oolite
759
760 define Device/NBG6616
761   DEVICE_TITLE := ZyXEL NBG6616
762   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-rtc-pcf8563 kmod-ath10k ath10k-firmware-qca988x
763   BOARDNAME := NBG6616
764   KERNEL_SIZE := 2048k
765   IMAGE_SIZE := 15323k
766   MTDPARTS := spi0.0:192k(u-boot)ro,64k(env)ro,64k(RFdata)ro,384k(zyxel_rfsd),384k(romd),64k(header),2048k(kernel),13184k(rootfs),15232k@0x120000(firmware)
767   CMDLINE += mem=128M
768   IMAGES := sysupgrade.bin
769   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 boot/vmlinux.lzma.uImage
770   IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
771   # We cannot currently build a factory image. It is the sysupgrade image
772   # prefixed with a header (which is actually written into the MTD device).
773   # The header is 2kiB and is filled with 0xff. The format seems to be:
774   #   2 bytes:  0x0000
775   #   2 bytes:  checksum of the data partition (big endian)
776   #   4 bytes:  length of the contained image file (big endian)
777   #  32 bytes:  Firmware Version string (NUL terminated, 0xff padded)
778   #   2 bytes:  0x0000
779   #   2 bytes:  checksum over the header partition (big endian)
780   #  32 bytes:  Model (e.g. "NBG6616", NUL termiated, 0xff padded)
781   #      rest: 0xff padding
782   #
783   # The checksums are calculated by adding up all bytes and if a 16bit
784   # overflow occurs, one is added and the sum is masked to 16 bit:
785   #   csum = csum + databyte; if (csum > 0xffff) { csum += 1; csum &= 0xffff };
786   # Should the file have an odd number of bytes then the byte len-0x800 is
787   # used additionally.
788   # The checksum for the header is calcualted over the first 2048 bytes with
789   # the firmware checksum as the placeholder during calculation.
790   #
791   # The header is padded with 0xff to the erase block size of the device.
792 endef
793 TARGET_DEVICES += NBG6616
794
795 define Device/c-55
796   DEVICE_TITLE := AirTight Networks C-55
797   DEVICE_PACKAGES := kmod-ath9k
798   BOARDNAME := C-55
799   KERNEL_SIZE := 2048k
800   IMAGE_SIZE := 15872k
801   MTDPARTS := spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,2048k(kernel),13824k(rootfs),13824k(opt)ro,2624k(failsafe)ro,64k(art)ro,15872k@0x60000(firmware)
802   IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
803 endef
804 TARGET_DEVICES += c-55
805
806 define Device/hiwifi-hc6361
807   DEVICE_TITLE := HiWiFi HC6361
808   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage \
809         kmod-fs-ext4 kmod-nls-iso8859-1 e2fsprogs
810   BOARDNAME := HiWiFi-HC6361
811   DEVICE_PROFILE := HIWIFI_HC6361
812   IMAGE_SIZE := 16128k
813   KERNEL := kernel-bin | patch-cmdline | lzma | uImageHiWiFi lzma
814   CONSOLE := ttyATH0,115200
815   MTDPARTS := spi0.0:64k(u-boot)ro,64k(bdinfo)ro,16128k(firmware),64k(backup)ro,64k(art)ro
816 endef
817 TARGET_DEVICES += hiwifi-hc6361
818
819 define Device/seama
820   LOADER_TYPE := bin
821   BLOCKSIZE := 64k
822   KERNEL := kernel-bin | patch-cmdline | relocate-kernel | lzma
823   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | seama
824   KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX).seama
825   IMAGES := sysupgrade.bin factory.bin
826
827   # 64 bytes offset:
828   # - 28 bytes seama_header
829   # - 36 bytes of META data (4-bytes aligned)
830   IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
831   IMAGE/sysupgrade.bin := \
832         $$(IMAGE/default) | seama | pad-rootfs | \
833         check-size $$$$(IMAGE_SIZE)
834   IMAGE/factory.bin := \
835         $$(IMAGE/default) | seama | pad-rootfs | \
836         seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
837         check-size $$$$(IMAGE_SIZE)
838   SEAMA_SIGNATURE :=
839 endef
840
841 define Device/dir-869-a1
842   $(Device/seama)
843   DEVICE_TITLE := D-Link DIR-869 rev. A1
844   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
845   BOARDNAME := DIR-869-A1
846   IMAGE_SIZE := 15872k
847   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
848   SEAMA_SIGNATURE := wrgac54_dlink.2015_dir869
849   IMAGE/factory.bin := \
850         $$(IMAGE/default) | pad-rootfs -x 64 | \
851         seama | seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
852         check-size $$$$(IMAGE_SIZE)
853 endef
854 TARGET_DEVICES += dir-869-a1
855
856 define Device/mynet-n600
857   $(Device/seama)
858   DEVICE_TITLE := Western Digital My Net N600
859   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
860   BOARDNAME := MYNET-N600
861   IMAGE_SIZE := 15808k
862   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
863   SEAMA_SIGNATURE := wrgnd16_wd_db600
864 endef
865 TARGET_DEVICES += mynet-n600
866
867 define Device/mynet-n750
868   $(Device/seama)
869   DEVICE_TITLE := Western Digital My Net N750
870   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
871   BOARDNAME := MYNET-N750
872   IMAGE_SIZE := 15808k
873   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
874   SEAMA_SIGNATURE := wrgnd13_wd_av
875 endef
876 TARGET_DEVICES += mynet-n750
877
878 define Device/qihoo-c301
879   $(Device/seama)
880   DEVICE_TITLE := Qihoo C301
881   DEVICE_PACKAGES :=  kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
882   BOARDNAME := QIHOO-C301
883   IMAGE_SIZE := 15744k
884   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(devdata),64k(devconf),15744k(firmware),64k(warm_start),64k(action_image_config),64k(radiocfg)ro;spi0.1:15360k(upgrade2),1024k(privatedata)
885   SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
886 endef
887 TARGET_DEVICES += qihoo-c301
888
889 define Device/dap-2695-a1
890   DEVICE_TITLE := D-Link DAP-2695 rev. A1
891   DEVICE_PACKAGES := ath10k-firmware-qca988x kmod-ath10k
892   BOARDNAME := DAP-2695-A1
893   IMAGES := factory.img sysupgrade.bin
894   IMAGE_SIZE := 15360k
895   IMAGE/factory.img := append-kernel | pad-offset 65536 160 | append-rootfs | wrgg-pad-rootfs | mkwrggimg | check-size $$$$(IMAGE_SIZE)
896   IMAGE/sysupgrade.bin := append-kernel | pad-offset 65536 160 | mkwrggimg | append-rootfs | wrgg-pad-rootfs | check-size $$$$(IMAGE_SIZE)
897   KERNEL := kernel-bin | patch-cmdline | relocate-kernel | lzma
898   KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
899   MTDPARTS := spi0.0:256k(bootloader)ro,64k(bdcfg)ro,64k(rgdb)ro,64k(langpack)ro,15360k(firmware),448k(captival)ro,64k(certificate)ro,64k(radiocfg)ro
900   DAP_SIGNATURE := wapac02_dkbs_dap2695
901 endef
902 TARGET_DEVICES += dap-2695-a1
903
904 define Device/bhr-4grv2
905   DEVICE_TITLE := Buffalo BHR-4GRV2
906   BOARDNAME := BHR-4GRV2
907   ROOTFS_SIZE := 14528k
908   KERNEL_SIZE := 1472k
909   IMAGE_SIZE := 16000k
910   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware)
911   IMAGES := sysupgrade.bin factory.bin
912   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
913   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | mkbuffaloimg
914 endef
915 TARGET_DEVICES += bhr-4grv2
916
917 define Device/wpj-16m
918   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
919   MTDPARTS := spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro
920   IMAGE_SIZE := 16128k
921 endef
922
923 define Device/wpj342
924   $(Device/wpj-16m)
925   DEVICE_TITLE := Compex WPJ342 (16MB flash)
926   BOARDNAME := WPJ342
927 endef
928 TARGET_DEVICES += wpj342
929
930 define Device/wpj344
931   $(Device/wpj-16m)
932   DEVICE_TITLE := Compex WPJ344 (16MB flash)
933   BOARDNAME := WPJ344
934   SUPPORTED_DEVICES := wpj344
935   IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
936         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
937 endef
938 TARGET_DEVICES += wpj344
939
940 define Device/wpj531
941   $(Device/wpj-16m)
942   DEVICE_TITLE := Compex WPJ531 (16MB flash)
943   BOARDNAME := WPJ531
944 endef
945 TARGET_DEVICES += wpj531
946
947 define Device/wpj558
948   $(Device/wpj-16m)
949   DEVICE_TITLE := Compex WPJ558 (16MB flash)
950   BOARDNAME := WPJ558
951   SUPPORTED_DEVICES := wpj558
952   IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
953         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
954 endef
955 TARGET_DEVICES += wpj558
956
957 define Device/wpj563
958   $(Device/wpj-16m)
959   DEVICE_TITLE := Compex WPJ563 (16MB flash)
960   BOARDNAME := WPJ563
961 endef
962 TARGET_DEVICES += wpj563
963
964 define Device/wrtnode2q
965   DEVICE_TITLE := WRTnode2Q
966   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
967   BOARDNAME := WRTNODE2Q
968   IMAGE_SIZE := 16064k
969   MTDPARTS := spi0.0:192k(u-boot)ro,64k(u-boot-env),64k(art)ro,16064k(firmware),16384k@0x0(fullflash)
970 endef
971 TARGET_DEVICES += wrtnode2q
972
973 define Device/zbt-we1526
974   DEVICE_TITLE := Zbtlink ZBT-WE1526
975   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
976   BOARDNAME := ZBT-WE1526
977   IMAGE_SIZE := 16000k
978   KERNEL_SIZE := 1472k
979   ROOTFS_SIZE := 14528k
980   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware)
981   IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
982 endef
983 TARGET_DEVICES += zbt-we1526
984
985 define Device/fritz300e
986   DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
987   DEVICE_PACKAGES := fritz-tffs rssileds -swconfig -uboot-envtools
988   BOARDNAME := FRITZ300E
989   SUPPORTED_DEVICES := fritz300e
990   IMAGE_SIZE := 15232k
991   KERNEL := kernel-bin | patch-cmdline | lzma | eva-image
992   IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
993         append-squashfs-fakeroot-be | pad-to 256 | \
994         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
995 endef
996 TARGET_DEVICES += fritz300e