brcm47xx: generic: specify DEVICE_PACKAGES for all devices
[oweals/openwrt.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_PACKAGES := kmod-tg3 kmod-b43
195   $(Device/linksys)
196   DEVICE_ID := EWC2
197   VERSION := 1.51.2
198 endef
199 TARGET_DEVICES += linksys-wrt300n-v1.1
200
201 define Device/linksys-wrt310n-v1
202   DEVICE_TITLE := Linksys WRT310N v1
203   DEVICE_PACKAGES := kmod-tg3 kmod-b43
204   $(Device/linksys)
205   DEVICE_ID := 310N
206   VERSION := 1.0.10
207 endef
208 TARGET_DEVICES += linksys-wrt310n-v1
209
210 define Device/linksys-wrt350n-v1
211   DEVICE_TITLE := Linksys WRT350N v1
212   DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES)
213   $(Device/linksys)
214   DEVICE_ID := EWCG
215   VERSION := 1.04.1
216 endef
217 TARGET_DEVICES += linksys-wrt350n-v1
218
219 define Device/linksys-wrt610n-v1
220   DEVICE_TITLE := Linksys WRT610N v1
221   DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES)
222   $(Device/linksys)
223   DEVICE_ID := 610N
224   VERSION := 1.0.1
225 endef
226 TARGET_DEVICES += linksys-wrt610n-v1
227
228   # BCMA SoC with SSB WiFi
229 define Device/linksys-wrt610n-v2
230   DEVICE_TITLE := Linksys WRT610N v2
231   DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES)
232   $(Device/linksys)
233   DEVICE_ID := 610N
234   VERSION := 2.0.0
235 endef
236 TARGET_DEVICES += linksys-wrt610n-v2
237
238 define Device/linksys-e3000-v1
239   DEVICE_TITLE := Linksys E3000 v1
240   DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES)
241   $(Device/linksys)
242   DEVICE_ID := 61XN
243   VERSION := 1.0.3
244 endef
245 TARGET_DEVICES += linksys-e3000-v1
246
247 TARGET_DEVICES += standard
248 endif
249
250 #################################################
251 # Subtarget legacy
252 #################################################
253
254 ifeq ($(SUBTARGET),legacy)
255
256 define Device/asus-wl-300g
257   DEVICE_TITLE := Asus WL-300g
258   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
259   $(Device/asus)
260   PRODUCTID := "WL300g      "
261 endef
262 TARGET_DEVICES += asus-wl-300g
263
264 define Device/asus-wl-320gp
265   DEVICE_TITLE := Asus WL-320gP
266   DEVICE_PACKAGES := kmod-b43
267   $(Device/asus)
268   PRODUCTID := "WL320gP     "
269 endef
270 TARGET_DEVICES += asus-wl-320gp
271
272 define Device/asus-wl-330ge
273   DEVICE_TITLE := Asus WL-330gE
274   DEVICE_PACKAGES := kmod-b43
275   $(Device/asus)
276   PRODUCTID := "WL-330gE    "
277 endef
278 TARGET_DEVICES += asus-wl-330ge
279
280 define Device/asus-wl-500gp-v1
281   DEVICE_TITLE := Asus WL-500gP v1
282   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
283   $(Device/asus)
284   PRODUCTID := "WL500gp     "
285 endef
286 TARGET_DEVICES += asus-wl-500gp-v1
287
288 define Device/asus-wl-500gp-v2
289   DEVICE_TITLE := Asus WL-500gP v2
290   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
291   $(Device/asus)
292   PRODUCTID := "WL500gpv2   "
293 endef
294 TARGET_DEVICES += asus-wl-500gp-v2
295
296 define Device/asus-wl-500w
297   DEVICE_TITLE := Asus WL-500W
298   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
299   $(Device/asus)
300   PRODUCTID := "WL500W      "
301 endef
302 TARGET_DEVICES += asus-wl-500w
303
304 define Device/asus-wl-520gu
305   DEVICE_TITLE := Asus WL-520gU
306   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
307   $(Device/asus)
308   PRODUCTID := "WL520gu     "
309 endef
310 TARGET_DEVICES += asus-wl-520gu
311
312 define Device/asus-wl-550ge
313   DEVICE_TITLE := Asus WL-550gE
314   DEVICE_PACKAGES := kmod-b43
315   $(Device/asus)
316   PRODUCTID := "WL550gE     "
317 endef
318 TARGET_DEVICES += asus-wl-550ge
319
320 define Device/asus-wl-hdd25
321   DEVICE_TITLE := Asus WL-HDD25
322   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy $(USB1_PACKAGES)
323   $(Device/asus)
324   PRODUCTID := "WLHDD       "
325 endef
326 TARGET_DEVICES += asus-wl-hdd25
327
328 define Device/dlink-dwl-3150
329   DEVICE_TITLE := D-Link DWL-3150
330   IMAGES := bin
331   IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin
332   BIN_TAIL := BCM-5352-2050-0000000-01
333 endef
334 TARGET_DEVICES += dlink-dwl-3150
335
336 define Device/edimax-ps1208-mfg
337   DEVICE_TITLE := Edimax PS-1208MFg
338   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
339   IMAGES := bin
340   IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin
341 endef
342 TARGET_DEVICES += edimax-ps1208-mfg
343
344 define Device/huawei-e970
345   DEVICE_TITLE := Huawei E970
346   DEVICE_PACKAGES := kmod-b43
347   KERNEL_NAME = vmlinux.gz
348   IMAGES := bin
349   IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin
350 endef
351 TARGET_DEVICES += huawei-e970
352
353 define Device/linksys-wrt54g3g
354   DEVICE_TITLE := Linksys WRT54G3G
355   DEVICE_PACKAGES := kmod-b43
356   $(Device/linksys)
357   DEVICE_ID := W54F
358   VERSION := 2.20.1
359 endef
360 TARGET_DEVICES += linksys-wrt54g3g
361
362 define Device/linksys-wrt54g3g-em
363   DEVICE_TITLE := Linksys WRT54G3G-EM
364   $(Device/linksys)
365   DEVICE_ID := W3GN
366   VERSION := 2.20.1
367 endef
368 TARGET_DEVICES += linksys-wrt54g3g-em
369
370 define Device/linksys-wrt54g3gv2-vf
371   DEVICE_TITLE := Linksys WRT54G3GV2-VF
372   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
373   FILESYSTEMS := $(FS_128K)
374   IMAGES := noheader.bin bin
375   IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader
376   IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin
377   DEVICE_ID := 3G2V
378   VERSION := 3.00.24
379   SERIAL := 6
380 endef
381 TARGET_DEVICES += linksys-wrt54g3gv2-vf
382
383 define Device/linksys-wrt54g
384   DEVICE_TITLE := Linksys WRT54G
385   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
386   $(Device/linksys)
387   DEVICE_ID := W54G
388   VERSION := 4.71.1
389 endef
390 TARGET_DEVICES += linksys-wrt54g
391
392 define Device/linksys-wrt54gs
393   DEVICE_TITLE := Linksys WRT54GS
394   DEVICE_PACKAGES := kmod-b43
395   $(Device/linksys)
396   FILESYSTEMS := $(FS_128K)
397   DEVICE_ID := W54S
398   VERSION := 4.80.1
399 endef
400 TARGET_DEVICES += linksys-wrt54gs
401
402 define Device/linksys-wrt54gs-v4
403   DEVICE_TITLE := Linksys WRT54GS v4
404   DEVICE_PACKAGES := kmod-b43
405   $(Device/linksys)
406   DEVICE_ID := W54s
407   VERSION := 1.09.1
408 endef
409 TARGET_DEVICES += linksys-wrt54gs-v4
410
411 define Device/linksys-wrtsl54gs
412   DEVICE_TITLE := Linksys WRTSL54GS
413   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
414   $(Device/linksys)
415   FILESYSTEMS := $(FS_128K)
416   DEVICE_ID := W54U
417   VERSION := 2.08.1
418 endef
419 TARGET_DEVICES += linksys-wrtsl54gs
420
421 define Device/linksys-wrt150n
422   DEVICE_TITLE := Linksys WRT150N
423   DEVICE_PACKAGES := kmod-b43
424   $(Device/linksys)
425   DEVICE_ID := N150
426   VERSION := 1.51.3
427 endef
428 TARGET_DEVICES += linksys-wrt150n
429
430 define Device/linksys-wrt160n-v1
431   DEVICE_TITLE := Linksys WRT160N v1
432   DEVICE_PACKAGES := kmod-b43
433   $(Device/linksys)
434   DEVICE_ID := N150
435   VERSION := 1.50.1
436 endef
437 TARGET_DEVICES += linksys-wrt160n-v1
438
439 define Device/linksys-wrt300n-v1
440   DEVICE_TITLE := Linksys WRT300N v1
441   DEVICE_PACKAGES := kmod-b43
442   $(Device/linksys)
443   IMAGES := bin trx
444   DEVICE_ID := EWCB
445   VERSION := 1.03.6
446 endef
447 TARGET_DEVICES += linksys-wrt300n-v1
448
449 define Device/motorola-wa840g
450   DEVICE_TITLE := Motorola WA840G
451   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
452   $(Device/motorola)
453   MOTOROLA_DEVICE := 2
454 endef
455 TARGET_DEVICES += motorola-wa840g
456
457 define Device/motorola-we800g
458   DEVICE_TITLE := Motorola WE800G
459   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
460   $(Device/motorola)
461   MOTOROLA_DEVICE := 3
462 endef
463 TARGET_DEVICES += motorola-we800g
464
465 define Device/motorola-wr850g
466   DEVICE_TITLE := Motorola WR850G
467   DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
468   $(Device/motorola)
469   MOTOROLA_DEVICE := 1
470 endef
471 TARGET_DEVICES += motorola-wr850g
472
473 define Device/netgear-wgr614-v8
474   DEVICE_TITLE := Netgear WGR614 v8
475   DEVICE_PACKAGES := kmod-b43
476   $(Device/netgear)
477   NETGEAR_BOARD_ID := U12H072T00_NETGEAR
478   NETGEAR_REGION := 2
479 endef
480 TARGET_DEVICES += netgear-wgr614-v8
481
482 define Device/netgear-wgt634u
483   DEVICE_TITLE := Netgear WGT634U
484   DEVICE_PACKAGES := kmod-ath5k $(USB2_PACKAGES)
485   FILESYSTEMS := $(FS_128K)
486   IMAGES := bin
487   IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf
488 endef
489 TARGET_DEVICES += netgear-wgt634u
490
491 define Device/netgear-wndr3300-v1
492   DEVICE_TITLE := Netgear WNDR3300 v1
493   DEVICE_PACKAGES := kmod-b43
494   $(Device/netgear)
495   NETGEAR_BOARD_ID := U12H093T00_NETGEAR
496   NETGEAR_REGION := 2
497 endef
498 TARGET_DEVICES += netgear-wndr3300-v1
499
500 define Device/netgear-wnr834b-v2
501   DEVICE_TITLE := Netgear WNR834B v2
502   DEVICE_PACKAGES := kmod-b43
503   $(Device/netgear)
504   NETGEAR_BOARD_ID := U12H081T00_NETGEAR
505   NETGEAR_REGION := 2
506 endef
507 TARGET_DEVICES += netgear-wnr834b-v2
508
509 define Device/usrobotics-usr5461
510   DEVICE_TITLE := USRobotics USR5461
511   DEVICE_PACKAGES := kmod-b43 $(USB1_PACKAGES)
512   IMAGES := bin
513   IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin
514 endef
515 TARGET_DEVICES += usrobotics-usr5461
516
517 TARGET_DEVICES += standard standard-noloader-gz
518 endif
519
520 #################################################
521 # Subtarget mips74k
522 #################################################
523
524 ifeq ($(SUBTARGET),mips74k)
525 define Device/asus-rt-ac53u
526   DEVICE_TITLE := Asus RT-AC53U
527   DEVICE_PACKAGES := $(USB2_PACKAGES)
528   $(Device/asus)
529   PRODUCTID := RT-AC53U
530 endef
531 TARGET_DEVICES += asus-rt-ac53u
532
533 define Device/asus-rt-ac66u
534   DEVICE_TITLE := Asus RT-AC66U
535   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
536   $(Device/asus)
537   PRODUCTID := RT-AC66U
538 endef
539 #  TARGET_DEVICES += asus-rt-ac66u
540
541 define Device/asus-rt-n10
542   DEVICE_TITLE := Asus RT-N10
543   DEVICE_PACKAGES := kmod-b43
544   $(Device/asus)
545   PRODUCTID := "RT-N10      "
546 endef
547 TARGET_DEVICES += asus-rt-n10
548
549 define Device/asus-rt-n10p
550   DEVICE_TITLE := Asus RT-N10P
551   DEVICE_PACKAGES := kmod-b43
552   $(Device/asus)
553   PRODUCTID := RT-N10P
554 endef
555 TARGET_DEVICES += asus-rt-n10p
556
557 define Device/asus-rt-n10p-v2
558   DEVICE_TITLE := Asus RT-N10P v2
559   $(Device/asus)
560   PRODUCTID := RT-N10PV2
561 endef
562 TARGET_DEVICES += asus-rt-n10p-v2
563
564 define Device/asus-rt-n10u
565   DEVICE_TITLE := Asus RT-N10U
566   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
567   $(Device/asus)
568   PRODUCTID := RT-N10U
569 endef
570 TARGET_DEVICES += asus-rt-n10u
571
572 define Device/asus-rt-n10u-b
573   DEVICE_TITLE := Asus RT-N10U B
574   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
575   $(Device/asus)
576   PRODUCTID := RT-N10U
577 endef
578 TARGET_DEVICES += asus-rt-n10u-b
579
580 define Device/asus-rt-n12
581   DEVICE_TITLE := Asus RT-N12
582   DEVICE_PACKAGES := kmod-b43
583   $(Device/asus)
584   PRODUCTID := "RT-N12      "
585 endef
586 TARGET_DEVICES += asus-rt-n12
587
588 define Device/asus-rt-n12-b1
589   DEVICE_TITLE := Asus RT-N12 B1
590   $(Device/asus)
591   PRODUCTID := RT-N12B1
592 endef
593 TARGET_DEVICES += asus-rt-n12-b1
594
595 define Device/asus-rt-n12-c1
596   DEVICE_TITLE := Asus RT-N12 C1
597   $(Device/asus)
598   PRODUCTID := RT-N12C1
599 endef
600 TARGET_DEVICES += asus-rt-n12-c1
601
602 define Device/asus-rt-n12-d1
603   DEVICE_TITLE := Asus RT-N12 D1
604   $(Device/asus)
605   PRODUCTID := RT-N12D1
606 endef
607 TARGET_DEVICES += asus-rt-n12-d1
608
609 define Device/asus-rt-n12hp
610   DEVICE_TITLE := Asus RT-N12HP
611   $(Device/asus)
612   PRODUCTID := RT-N12HP
613 endef
614 TARGET_DEVICES += asus-rt-n12hp
615
616 define Device/asus-rt-n14uhp
617   DEVICE_TITLE := Asus RT-N14UHP
618   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
619   $(Device/asus)
620   PRODUCTID := RT-N14UHP
621 endef
622 TARGET_DEVICES += asus-rt-n14uhp
623
624 define Device/asus-rt-n15u
625   DEVICE_TITLE := Asus RT-N15U
626   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
627   $(Device/asus)
628   PRODUCTID := RT-N15U
629 endef
630 TARGET_DEVICES += asus-rt-n15u
631
632 define Device/asus-rt-n16
633   DEVICE_TITLE := Asus RT-N16
634   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
635   $(Device/asus)
636   PRODUCTID := RT-N16
637 endef
638 TARGET_DEVICES += asus-rt-n16
639
640 define Device/asus-rt-n53
641   DEVICE_TITLE := Asus RT-N53
642   DEVICE_PACKAGES := kmod-b43
643   $(Device/asus)
644   PRODUCTID := RT-N53
645 endef
646 TARGET_DEVICES += asus-rt-n53
647
648 define Device/asus-rt-n66u
649   DEVICE_TITLE := Asus RT-N66U
650   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
651   $(Device/asus)
652   PRODUCTID := RT-N66U
653 endef
654 TARGET_DEVICES += asus-rt-n66u
655
656 define Device/asus-rt-n66w
657   DEVICE_TITLE := Asus RT-N66W
658   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
659   $(Device/asus)
660   PRODUCTID := RT-N66U
661 endef
662 TARGET_DEVICES += asus-rt-n66w
663
664 define Device/linksys-wrt160n-v3
665   DEVICE_TITLE := Linksys WRT160N v3
666   DEVICE_PACKAGES := kmod-b43
667   $(Device/linksys)
668   DEVICE_ID := N150
669   VERSION := 3.0.3
670 endef
671 TARGET_DEVICES += linksys-wrt160n-v3
672
673 define Device/linksys-wrt310n-v2
674   DEVICE_TITLE := Linksys WRT310N v2
675   DEVICE_PACKAGES := kmod-b43
676   $(Device/linksys)
677   DEVICE_ID := 310N
678   VERSION := 2.0.1
679 endef
680 TARGET_DEVICES += linksys-wrt310n-v2
681
682 define Device/linksys-wrt320n-v1
683   DEVICE_TITLE := Linksys WRT320N v1
684   DEVICE_PACKAGES := kmod-b43
685   $(Device/linksys)
686   DEVICE_ID := 320N
687   VERSION := 1.0.5
688 endef
689 TARGET_DEVICES += linksys-wrt320n-v1
690
691 define Device/linksys-e900-v1
692   DEVICE_TITLE := Linksys E900 v1
693   $(Device/linksys)
694   DEVICE_ID := E900
695   VERSION := 1.0.4
696 endef
697 TARGET_DEVICES += linksys-e900-v1
698
699 define Device/linksys-e1000-v1-v2-v2.1
700   DEVICE_TITLE := Linksys E1000 v1 v2 v2.1
701   DEVICE_PACKAGES := kmod-b43
702   $(Device/linksys)
703   DEVICE_ID := E100
704   VERSION := 1.1.3
705 endef
706 TARGET_DEVICES += linksys-e1000-v1-v2-v2.1
707
708 define Device/linksys-e1200-v1
709   DEVICE_TITLE := Linksys E1200 v1
710   $(Device/linksys)
711   DEVICE_ID := E120
712   VERSION := 1.0.3
713 endef
714 TARGET_DEVICES += linksys-e1200-v1
715
716 define Device/linksys-e1200-v2
717   DEVICE_TITLE := Linksys E1200 v2
718   $(Device/linksys)
719   DEVICE_ID := E122
720   VERSION := 1.0.4
721 endef
722 TARGET_DEVICES += linksys-e1200-v2
723
724 define Device/linksys-e1500-v1
725   DEVICE_TITLE := Linksys E1500 v1
726   $(Device/linksys)
727   DEVICE_ID := E150
728   VERSION := 1.0.5
729 endef
730 TARGET_DEVICES += linksys-e1500-v1
731
732 define Device/linksys-e1550-v1
733   DEVICE_TITLE := Linksys E1550 v1
734   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
735   $(Device/linksys)
736   DEVICE_ID := 1550
737   VERSION := 1.0.3
738 endef
739 TARGET_DEVICES += linksys-e1550-v1
740
741 define Device/linksys-e2000-v1
742   DEVICE_TITLE := Linksys E2000 v1
743   DEVICE_PACKAGES := kmod-b43
744   $(Device/linksys)
745   DEVICE_ID := 32XN
746   VERSION := 1.0.4
747 endef
748 TARGET_DEVICES += linksys-e2000-v1
749
750 define Device/linksys-e2500-v1
751   DEVICE_TITLE := Linksys E2500 v1
752   DEVICE_PACKAGES := kmod-b43
753   $(Device/linksys)
754   DEVICE_ID := E25X
755   VERSION := 1.0.7
756 endef
757 TARGET_DEVICES += linksys-e2500-v1
758
759 define Device/linksys-e2500-v2
760   DEVICE_TITLE := Linksys E2500 v2
761   DEVICE_PACKAGES := kmod-b43
762   $(Device/linksys)
763   DEVICE_ID := E25X
764   VERSION := 2.0.0
765 endef
766 TARGET_DEVICES += linksys-e2500-v2
767
768 define Device/linksys-e2500-v2.1
769   DEVICE_TITLE := Linksys E2500 v2.1
770   DEVICE_PACKAGES := kmod-b43
771   $(Device/linksys)
772   DEVICE_ID := 25RU
773   VERSION := 2.1.0
774 endef
775 TARGET_DEVICES += linksys-e2500-v2.1
776
777 define Device/linksys-e2500-v3
778   DEVICE_TITLE := Linksys E2500 v3
779   DEVICE_PACKAGES := kmod-b43
780   $(Device/linksys)
781   DEVICE_ID := 25V3
782   VERSION := 3.0.0
783 endef
784 TARGET_DEVICES += linksys-e2500-v3
785
786 define Device/linksys-e3200-v1
787   DEVICE_TITLE := Linksys E3200 v1
788   DEVICE_PACKAGES := kmod-b43
789   $(Device/linksys)
790   DEVICE_ID := 3200
791   VERSION := 1.0.1
792 endef
793 TARGET_DEVICES += linksys-e3200-v1
794
795 define Device/linksys-e4200-v1
796   DEVICE_TITLE := Linksys E4200 v1
797   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
798   $(Device/linksys)
799   DEVICE_ID := 4200
800   VERSION := 1.0.5
801 endef
802 TARGET_DEVICES += linksys-e4200-v1
803
804 define Device/netgear-wgr614-v10_north-america
805   DEVICE_TITLE := Netgear WGR614 v10 North America
806   $(Device/netgear)
807   NETGEAR_BOARD_ID := U12H139T01_NETGEAR
808   NETGEAR_REGION := 2
809 endef
810 TARGET_DEVICES += netgear-wgr614-v10_north-america
811
812 define Device/netgear-wgr614-v10_other-regions
813   DEVICE_TITLE := Netgear WGR614 v10 Other Regions
814   $(Device/netgear)
815   NETGEAR_BOARD_ID := U12H139T01_NETGEAR
816   NETGEAR_REGION := 1
817 endef
818 TARGET_DEVICES += netgear-wgr614-v10_other-regions
819
820 define Device/netgear-wn2500rp-v1
821   DEVICE_TITLE := Netgear WN2500RP v1
822   DEVICE_PACKAGES := kmod-b43
823   $(Device/netgear)
824   NETGEAR_BOARD_ID := U12H197T00_NETGEAR
825   NETGEAR_REGION := 1
826 endef
827 TARGET_DEVICES += netgear-wn2500rp-v1
828
829 define Device/netgear-wn3000rp
830   DEVICE_TITLE := Netgear WN3000RP
831   $(Device/netgear)
832   NETGEAR_BOARD_ID := U12H163T01_NETGEAR
833   NETGEAR_REGION := 1
834 endef
835 TARGET_DEVICES += netgear-wn3000rp
836
837 define Device/netgear-wndr3400-v1
838   DEVICE_TITLE := Netgear WNDR3400 v1
839   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
840   $(Device/netgear)
841   NETGEAR_BOARD_ID := U12H155T00_NETGEAR
842   NETGEAR_REGION := 2
843 endef
844 TARGET_DEVICES += netgear-wndr3400-v1
845
846 define Device/netgear-wndr3400-v2
847   DEVICE_TITLE := Netgear WNDR3400 v2
848   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
849   $(Device/netgear)
850   NETGEAR_BOARD_ID := U12H187T00_NETGEAR
851   NETGEAR_REGION := 2
852 endef
853 TARGET_DEVICES += netgear-wndr3400-v2
854
855 define Device/netgear-wndr3400-v3
856   DEVICE_TITLE := Netgear WNDR3400 v3
857   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
858   $(Device/netgear)
859   NETGEAR_BOARD_ID := U12H208T00_NETGEAR
860   NETGEAR_REGION := 1
861 endef
862 TARGET_DEVICES += netgear-wndr3400-v3
863
864 define Device/netgear-wndr3700-v3
865   DEVICE_TITLE := Netgear WNDR3700 v3
866   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
867   $(Device/netgear)
868   NETGEAR_BOARD_ID := U12H194T00_NETGEAR
869   NETGEAR_REGION := 2
870 endef
871 TARGET_DEVICES += netgear-wndr3700-v3
872
873 define Device/netgear-wndr3400-vcna
874   DEVICE_TITLE := Netgear WNDR3400 vcna
875   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
876   $(Device/netgear)
877   NETGEAR_BOARD_ID := U12H155T01_NETGEAR
878   NETGEAR_REGION := 2
879 endef
880 #  TARGET_DEVICES += netgear-wndr3400-vcna
881
882 define Device/netgear-wndr4000
883   DEVICE_TITLE := Netgear WNDR4000
884   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
885   $(Device/netgear)
886   NETGEAR_BOARD_ID := U12H181T00_NETGEAR
887   NETGEAR_REGION := 2
888 endef
889 TARGET_DEVICES += netgear-wndr4000
890
891 define Device/netgear-wnr1000-v3
892   DEVICE_TITLE := Netgear WNR1000 v3
893   $(Device/netgear)
894   NETGEAR_BOARD_ID := U12H139T00_NETGEAR
895   NETGEAR_REGION := 2
896 endef
897 TARGET_DEVICES += netgear-wnr1000-v3
898
899 define Device/netgear-wnr2000v2
900   DEVICE_TITLE := Netgear WNR2000 v2
901   DEVICE_PACKAGES := kmod-b43
902   $(Device/netgear)
903   NETGEAR_BOARD_ID := U12H114T00_NETGEAR
904   NETGEAR_REGION := 2
905 endef
906 TARGET_DEVICES += netgear-wnr2000v2
907
908 define Device/netgear-wnr3500l-v1-north-america
909   DEVICE_TITLE := Netgear WNR3500L v1 North America
910   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
911   $(Device/netgear)
912   NETGEAR_BOARD_ID := U12H136T99_NETGEAR
913   NETGEAR_REGION := 2
914 endef
915 TARGET_DEVICES += netgear-wnr3500l-v1-north-america
916
917 define Device/netgear-wnr3500l-v1-other-regions
918   DEVICE_TITLE := Netgear WNR3500L v1 Other Regions
919   DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
920   $(Device/netgear)
921   NETGEAR_BOARD_ID := U12H136T99_NETGEAR
922   NETGEAR_REGION := 1
923 endef
924 TARGET_DEVICES += netgear-wnr3500l-v1-other-regions
925
926 define Device/netgear-wnr3500l-v2
927   DEVICE_TITLE := Netgear WNR3500L v2
928   DEVICE_PACKAGES := $(USB2_PACKAGES)
929   $(Device/netgear)
930   NETGEAR_BOARD_ID := U12H172T00_NETGEAR
931   NETGEAR_REGION := 1
932 endef
933 TARGET_DEVICES += netgear-wnr3500l-v2
934
935 define Device/netgear-wnr3500u
936   DEVICE_TITLE := Netgear WNR3500U
937   DEVICE_PACKAGES := $(USB2_PACKAGES)
938   $(Device/netgear)
939   NETGEAR_BOARD_ID := U12H136T00_NETGEAR
940   NETGEAR_REGION := 2
941 endef
942 #  TARGET_DEVICES += netgear-wnr3500u
943
944 define Device/netgear-wnr3500-v2
945   DEVICE_TITLE := Netgear WNR3500 v2
946   DEVICE_PACKAGES := kmod-b43
947   $(Device/netgear)
948   NETGEAR_BOARD_ID := U12H127T00_NETGEAR
949   NETGEAR_REGION := 2
950 endef
951 TARGET_DEVICES += netgear-wnr3500-v2
952
953 define Device/netgear-wnr3500-v2-vc
954   DEVICE_TITLE := Netgear WNR3500 v2 vc
955   DEVICE_PACKAGES := kmod-b43
956   $(Device/netgear)
957   NETGEAR_BOARD_ID := U12H127T70_NETGEAR
958   NETGEAR_REGION := 2
959 endef
960 #  TARGET_DEVICES += netgear-wnr3500-v2-vc
961
962 TARGET_DEVICES += standard standard-noloader-nodictionarylzma
963 endif
964
965 #################################################
966 # Shared BuildImage defines
967 #################################################
968
969 define Image/Build/Initramfs
970         $(STAGING_DIR_HOST)/bin/trx \
971                 -m 33554432 \
972                 -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx \
973                 -f $(KDIR)/loader.gz \
974                 -f $(KDIR)/vmlinux-initramfs.lzma
975         $(STAGING_DIR_HOST)/bin/trx \
976                 -m 33554432 \
977                 -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs-noloader-nodictionary.trx \
978                 -f $(KDIR)/vmlinux-initramfs-nodictionary.lzma
979 endef
980
981 # $(1): filesystem type.
982 define Image/Build
983         # TODO: Move it to Device/*
984 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
985         $(call Image/Build/Initramfs)
986 endif
987 endef
988
989 $(eval $(call BuildImage))