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