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