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