brcm47xx: legacy: specify DEVICE_PACKAGES for all devices
[librecmc/librecmc.git] / target / linux / brcm47xx / image / Makefile
1 #
2 # Copyright (C) 2006-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8 include $(INCLUDE_DIR)/image.mk
9
10 USB1_PACKAGES := kmod-usb-ohci
11 USB2_PACKAGES := $(USB1_PACKAGES) kmod-usb2
12
13 define Build/Clean
14         $(MAKE) -C lzma-loader clean
15 endef
16
17 define Image/Prepare
18         # Optimized LZMA compression (with dictionary), handled by lzma-loader.
19         cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
20
21         # Less optimal LZMA compression (no dictionary), handled by CFE.
22         $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux > $(KDIR)/vmlinux-nodictionary.lzma
23
24         gzip -nc9 $(KDIR)/vmlinux > $(KDIR)/vmlinux.gz
25 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
26         cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma
27         $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs-nodictionary.lzma
28 endif
29         rm -f $(KDIR)/loader.gz
30         $(MAKE) -C lzma-loader \
31                 BUILD_DIR="$(KDIR)" \
32                 TARGET="$(KDIR)" \
33                 clean install
34         echo -ne "\\x00" >> $(KDIR)/loader.gz
35         rm -f $(KDIR)/fs_mark
36         echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
37         $(call prepare_generic_squashfs,$(KDIR)/fs_mark)
38 endef
39
40 define trxalign/jffs2-128k
41 -a 0x20000 -f $(KDIR)/root.$(1)
42 endef
43 define trxalign/jffs2-64k
44 -a 0x10000 -f $(KDIR)/root.$(1)
45 endef
46 define trxalign/squashfs
47 -a 1024 -f $(1) $(if $(2),-f $(2)) -a 0x10000 -A $(KDIR)/fs_mark
48 endef
49
50 #################################################
51 # Images
52 #################################################
53
54 define Build/trx-with-loader
55         $(STAGING_DIR_HOST)/bin/trx \
56                 -m 33554432 \
57                 -o $@.new \
58                 -f $(KDIR)/loader.gz \
59                 -f $(IMAGE_KERNEL) \
60                 $(call trxalign/$(FILESYSTEM),$@)
61         mv $@.new $@
62 endef
63
64 define Build/trx-v2-with-loader
65         $(STAGING_DIR_HOST)/bin/trx \
66                 -2 \
67                 -m 33554432 \
68                 -o $@.new \
69                 -f $(KDIR)/loader.gz \
70                 -f $(KDIR)/vmlinux.lzma \
71                 $(call trxalign/$(FILESYSTEM),$@,$@.pattern)
72         mv $@.new $@
73 endef
74
75 define Build/trx-without-loader
76         $(STAGING_DIR_HOST)/bin/trx \
77                 -m 33554432 \
78                 -o $@.new \
79                 -f $(IMAGE_KERNEL) \
80                 $(call trxalign/$(FILESYSTEM),$@)
81         mv $@.new $@
82 endef
83
84 define Build/asus-trx
85         $(STAGING_DIR_HOST)/bin/asustrx -p $(PRODUCTID) -i $@ -o $@.new
86         mv $@.new $@
87 endef
88
89 define Build/edimax-bin
90         $(STAGING_DIR_HOST)/bin/trx2edips $@ $@.new
91         mv $@.new $@
92 endef
93
94 define Build/huawei-bin
95         dd if=/dev/zero of=$@.new bs=92 count=1
96         echo -ne 'HDR0\x08\x00\x00\x00' >> $@.new
97         cat $@ >> $@.new
98         mv $@.new $@
99 endef
100
101 define Build/linksys-bin
102         $(STAGING_DIR_HOST)/bin/addpattern -4 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i $@ -o $@.new
103         mv $@.new $@
104 endef
105
106 define Build/linksys-pattern-partition
107         $(STAGING_DIR_HOST)/bin/addpattern -5 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i /dev/null -o $@.pattern
108 endef
109
110 define Build/motorola-bin
111         $(STAGING_DIR_HOST)/bin/motorola-bin -$(MOTOROLA_DEVICE) $@ $@.new
112         mv $@.new $@
113 endef
114
115 define Build/prepend-with-elf
116         mv $@ $@.old
117         dd if=$(KDIR)/loader.elf of=$@ bs=131072 conv=sync
118         cat $@.old >> $@
119 endef
120
121 define Build/tailed-bin
122         echo $(BIN_TAIL) >> $@
123 endef
124
125 define Build/usrobotics-bin
126         $(STAGING_DIR_HOST)/bin/trx2usr $@ $@.new
127         mv $@.new $@
128 endef
129
130 #################################################
131 # Devices
132 #################################################
133
134 DEVICE_VARS += PRODUCTID
135 DEVICE_VARS += DEVICE_ID VERSION SERIAL
136 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
137 DEVICE_VARS += MOTOROLA_DEVICE
138 DEVICE_VARS += BIN_TAIL
139
140 define Device/Default
141         KERNEL := kernel-bin
142         IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
143         KERNEL_NAME = vmlinux.lzma
144         KERNEL_INITRAMFS_NAME = vmlinux-initramfs.lzma
145         FILESYSTEMS := $(FS_64K)
146         IMAGES := trx
147         IMAGE/trx := append-rootfs | trx-with-loader
148 endef
149
150 define Device/standard
151   DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel
152 endef
153
154 define Device/standard-noloader-gz
155   DEVICE_TITLE := Image with gzipped kernel
156   KERNEL_NAME = vmlinux.gz
157   IMAGE/trx := append-rootfs | trx-without-loader
158 endef
159
160 define Device/standard-noloader-nodictionarylzma
161   DEVICE_TITLE := Image with LZMA compressed kernel matching CFE decompressor
162   KERNEL_NAME = vmlinux-nodictionary.lzma
163   IMAGE/trx := append-rootfs | trx-without-loader
164 endef
165
166 define Device/asus
167         IMAGES := trx
168         IMAGE/trx := append-rootfs | trx-with-loader | asus-trx
169 endef
170
171 define Device/linksys
172         IMAGES := bin
173         IMAGE/bin := append-rootfs | trx-with-loader | linksys-bin
174 endef
175
176 define Device/motorola
177         IMAGES := bin
178         IMAGE/bin := append-rootfs | trx-with-loader | motorola-bin
179 endef
180
181 define Device/netgear
182         IMAGES := chk
183         IMAGE/chk := append-rootfs | trx-with-loader | netgear-chk
184 endef
185
186 #################################################
187 # Subtarget generic
188 #################################################
189
190 ifeq ($(SUBTARGET),generic)
191   # BCM4705 with tg3
192 define Device/linksys-wrt300n-v1.1
193   DEVICE_TITLE := Linksys WRT300N v1.1
194   $(Device/linksys)
195   DEVICE_ID := EWC2
196   VERSION := 1.51.2
197 endef
198 TARGET_DEVICES += linksys-wrt300n-v1.1
199
200 define Device/linksys-wrt310n-v1
201   DEVICE_TITLE := Linksys WRT310N v1
202   $(Device/linksys)
203   DEVICE_ID := 310N
204   VERSION := 1.0.10
205 endef
206 TARGET_DEVICES += linksys-wrt310n-v1
207
208 define Device/linksys-wrt350n-v1
209   DEVICE_TITLE := Linksys WRT350N v1
210   $(Device/linksys)
211   DEVICE_ID := EWCG
212   VERSION := 1.04.1
213 endef
214 TARGET_DEVICES += linksys-wrt350n-v1
215
216 define Device/linksys-wrt610n-v1
217   DEVICE_TITLE := Linksys WRT610N v1
218   $(Device/linksys)
219   DEVICE_ID := 610N
220   VERSION := 1.0.1
221 endef
222 TARGET_DEVICES += linksys-wrt610n-v1
223
224   # BCMA SoC with SSB WiFi
225 define Device/linksys-wrt610n-v2
226   DEVICE_TITLE := Linksys WRT610N v2
227   $(Device/linksys)
228   DEVICE_ID := 610N
229   VERSION := 2.0.0
230 endef
231 TARGET_DEVICES += linksys-wrt610n-v2
232
233 define Device/linksys-e3000-v1
234   DEVICE_TITLE := Linksys E3000 v1
235   $(Device/linksys)
236   DEVICE_ID := 61XN
237   VERSION := 1.0.3
238 endef
239 TARGET_DEVICES += linksys-e3000-v1
240
241 TARGET_DEVICES += standard
242 endif
243
244 #################################################
245 # Subtarget legacy
246 #################################################
247
248 ifeq ($(SUBTARGET),legacy)
249
250 define Device/asus-wl-300g
251   DEVICE_TITLE := Asus WL-300g
252   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
253   $(Device/asus)
254   PRODUCTID := "WL300g      "
255 endef
256 TARGET_DEVICES += asus-wl-300g
257
258 define Device/asus-wl-320gp
259   DEVICE_TITLE := Asus WL-320gP
260   DEVICE_PACKAGES := kmod-b43
261   $(Device/asus)
262   PRODUCTID := "WL320gP     "
263 endef
264 TARGET_DEVICES += asus-wl-320gp
265
266 define Device/asus-wl-330ge
267   DEVICE_TITLE := Asus WL-330gE
268   DEVICE_PACKAGES := kmod-b43
269   $(Device/asus)
270   PRODUCTID := "WL-330gE    "
271 endef
272 TARGET_DEVICES += asus-wl-330ge
273
274 define Device/asus-wl-500gp-v1
275   DEVICE_TITLE := Asus WL-500gP v1
276   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
277   $(Device/asus)
278   PRODUCTID := "WL500gp     "
279 endef
280 TARGET_DEVICES += asus-wl-500gp-v1
281
282 define Device/asus-wl-500gp-v2
283   DEVICE_TITLE := Asus WL-500gP v2
284   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
285   $(Device/asus)
286   PRODUCTID := "WL500gpv2   "
287 endef
288 TARGET_DEVICES += asus-wl-500gp-v2
289
290 define Device/asus-wl-500w
291   DEVICE_TITLE := Asus WL-500W
292   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
293   $(Device/asus)
294   PRODUCTID := "WL500W      "
295 endef
296 TARGET_DEVICES += asus-wl-500w
297
298 define Device/asus-wl-520gu
299   DEVICE_TITLE := Asus WL-520gU
300   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
301   $(Device/asus)
302   PRODUCTID := "WL520gu     "
303 endef
304 TARGET_DEVICES += asus-wl-520gu
305
306 define Device/asus-wl-550ge
307   DEVICE_TITLE := Asus WL-550gE
308   DEVICE_PACKAGES := kmod-b43
309   $(Device/asus)
310   PRODUCTID := "WL550gE     "
311 endef
312 TARGET_DEVICES += asus-wl-550ge
313
314 define Device/asus-wl-hdd25
315   DEVICE_TITLE := Asus WL-HDD25
316   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy $(USB1_PACKAGES)
317   $(Device/asus)
318   PRODUCTID := "WLHDD       "
319 endef
320 TARGET_DEVICES += asus-wl-hdd25
321
322 define Device/dlink-dwl-3150
323   DEVICE_TITLE := D-Link DWL-3150
324   IMAGES := bin
325   IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin
326   BIN_TAIL := BCM-5352-2050-0000000-01
327 endef
328 TARGET_DEVICES += dlink-dwl-3150
329
330 define Device/edimax-ps1208-mfg
331   DEVICE_TITLE := Edimax PS-1208MFg
332   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
333   IMAGES := bin
334   IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin
335 endef
336 TARGET_DEVICES += edimax-ps1208-mfg
337
338 define Device/huawei-e970
339   DEVICE_TITLE := Huawei E970
340   DEVICE_PACKAGES := kmod-b43
341   KERNEL_NAME = vmlinux.gz
342   IMAGES := bin
343   IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin
344 endef
345 TARGET_DEVICES += huawei-e970
346
347 define Device/linksys-wrt54g3g
348   DEVICE_TITLE := Linksys WRT54G3G
349   DEVICE_PACKAGES := kmod-b43
350   $(Device/linksys)
351   DEVICE_ID := W54F
352   VERSION := 2.20.1
353 endef
354 TARGET_DEVICES += linksys-wrt54g3g
355
356 define Device/linksys-wrt54g3g-em
357   DEVICE_TITLE := Linksys WRT54G3G-EM
358   $(Device/linksys)
359   DEVICE_ID := W3GN
360   VERSION := 2.20.1
361 endef
362 TARGET_DEVICES += linksys-wrt54g3g-em
363
364 define Device/linksys-wrt54g3gv2-vf
365   DEVICE_TITLE := Linksys WRT54G3GV2-VF
366   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
367   FILESYSTEMS := $(FS_128K)
368   IMAGES := noheader.bin bin
369   IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader
370   IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin
371   DEVICE_ID := 3G2V
372   VERSION := 3.00.24
373   SERIAL := 6
374 endef
375 TARGET_DEVICES += linksys-wrt54g3gv2-vf
376
377 define Device/linksys-wrt54g
378   DEVICE_TITLE := Linksys WRT54G
379   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
380   $(Device/linksys)
381   DEVICE_ID := W54G
382   VERSION := 4.71.1
383 endef
384 TARGET_DEVICES += linksys-wrt54g
385
386 define Device/linksys-wrt54gs
387   DEVICE_TITLE := Linksys WRT54GS
388   DEVICE_PACKAGES := kmod-b43
389   $(Device/linksys)
390   FILESYSTEMS := $(FS_128K)
391   DEVICE_ID := W54S
392   VERSION := 4.80.1
393 endef
394 TARGET_DEVICES += linksys-wrt54gs
395
396 define Device/linksys-wrt54gs-v4
397   DEVICE_TITLE := Linksys WRT54GS v4
398   DEVICE_PACKAGES := kmod-b43
399   $(Device/linksys)
400   DEVICE_ID := W54s
401   VERSION := 1.09.1
402 endef
403 TARGET_DEVICES += linksys-wrt54gs-v4
404
405 define Device/linksys-wrtsl54gs
406   DEVICE_TITLE := Linksys WRTSL54GS
407   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
408   $(Device/linksys)
409   FILESYSTEMS := $(FS_128K)
410   DEVICE_ID := W54U
411   VERSION := 2.08.1
412 endef
413 TARGET_DEVICES += linksys-wrtsl54gs
414
415 define Device/linksys-wrt150n
416   DEVICE_TITLE := Linksys WRT150N
417   DEVICE_PACKAGES := kmod-b43
418   $(Device/linksys)
419   DEVICE_ID := N150
420   VERSION := 1.51.3
421 endef
422 TARGET_DEVICES += linksys-wrt150n
423
424 define Device/linksys-wrt160n-v1
425   DEVICE_TITLE := Linksys WRT160N v1
426   DEVICE_PACKAGES := kmod-b43
427   $(Device/linksys)
428   DEVICE_ID := N150
429   VERSION := 1.50.1
430 endef
431 TARGET_DEVICES += linksys-wrt160n-v1
432
433 define Device/linksys-wrt300n-v1
434   DEVICE_TITLE := Linksys WRT300N v1
435   DEVICE_PACKAGES := kmod-b43
436   $(Device/linksys)
437   IMAGES := bin trx
438   DEVICE_ID := EWCB
439   VERSION := 1.03.6
440 endef
441 TARGET_DEVICES += linksys-wrt300n-v1
442
443 define Device/motorola-wa840g
444   DEVICE_TITLE := Motorola WA840G
445   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
446   $(Device/motorola)
447   MOTOROLA_DEVICE := 2
448 endef
449 TARGET_DEVICES += motorola-wa840g
450
451 define Device/motorola-we800g
452   DEVICE_TITLE := Motorola WE800G
453   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
454   $(Device/motorola)
455   MOTOROLA_DEVICE := 3
456 endef
457 TARGET_DEVICES += motorola-we800g
458
459 define Device/motorola-wr850g
460   DEVICE_TITLE := Motorola WR850G
461   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
462   $(Device/motorola)
463   MOTOROLA_DEVICE := 1
464 endef
465 TARGET_DEVICES += motorola-wr850g
466
467 define Device/netgear-wgr614-v8
468   DEVICE_TITLE := Netgear WGR614 v8
469   DEVICE_PACKAGES := kmod-b43
470   $(Device/netgear)
471   NETGEAR_BOARD_ID := U12H072T00_NETGEAR
472   NETGEAR_REGION := 2
473 endef
474 TARGET_DEVICES += netgear-wgr614-v8
475
476 define Device/netgear-wgt634u
477   DEVICE_TITLE := Netgear WGT634U
478   DEVICE_PACKAGES := kmod-ath5k $(USB2_PACKAGES)
479   FILESYSTEMS := $(FS_128K)
480   IMAGES := bin
481   IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf
482 endef
483 TARGET_DEVICES += netgear-wgt634u
484
485 define Device/netgear-wndr3300-v1
486   DEVICE_TITLE := Netgear WNDR3300 v1
487   DEVICE_PACKAGES := kmod-b43
488   $(Device/netgear)
489   NETGEAR_BOARD_ID := U12H093T00_NETGEAR
490   NETGEAR_REGION := 2
491 endef
492 TARGET_DEVICES += netgear-wndr3300-v1
493
494 define Device/netgear-wnr834b-v2
495   DEVICE_TITLE := Netgear WNR834B v2
496   DEVICE_PACKAGES := kmod-b43
497   $(Device/netgear)
498   NETGEAR_BOARD_ID := U12H081T00_NETGEAR
499   NETGEAR_REGION := 2
500 endef
501 TARGET_DEVICES += netgear-wnr834b-v2
502
503 define Device/usrobotics-usr5461
504   DEVICE_TITLE := USRobotics USR5461
505   DEVICE_PACKAGES := kmod-b43 $(USB1_PACKAGES)
506   IMAGES := bin
507   IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin
508 endef
509 TARGET_DEVICES += usrobotics-usr5461
510
511 TARGET_DEVICES += standard standard-noloader-gz
512 endif
513
514 #################################################
515 # Subtarget mips74k
516 #################################################
517
518 ifeq ($(SUBTARGET),mips74k)
519 define Device/asus-rt-ac53u
520   DEVICE_TITLE := Asus RT-AC53U
521   $(Device/asus)
522   PRODUCTID := RT-AC53U
523 endef
524 TARGET_DEVICES += asus-rt-ac53u
525
526 define Device/asus-rt-ac66u
527   DEVICE_TITLE := Asus RT-AC66U
528   $(Device/asus)
529   PRODUCTID := RT-AC66U
530 endef
531 #  TARGET_DEVICES += asus-rt-ac66u
532
533 define Device/asus-rt-n10
534   DEVICE_TITLE := Asus RT-N10
535   $(Device/asus)
536   PRODUCTID := "RT-N10      "
537 endef
538 TARGET_DEVICES += asus-rt-n10
539
540 define Device/asus-rt-n10p
541   DEVICE_TITLE := Asus RT-N10P
542   $(Device/asus)
543   PRODUCTID := RT-N10P
544 endef
545 TARGET_DEVICES += asus-rt-n10p
546
547 define Device/asus-rt-n10p-v2
548   DEVICE_TITLE := Asus RT-N10P v2
549   $(Device/asus)
550   PRODUCTID := RT-N10PV2
551 endef
552 TARGET_DEVICES += asus-rt-n10p-v2
553
554 define Device/asus-rt-n10u
555   DEVICE_TITLE := Asus RT-N10U
556   $(Device/asus)
557   PRODUCTID := RT-N10U
558 endef
559 TARGET_DEVICES += asus-rt-n10u
560
561 define Device/asus-rt-n10u-b
562   DEVICE_TITLE := Asus RT-N10U B
563   $(Device/asus)
564   PRODUCTID := RT-N10U
565 endef
566 TARGET_DEVICES += asus-rt-n10u-b
567
568 define Device/asus-rt-n12
569   DEVICE_TITLE := Asus RT-N12
570   $(Device/asus)
571   PRODUCTID := "RT-N12      "
572 endef
573 TARGET_DEVICES += asus-rt-n12
574
575 define Device/asus-rt-n12-b1
576   DEVICE_TITLE := Asus RT-N12 B1
577   $(Device/asus)
578   PRODUCTID := RT-N12B1
579 endef
580 TARGET_DEVICES += asus-rt-n12-b1
581
582 define Device/asus-rt-n12-c1
583   DEVICE_TITLE := Asus RT-N12 C1
584   $(Device/asus)
585   PRODUCTID := RT-N12C1
586 endef
587 TARGET_DEVICES += asus-rt-n12-c1
588
589 define Device/asus-rt-n12-d1
590   DEVICE_TITLE := Asus RT-N12 D1
591   $(Device/asus)
592   PRODUCTID := RT-N12D1
593 endef
594 TARGET_DEVICES += asus-rt-n12-d1
595
596 define Device/asus-rt-n12hp
597   DEVICE_TITLE := Asus RT-N12HP
598   $(Device/asus)
599   PRODUCTID := RT-N12HP
600 endef
601 TARGET_DEVICES += asus-rt-n12hp
602
603 define Device/asus-rt-n14uhp
604   DEVICE_TITLE := Asus RT-N14UHP
605   $(Device/asus)
606   PRODUCTID := RT-N14UHP
607 endef
608 TARGET_DEVICES += asus-rt-n14uhp
609
610 define Device/asus-rt-n15u
611   DEVICE_TITLE := Asus RT-N15U
612   $(Device/asus)
613   PRODUCTID := RT-N15U
614 endef
615 TARGET_DEVICES += asus-rt-n15u
616
617 define Device/asus-rt-n16
618   DEVICE_TITLE := Asus RT-N16
619   $(Device/asus)
620   PRODUCTID := RT-N16
621 endef
622 TARGET_DEVICES += asus-rt-n16
623
624 define Device/asus-rt-n53
625   DEVICE_TITLE := Asus RT-N53
626   $(Device/asus)
627   PRODUCTID := RT-N53
628 endef
629 TARGET_DEVICES += asus-rt-n53
630
631 define Device/asus-rt-n66u
632   DEVICE_TITLE := Asus RT-N66U
633   $(Device/asus)
634   PRODUCTID := RT-N66U
635 endef
636 TARGET_DEVICES += asus-rt-n66u
637
638 define Device/asus-rt-n66w
639   DEVICE_TITLE := Asus RT-N66W
640   $(Device/asus)
641   PRODUCTID := RT-N66U
642 endef
643 TARGET_DEVICES += asus-rt-n66w
644
645 define Device/linksys-wrt160n-v3
646   DEVICE_TITLE := Linksys WRT160N v3
647   $(Device/linksys)
648   DEVICE_ID := N150
649   VERSION := 3.0.3
650 endef
651 TARGET_DEVICES += linksys-wrt160n-v3
652
653 define Device/linksys-wrt310n-v2
654   DEVICE_TITLE := Linksys WRT310N v2
655   $(Device/linksys)
656   DEVICE_ID := 310N
657   VERSION := 2.0.1
658 endef
659 TARGET_DEVICES += linksys-wrt310n-v2
660
661 define Device/linksys-wrt320n-v1
662   DEVICE_TITLE := Linksys WRT320N v1
663   $(Device/linksys)
664   DEVICE_ID := 320N
665   VERSION := 1.0.5
666 endef
667 TARGET_DEVICES += linksys-wrt320n-v1
668
669 define Device/linksys-e900-v1
670   DEVICE_TITLE := Linksys E900 v1
671   $(Device/linksys)
672   DEVICE_ID := E900
673   VERSION := 1.0.4
674 endef
675 TARGET_DEVICES += linksys-e900-v1
676
677 define Device/linksys-e1000-v1-v2-v2.1
678   DEVICE_TITLE := Linksys E1000 v1 v2 v2.1
679   $(Device/linksys)
680   DEVICE_ID := E100
681   VERSION := 1.1.3
682 endef
683 TARGET_DEVICES += linksys-e1000-v1-v2-v2.1
684
685 define Device/linksys-e1200-v1
686   DEVICE_TITLE := Linksys E1200 v1
687   $(Device/linksys)
688   DEVICE_ID := E120
689   VERSION := 1.0.3
690 endef
691 TARGET_DEVICES += linksys-e1200-v1
692
693 define Device/linksys-e1200-v2
694   DEVICE_TITLE := Linksys E1200 v2
695   $(Device/linksys)
696   DEVICE_ID := E122
697   VERSION := 1.0.4
698 endef
699 TARGET_DEVICES += linksys-e1200-v2
700
701 define Device/linksys-e1500-v1
702   DEVICE_TITLE := Linksys E1500 v1
703   $(Device/linksys)
704   DEVICE_ID := E150
705   VERSION := 1.0.5
706 endef
707 TARGET_DEVICES += linksys-e1500-v1
708
709 define Device/linksys-e1550-v1
710   DEVICE_TITLE := Linksys E1550 v1
711   $(Device/linksys)
712   DEVICE_ID := 1550
713   VERSION := 1.0.3
714 endef
715 TARGET_DEVICES += linksys-e1550-v1
716
717 define Device/linksys-e2000-v1
718   DEVICE_TITLE := Linksys E2000 v1
719   $(Device/linksys)
720   DEVICE_ID := 32XN
721   VERSION := 1.0.4
722 endef
723 TARGET_DEVICES += linksys-e2000-v1
724
725 define Device/linksys-e2500-v1
726   DEVICE_TITLE := Linksys E2500 v1
727   $(Device/linksys)
728   DEVICE_ID := E25X
729   VERSION := 1.0.7
730 endef
731 TARGET_DEVICES += linksys-e2500-v1
732
733 define Device/linksys-e2500-v2
734   DEVICE_TITLE := Linksys E2500 v2
735   $(Device/linksys)
736   DEVICE_ID := E25X
737   VERSION := 2.0.0
738 endef
739 TARGET_DEVICES += linksys-e2500-v2
740
741 define Device/linksys-e2500-v2.1
742   DEVICE_TITLE := Linksys E2500 v2.1
743   $(Device/linksys)
744   DEVICE_ID := 25RU
745   VERSION := 2.1.0
746 endef
747 TARGET_DEVICES += linksys-e2500-v2.1
748
749 define Device/linksys-e2500-v3
750   DEVICE_TITLE := Linksys E2500 v3
751   $(Device/linksys)
752   DEVICE_ID := 25V3
753   VERSION := 3.0.0
754 endef
755 TARGET_DEVICES += linksys-e2500-v3
756
757 define Device/linksys-e3200-v1
758   DEVICE_TITLE := Linksys E3200 v1
759   $(Device/linksys)
760   DEVICE_ID := 3200
761   VERSION := 1.0.1
762 endef
763 TARGET_DEVICES += linksys-e3200-v1
764
765 define Device/linksys-e4200-v1
766   DEVICE_TITLE := Linksys E4200 v1
767   $(Device/linksys)
768   DEVICE_ID := 4200
769   VERSION := 1.0.5
770 endef
771 TARGET_DEVICES += linksys-e4200-v1
772
773 define Device/netgear-wgr614-v10_north-america
774   DEVICE_TITLE := Netgear WGR614 v10 North America
775   $(Device/netgear)
776   NETGEAR_BOARD_ID := U12H139T01_NETGEAR
777   NETGEAR_REGION := 2
778 endef
779 TARGET_DEVICES += netgear-wgr614-v10_north-america
780
781 define Device/netgear-wgr614-v10_other-regions
782   DEVICE_TITLE := Netgear WGR614 v10 Other Regions
783   $(Device/netgear)
784   NETGEAR_BOARD_ID := U12H139T01_NETGEAR
785   NETGEAR_REGION := 1
786 endef
787 TARGET_DEVICES += netgear-wgr614-v10_other-regions
788
789 define Device/netgear-wn2500rp-v1
790   DEVICE_TITLE := Netgear WN2500RP v1
791   $(Device/netgear)
792   NETGEAR_BOARD_ID := U12H197T00_NETGEAR
793   NETGEAR_REGION := 1
794 endef
795 TARGET_DEVICES += netgear-wn2500rp-v1
796
797 define Device/netgear-wn3000rp
798   DEVICE_TITLE := Netgear WN3000RP
799   $(Device/netgear)
800   NETGEAR_BOARD_ID := U12H163T01_NETGEAR
801   NETGEAR_REGION := 1
802 endef
803 TARGET_DEVICES += netgear-wn3000rp
804
805 define Device/netgear-wndr3400-v1
806   DEVICE_TITLE := Netgear WNDR3400 v1
807   $(Device/netgear)
808   NETGEAR_BOARD_ID := U12H155T00_NETGEAR
809   NETGEAR_REGION := 2
810 endef
811 TARGET_DEVICES += netgear-wndr3400-v1
812
813 define Device/netgear-wndr3400-v2
814   DEVICE_TITLE := Netgear WNDR3400 v2
815   $(Device/netgear)
816   NETGEAR_BOARD_ID := U12H187T00_NETGEAR
817   NETGEAR_REGION := 2
818 endef
819 TARGET_DEVICES += netgear-wndr3400-v2
820
821 define Device/netgear-wndr3400-v3
822   DEVICE_TITLE := Netgear WNDR3400 v3
823   $(Device/netgear)
824   NETGEAR_BOARD_ID := U12H208T00_NETGEAR
825   NETGEAR_REGION := 1
826 endef
827 TARGET_DEVICES += netgear-wndr3400-v3
828
829 define Device/netgear-wndr3700-v3
830   DEVICE_TITLE := Netgear WNDR3700 v3
831   $(Device/netgear)
832   NETGEAR_BOARD_ID := U12H194T00_NETGEAR
833   NETGEAR_REGION := 2
834 endef
835 TARGET_DEVICES += netgear-wndr3700-v3
836
837 define Device/netgear-wndr3400-vcna
838   DEVICE_TITLE := Netgear WNDR3400 vcna
839   $(Device/netgear)
840   NETGEAR_BOARD_ID := U12H155T01_NETGEAR
841   NETGEAR_REGION := 2
842 endef
843 #  TARGET_DEVICES += netgear-wndr3400-vcna
844
845 define Device/netgear-wndr4000
846   DEVICE_TITLE := Netgear WNDR4000
847   $(Device/netgear)
848   NETGEAR_BOARD_ID := U12H181T00_NETGEAR
849   NETGEAR_REGION := 2
850 endef
851 TARGET_DEVICES += netgear-wndr4000
852
853 define Device/netgear-wnr1000-v3
854   DEVICE_TITLE := Netgear WNR1000 v3
855   $(Device/netgear)
856   NETGEAR_BOARD_ID := U12H139T00_NETGEAR
857   NETGEAR_REGION := 2
858 endef
859 TARGET_DEVICES += netgear-wnr1000-v3
860
861 define Device/netgear-wnr2000v2
862   DEVICE_TITLE := Netgear WNR2000 v2
863   $(Device/netgear)
864   NETGEAR_BOARD_ID := U12H114T00_NETGEAR
865   NETGEAR_REGION := 2
866 endef
867 TARGET_DEVICES += netgear-wnr2000v2
868
869 define Device/netgear-wnr3500l-v1-north-america
870   DEVICE_TITLE := Netgear WNR3500L v1 North America
871   $(Device/netgear)
872   NETGEAR_BOARD_ID := U12H136T99_NETGEAR
873   NETGEAR_REGION := 2
874 endef
875 TARGET_DEVICES += netgear-wnr3500l-v1-north-america
876
877 define Device/netgear-wnr3500l-v1-other-regions
878   DEVICE_TITLE := Netgear WNR3500L v1 Other Regions
879   $(Device/netgear)
880   NETGEAR_BOARD_ID := U12H136T99_NETGEAR
881   NETGEAR_REGION := 1
882 endef
883 TARGET_DEVICES += netgear-wnr3500l-v1-other-regions
884
885 define Device/netgear-wnr3500l-v2
886   DEVICE_TITLE := Netgear WNR3500L v2
887   $(Device/netgear)
888   NETGEAR_BOARD_ID := U12H172T00_NETGEAR
889   NETGEAR_REGION := 1
890 endef
891 TARGET_DEVICES += netgear-wnr3500l-v2
892
893 define Device/netgear-wnr3500u
894   DEVICE_TITLE := Netgear WNR3500U
895   $(Device/netgear)
896   NETGEAR_BOARD_ID := U12H136T00_NETGEAR
897   NETGEAR_REGION := 2
898 endef
899 #  TARGET_DEVICES += netgear-wnr3500u
900
901 define Device/netgear-wnr3500-v2
902   DEVICE_TITLE := Netgear WNR3500 v2
903   $(Device/netgear)
904   NETGEAR_BOARD_ID := U12H127T00_NETGEAR
905   NETGEAR_REGION := 2
906 endef
907 TARGET_DEVICES += netgear-wnr3500-v2
908
909 define Device/netgear-wnr3500-v2-vc
910   DEVICE_TITLE := Netgear WNR3500 v2 vc
911   $(Device/netgear)
912   NETGEAR_BOARD_ID := U12H127T70_NETGEAR
913   NETGEAR_REGION := 2
914 endef
915 #  TARGET_DEVICES += netgear-wnr3500-v2-vc
916
917 TARGET_DEVICES += standard standard-noloader-nodictionarylzma
918 endif
919
920 #################################################
921 # Shared BuildImage defines
922 #################################################
923
924 define Image/Build/Initramfs
925         $(STAGING_DIR_HOST)/bin/trx \
926                 -m 33554432 \
927                 -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx \
928                 -f $(KDIR)/loader.gz \
929                 -f $(KDIR)/vmlinux-initramfs.lzma
930         $(STAGING_DIR_HOST)/bin/trx \
931                 -m 33554432 \
932                 -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs-noloader-nodictionary.trx \
933                 -f $(KDIR)/vmlinux-initramfs-nodictionary.lzma
934 endef
935
936 # $(1): filesystem type.
937 define Image/Build
938         # TODO: Move it to Device/*
939 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
940         $(call Image/Build/Initramfs)
941 endif
942 endef
943
944 $(eval $(call BuildImage))