2352cb6b5e42eeb8dd7752bd31da90cda6ca79e2
[oweals/openwrt.git] / target / linux / lantiq / image / Makefile
1 #
2 # Copyright (C) 2010-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
8 # boards missing since devicetree update
9 #EASY50712 ARV3527P
10
11 KERNEL_LOADADDR = 0x80002000
12 KERNEL_ENTRY = 0x80002000
13
14 include $(TOPDIR)/rules.mk
15 include $(INCLUDE_DIR)/image.mk
16
17 ifeq ($(SUBTARGET),xway)
18   UBIFS_OPTS := -m 512 -e 15872 -c 1959
19 else
20   UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
21 endif
22
23 define Build/append-avm-fakeroot
24         cat ./eva.dummy.squashfs >> $@
25 endef
26
27 define Build/dgn3500-sercom-footer
28         $(STAGING_DIR_HOST)/bin/dgn3500sum $@ $(1) $(2)
29 endef
30
31 define Build/mkbrncmdline
32    mkbrncmdline -i $@ -o $@.new BRN-BOOT
33    mv $@.new $@
34 endef
35
36 define Build/mkbrnimg
37    mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(IMAGE_KERNEL) $(IMAGE_ROOTFS)
38 endef
39
40 define Build/fullimage
41         mkimage -A mips -O linux -C lzma -T filesystem -a 0x00  \
42                 -e 0x00 -n '$(VERSION_DIST) RootFS' \
43                 -d $(IMAGE_ROOTFS) $(IMAGE_ROOTFS).new
44
45         cat $(IMAGE_KERNEL) $(IMAGE_ROOTFS).new > $@.tmp
46
47         mkimage -A mips -O linux -T multi -a 0x00 -C none \
48                 -e 0x00 -n 'OpenWrt fullimage' \
49                 -d $@.tmp $@
50
51         rm $(IMAGE_ROOTFS).new
52         rm $@.tmp
53 endef
54
55 # Shared device definition: applies to every defined device
56 define Device/Default
57   PROFILES = Default
58   KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
59   KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
60   KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
61   KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
62   FILESYSTEMS := squashfs
63   IMAGE_SIZE :=
64   SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
65   IMAGES := sysupgrade.bin
66   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
67 endef
68 DEVICE_VARS += IMAGE_SIZE
69
70 define Device/NAND/xway
71   BLOCKSIZE := 16k
72   PAGESIZE := 512
73   SUBPAGESIZE := 256
74   FILESYSTEMS += ubifs
75 endef
76
77 define Device/NAND/xrx200
78   BLOCKSIZE := 128k
79   PAGESIZE := 2048
80   SUBPAGESIZE := 512
81   FILESYSTEMS += ubifs
82 endef
83
84 define Device/NAND
85   $(Device/NAND/$(SUBTARGET))
86   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
87 endef
88
89 define Device/lantiqBrnImage
90   KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
91   IMAGES := factory.bin
92   IMAGE/factory.bin := mkbrnimg | check-size $$$$(IMAGE_SIZE)
93 endef
94 DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY
95
96 define Device/lantiqFullImage
97   KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-offset 4 0
98   IMAGES := sysupgrade.bin fullimage.bin
99   IMAGE/fullimage.bin := fullimage | check-size $$$$(IMAGE_SIZE)
100 endef
101
102 define Device/AVM
103   KERNEL := kernel-bin | append-dtb | lzma | eva-image
104   KERNEL_INITRAMFS := $$(KERNEL)
105   IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-avm-fakeroot | \
106         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
107 endef
108
109 ifeq ($(SUBTARGET),ase)
110
111 define Device/allnet_all0333cj
112   IMAGE_SIZE := 3700k
113   DEVICE_DTS := ALL0333CJ
114   DEVICE_TITLE := Allnet ALL0333CJ
115   DEVICE_PACKAGES := kmod-ltq-adsl-ase kmod-ltq-adsl-ase-mei \
116         kmod-ltq-adsl-ase-fw-b kmod-ltq-atm-ase \
117         ltq-adsl-app ppp-mod-pppoe
118 endef
119 TARGET_DEVICES += allnet_all0333cj
120
121 define Device/netgear_dgn1000b
122   IMAGE_SIZE := 6000k
123   DEVICE_DTS := DGN1000B
124   DEVICE_TITLE := Netgear DGN1000B
125   DEVICE_PACKAGES := kmod-ltq-adsl-ase kmod-ltq-adsl-ase-mei \
126         kmod-ltq-adsl-ase-fw-b kmod-ltq-atm-ase \
127         ltq-adsl-app ppp-mod-pppoe
128   SUPPORTED_DEVICES += DGN1000B
129 endef
130 TARGET_DEVICES += netgear_dgn1000b
131
132 endif
133
134 ifeq ($(SUBTARGET),xway_legacy)
135
136 define Device/arcadyan_arv4520pw
137   IMAGE_SIZE := 3648k
138   DEVICE_DTS := ARV4520PW
139   DEVICE_TITLE := Easybox 800, WAV-281 - ARV4520PW
140   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
141         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
142         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
143         ltq-adsl-app ppp-mod-pppoa \
144         kmod-rt61-pci wpad-mini
145   SUPPORTED_DEVICES += ARV4520PW
146 endef
147 TARGET_DEVICES += arcadyan_arv4520pw
148
149 define Device/arcadyan_arv4525pw
150   IMAGE_SIZE := 3776k
151   DEVICE_DTS := ARV4525PW
152   DEVICE_TITLE := Speedport W502V Typ A - ARV4525PW
153   DEVICE_PACKAGES := kmod-ath5k wpad-mini \
154         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
155         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
156         ltq-adsl-app ppp-mod-pppoa -swconfig
157   SUPPORTED_DEVICES += ARV4525PW
158 endef
159 TARGET_DEVICES += arcadyan_arv4525pw
160
161 define Device/arcadyan_arv452cqw
162   IMAGE_SIZE := 3776k
163   DEVICE_DTS := ARV452CQW
164   DEVICE_TITLE := Easybox 801 - ARV452CQW
165   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
166         kmod-ath5k wpad-mini \
167         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
168         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
169         ltq-adsl-app ppp-mod-pppoa
170   SUPPORTED_DEVICES += ARV452CQW
171 endef
172 TARGET_DEVICES += arcadyan_arv452cqw
173
174 define Device/arcadyan_arv4518pwr01
175   IMAGE_SIZE := 3776k
176   DEVICE_DTS := ARV4518PWR01
177   DEVICE_TITLE := ARV4518PWR01
178   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
179         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
180         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
181         ltq-adsl-app ppp-mod-pppoa \
182         kmod-ath5k wpad-mini
183   SUPPORTED_DEVICES += ARV4518PWR01
184 endef
185 TARGET_DEVICES += arcadyan_arv4518pwr01
186
187 define Device/arcadyan_arv4518pwr01a
188   IMAGE_SIZE := 3776k
189   DEVICE_DTS := ARV4518PWR01A
190   DEVICE_TITLE := ARV4518PWR01A
191   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
192         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
193         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
194         ltq-adsl-app ppp-mod-pppoa \
195         kmod-ath5k wpad-basic
196   SUPPORTED_DEVICES += ARV4518PWR01A
197 endef
198 TARGET_DEVICES += arcadyan_arv4518pwr01a
199
200 endif
201
202 ifeq ($(SUBTARGET),xway)
203
204 # Danube
205
206 define Device/bt_homehub-v2b
207   $(Device/NAND)
208   BOARD_NAME := BTHOMEHUBV2B
209   DEVICE_DTS := BTHOMEHUBV2B
210   DEVICE_TITLE := BT Home Hub 2B
211   DEVICE_PACKAGES := kmod-usb-dwc2 \
212         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
213         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
214         kmod-ltq-deu-danube \
215         ltq-adsl-app ppp-mod-pppoa \
216         kmod-ath9k kmod-owl-loader wpad-basic
217   SUPPORTED_DEVICES += BTHOMEHUBV2B
218 endef
219 TARGET_DEVICES += bt_homehub-v2b
220
221 define Device/lantiq_easy50712
222   DEVICE_DTS := EASY50712
223   IMAGE_SIZE := 3776k
224   DEVICE_TITLE := Lantiq Danube - EASY50712
225 endef
226 TARGET_DEVICES += lantiq_easy50712
227
228 define Device/audiocodes_mp-252
229   IMAGE_SIZE := 14848k
230   DEVICE_DTS := ACMP252
231   DEVICE_TITLE := AudioCodes MediaPack MP-252
232   DEVICE_PACKAGES :=  kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
233         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
234         kmod-ltq-tapi kmod-ltq-vmmc \
235         kmod-usb-ledtrig-usbport kmod-usb-dwc2 \
236         kmod-rt2800-pci \
237         ltq-adsl-app ppp-mod-pppoa \
238         wpad-basic
239   SUPPORTED_DEVICES += ACMP252
240 endef
241 TARGET_DEVICES += audiocodes_mp-252
242
243 define Device/arcadyan_arv4510pw
244   IMAGE_SIZE := 15616k
245   DEVICE_DTS := ARV4510PW
246   DEVICE_TITLE := Wippies, Elisa - ARV4510PW
247   DEVICE_PACKAGES := kmod-usb-ledtrig-usbport kmod-usb2-pci kmod-usb-uhci \
248         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
249         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
250         ltq-adsl-app ppp-mod-pppoa \
251         kmod-ltq-tapi kmod-ltq-vmmc \
252         kmod-rt2800-pci kmod-ath5k wpad-basic
253   SUPPORTED_DEVICES += ARV4510PW
254 endef
255 TARGET_DEVICES += arcadyan_arv4510pw
256
257 define Device/arcadyan_arv7525pw
258   IMAGE_SIZE := 3776k
259   DEVICE_DTS := ARV4510PW
260   DEVICE_TITLE := Speedport W303V Typ A - ARV7525PW
261   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic \
262         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
263         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
264         ltq-adsl-app ppp-mod-pppoa -swconfig
265   SUPPORTED_DEVICES += ARV4510PW
266 endef
267 TARGET_DEVICES += arcadyan_arv7525pw
268
269 define Device/arcadyan_arv4519pw
270   IMAGE_SIZE := 3776k
271   DEVICE_DTS := ARV4519PW
272   DEVICE_TITLE := Vodafone, Pirelli - ARV4519PW
273   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
274         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
275         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
276         ltq-adsl-app ppp-mod-pppoa
277   SUPPORTED_DEVICES += ARV4519PW
278 endef
279 TARGET_DEVICES += arcadyan_arv4519pw
280
281 define Device/arcadyan_arv7506pw11
282   IMAGE_SIZE := 7808k
283   DEVICE_DTS := ARV7506PW11
284   DEVICE_TITLE := Alice/O2 IAD 4421 - ARV7506PW11
285   DEVICE_PACKAGES := kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
286         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
287         ltq-adsl-app ppp-mod-pppoa \
288         kmod-rt2800-pci wpad-basic
289   SUPPORTED_DEVICES += ARV7506PW11
290 endef
291 TARGET_DEVICES += arcadyan_arv7506pw11
292
293 define Device/arcadyan_arv7510pw22
294   IMAGE_SIZE := 31232k
295   DEVICE_DTS := ARV7510PW22
296   DEVICE_TITLE := Astoria - ARV7510PW22
297   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
298         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
299         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
300         ltq-adsl-app ppp-mod-pppoa \
301         kmod-ltq-tapi kmod-ltq-vmmc \
302         kmod-rt2800-pci wpad-basic \
303         kmod-usb-uhci kmod-usb2 kmod-usb2-pci
304   SUPPORTED_DEVICES += ARV7510PW22
305 endef
306 TARGET_DEVICES += arcadyan_arv7510pw22
307
308 define Device/arcadyan_arv7518pw
309   IMAGE_SIZE := 7872k
310   DEVICE_DTS := ARV7518PW
311   DEVICE_TITLE := Astoria - ARV7518PW
312   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
313         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
314         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
315         ltq-adsl-app ppp-mod-pppoa \
316         kmod-ath9k kmod-owl-loader wpad-basic
317   SUPPORTED_DEVICES += ARV7518PW
318 endef
319 TARGET_DEVICES += arcadyan_arv7518pw
320
321 define Device/arcadyan_arv7519pw
322   IMAGE_SIZE := 15488k
323   DEVICE_DTS := ARV7519PW
324   DEVICE_TITLE := Astoria - ARV7519PW
325   DEVICE_PACKAGES := kmod-usb-dwc2 \
326         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
327         kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
328         ltq-adsl-app ppp-mod-pppoa \
329         kmod-rt2800-pci wpad-basic
330   SUPPORTED_DEVICES += ARV7519PW
331 endef
332 TARGET_DEVICES += arcadyan_arv7519pw
333
334 define Device/arcadyan_arv752dpw
335   IMAGE_SIZE := 7872k
336   DEVICE_DTS := ARV752DPW
337   DEVICE_TITLE := Easybox 802 - ARV752DPW
338   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
339         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
340         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
341         ltq-adsl-app ppp-mod-pppoa \
342         kmod-ltq-tapi kmod-ltq-vmmc \
343         kmod-rt2800-pci wpad-basic
344   SUPPORTED_DEVICES += ARV752DPW
345 endef
346 TARGET_DEVICES += arcadyan_arv752dpw
347
348 define Device/arcadyan_arv752dpw22
349   IMAGE_SIZE := 7616k
350   DEVICE_DTS := ARV752DPW22
351   DEVICE_TITLE := Easybox 803 - ARV752DPW22
352   DEVICE_PACKAGES := kmod-usb2-pci kmod-usb-uhci kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
353         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
354         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
355         ltq-adsl-app ppp-mod-pppoa \
356         kmod-ltq-tapi kmod-ltq-vmmc \
357         kmod-rt2800-pci wpad-basic
358   SUPPORTED_DEVICES += ARV752DPW22
359 endef
360 TARGET_DEVICES += arcadyan_arv752dpw22
361
362 define Device/arcadyan_arv8539pw22
363   IMAGE_SIZE := 7616k
364   DEVICE_DTS := ARV8539PW22
365   DEVICE_TITLE := Speedport W504V Typ A - ARV8539PW22
366   DEVICE_PACKAGES := kmod-usb-dwc2 \
367         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
368         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
369         ltq-adsl-app ppp-mod-pppoa \
370         kmod-ath9k kmod-owl-loader wpad-basic
371   SUPPORTED_DEVICES += ARV8539PW22
372 endef
373 TARGET_DEVICES += arcadyan_arv8539pw22
374
375 define Device/siemens_gigaset-sx76x
376   IMAGE_SIZE := 7680k
377   DEVICE_DTS := GIGASX76X
378   DEVICE_TITLE := Gigaset sx76x
379   DEVICE_PACKAGES := kmod-usb-dwc2 \
380         kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
381         kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
382         ltq-adsl-app ppp-mod-pppoe \
383         kmod-ath5k wpad-basic
384   SUPPORTED_DEVICES += GIGASX76X
385 endef
386 TARGET_DEVICES += siemens_gigaset-sx76x
387
388
389 # AR9
390
391 define Device/bt_homehub-v3a
392   $(Device/NAND)
393   BOARD_NAME := BTHOMEHUBV3A
394   DEVICE_DTS := BTHOMEHUBV3A
395   DEVICE_TITLE := BT Home Hub 3A
396   DEVICE_PACKAGES := kmod-usb-dwc2 \
397         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
398         kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
399         kmod-ltq-deu-ar9 \
400         ltq-adsl-app ppp-mod-pppoa \
401         kmod-ath9k kmod-owl-loader wpad-basic \
402         uboot-envtools
403   SUPPORTED_DEVICES += BTHOMEHUBV3A
404 endef
405 TARGET_DEVICES += bt_homehub-v3a
406
407 DGN3500_KERNEL_OFFSET_HEX=0x50000
408 DGN3500_KERNEL_OFFSET_DEC=327680
409 define Device/netgear_dgn3500
410   DEVICE_DTS := DGN3500
411   IMAGE_SIZE := 16000k
412   IMAGES := \
413         sysupgrade-na.bin sysupgrade.bin \
414         factory-na.img factory.img
415   IMAGE/sysupgrade-na.bin := \
416         append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "NA" | \
417         pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
418   IMAGE/sysupgrade.bin := \
419         append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "WW" | \
420         pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
421   IMAGE/factory-na.img := \
422         pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
423         dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "NA" | pad-rootfs | \
424         check-size 16320k | pad-to 16384k
425   IMAGE/factory.img := \
426         pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
427         dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "WW" | pad-rootfs | \
428         check-size 16320k | pad-to 16384k
429   DEVICE_TITLE := Netgear DGN3500
430   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
431         kmod-ath9k kmod-owl-loader wpad-basic \
432         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
433         kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
434         ltq-adsl-app ppp-mod-pppoa \
435         kmod-ltq-deu-ar9
436   SUPPORTED_DEVICES += DGN3500
437 endef
438 TARGET_DEVICES += netgear_dgn3500
439
440 define Device/netgear_dgn3500b
441   DEVICE_DTS := DGN3500B
442   IMAGE_SIZE := 16000k
443   IMAGES += factory.img
444   IMAGE/sysupgrade.bin := \
445         append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "DE" | \
446         pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
447   IMAGE/factory.img := \
448         pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
449         dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "DE" | pad-rootfs | \
450         check-size 16320k | pad-to 16384k
451   DEVICE_TITLE := Netgear DGN3500B
452   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
453         kmod-ath9k kmod-owl-loader wpad-basic \
454         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
455         kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
456         ltq-adsl-app ppp-mod-pppoa \
457         kmod-ltq-deu-ar9
458   SUPPORTED_DEVICES += DGN3500B
459 endef
460 TARGET_DEVICES += netgear_dgn3500b
461
462 define Device/buffalo_wbmr-hp-g300h-a
463   IMAGE_SIZE := 31488k
464   DEVICE_DTS := WBMR
465   DEVICE_TITLE := Buffalo WBMR-HP-G300H (A) - WBMR
466   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
467         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
468         kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
469         ltq-adsl-app ppp-mod-pppoa \
470         kmod-ath9k kmod-owl-loader wpad-basic
471   SUPPORTED_DEVICES := WBMR buffalo,wbmr-hp-g300h
472 endef
473 TARGET_DEVICES += buffalo_wbmr-hp-g300h-a
474
475 define Device/buffalo_wbmr-hp-g300h-b
476   IMAGE_SIZE := 31488k
477   DEVICE_DTS := WBMR
478   DEVICE_TITLE := Buffalo WBMR-HP-G300H (B) - WBMR
479   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
480         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
481         kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
482         ltq-adsl-app ppp-mod-pppoa \
483         kmod-ath9k kmod-owl-loader wpad-basic
484   SUPPORTED_DEVICES := WBMR buffalo,wbmr-hp-g300h
485 endef
486 TARGET_DEVICES += buffalo_wbmr-hp-g300h-b
487
488 define Device/avm_fritz7312
489   $(Device/AVM)
490   DEVICE_DTS := FRITZ7312
491   IMAGE_SIZE := 15744k
492   DEVICE_TITLE := AVM FRITZ!Box 7312
493   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic \
494         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
495         kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
496         ltq-adsl-app ppp-mod-pppoa \
497         kmod-ltq-deu-ar9 -swconfig
498 endef
499 TARGET_DEVICES += avm_fritz7312
500
501 define Device/avm_fritz7320
502   $(Device/AVM)
503   DEVICE_DTS := FRITZ7320
504   IMAGE_SIZE := 15744k
505   DEVICE_TITLE := AVM FRITZ!Box 7320
506   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic \
507         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
508         kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
509         ltq-adsl-app ppp-mod-pppoa \
510         kmod-ltq-deu-ar9 kmod-usb-dwc2 -swconfig
511   SUPPORTED_DEVICES += FRITZ7320
512 endef
513 TARGET_DEVICES += avm_fritz7320
514
515 define Device/zte_h201l
516   IMAGE_SIZE := 7808k
517   DEVICE_DTS := H201L
518   DEVICE_TITLE := ZTE H201L - H201L
519   DEVICE_PACKAGES := kmod-ath9k-htc wpad-basic \
520         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
521         kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
522         ltq-adsl-app ppp-mod-pppoe \
523         kmod-ltq-deu-ar9 kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
524         kmod-ltq-tapi kmod-ltq-vmmc
525   SUPPORTED_DEVICES += H201L
526 endef
527 TARGET_DEVICES += zte_h201l
528
529 define Device/zyxel_p-2601hn
530   IMAGE_SIZE := 15616k
531   DEVICE_DTS := P2601HNFX
532   DEVICE_TITLE := ZyXEL P-2601HN-Fx
533   DEVICE_PACKAGES := kmod-rt2800-usb wpad-basic \
534         kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
535         kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
536         ltq-adsl-app ppp-mod-pppoe \
537         kmod-ltq-deu-ar9 kmod-usb-dwc2
538   SUPPORTED_DEVICES += P2601HNFX
539 endef
540 TARGET_DEVICES += zyxel_p-2601hn
541
542
543 endif
544
545
546 ifeq ($(SUBTARGET),xrx200)
547
548 # VR9
549
550 define Device/zyxel_p-2812hnu-f1
551   $(Device/NAND)
552   BOARD_NAME := P2812HNUF1
553   DEVICE_DTS := P2812HNUF1
554   DEVICE_TITLE := ZyXEL P-2812HNU-F1
555   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2 kmod-usb-ledtrig-usbport
556   KERNEL_SIZE := 3072k
557   SUPPORTED_DEVICES += P2812HNUF1
558 endef
559 TARGET_DEVICES += zyxel_p-2812hnu-f1
560
561 define Device/zyxel_p-2812hnu-f3
562   $(Device/NAND)
563   BOARD_NAME := P2812HNUF3
564   DEVICE_DTS := P2812HNUF3
565   DEVICE_TITLE := ZyXEL P-2812HNU-F3
566   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2
567   SUPPORTED_DEVICES += P2812HNUF3
568 endef
569 TARGET_DEVICES += zyxel_p-2812hnu-f3
570
571 define Device/arcadyan_arv7519rw22
572   IMAGE_SIZE := 31232k
573   DEVICE_DTS := ARV7519RW22
574   DEVICE_TITLE := Livebox Astoria ARV7519RW22
575   DEVICE_PACKAGES := kmod-usb-dwc2
576   SUPPORTED_DEVICES += ARV7519RW22
577 endef
578 TARGET_DEVICES += arcadyan_arv7519rw22
579
580 define Device/alphanetworks_asl56026
581   DEVICE_DTS := ASL56026
582   IMAGE_SIZE := 7488k
583   DEVICE_TITLE := BT OpenReach - ECI VDSL Modem V-2FUb/I
584 endef
585 TARGET_DEVICES += alphanetworks_asl56026
586
587 define Device/bt_homehub-v5a
588   $(Device/NAND)
589   BOARD_NAME := BTHOMEHUBV5A
590   DEVICE_DTS := BTHOMEHUBV5A
591   DEVICE_TITLE := BT Home Hub 5A
592   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader \
593         kmod-ath10k-ct ath10k-firmware-qca988x-ct wpad-basic kmod-usb-dwc2
594   SUPPORTED_DEVICES += BTHOMEHUBV5A
595 endef
596 TARGET_DEVICES += bt_homehub-v5a
597
598 define Device/netgear_dm200
599   DEVICE_DTS := DM200
600   IMAGES := sysupgrade.bin factory.img
601   IMAGE/sysupgrade.bin := append-kernel | \
602         pad-offset 64k 64 | append-uImage-fakehdr filesystem | \
603         pad-offset 64k 64 | append-uImage-fakehdr filesystem | \
604         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
605   IMAGE/factory.img := $$(IMAGE/sysupgrade.bin) | netgear-dni
606   IMAGE_SIZE := 7872k
607   DEVICE_TITLE := Netgear DM200
608   NETGEAR_BOARD_ID := DM200
609   NETGEAR_HW_ID := 29765233+8+0+64+0+0
610 endef
611 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
612 TARGET_DEVICES += netgear_dm200
613
614 define Device/lantiq_easy80920-nand
615   $(Device/lantiqFullImage)
616   DEVICE_DTS := EASY80920NAND
617   IMAGE_SIZE := 64512k
618   DEVICE_TITLE := Lantiq VR9 - EASY80920NAND
619   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-usb-dwc2 kmod-usb-ledtrig-usbport
620 endef
621 TARGET_DEVICES += lantiq_easy80920-nand
622
623 define Device/lantiq_easy80920-nor
624   DEVICE_DTS := EASY80920NOR
625   IMAGE_SIZE := 7936k
626   DEVICE_TITLE := Lantiq VR9 - EASY80920NOR
627   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-usb-dwc2 kmod-usb-ledtrig-usbport
628 endef
629 TARGET_DEVICES += lantiq_easy80920-nor
630
631 define Device/avm_fritz3370
632   $(Device/AVM)
633   $(Device/NAND)
634   DEVICE_DTS := FRITZ3370
635   DEVICE_TITLE := AVM FRITZ!Box 3370 Rev. 2
636   KERNEL_SIZE := 4096k
637   UBINIZE_OPTS := -E 5
638   IMAGES += eva-kernel.bin eva-filesystem.bin
639   IMAGE/eva-kernel.bin := append-kernel
640   IMAGE/eva-filesystem.bin := append-ubi
641   DEVICE_PACKAGES := kmod-ath9k wpad-basic kmod-usb-dwc2 fritz-tffs
642 endef
643
644 define Device/avm_fritz3370-rev2-hynix
645   $(Device/avm_fritz3370)
646   DEVICE_DTS := FRITZ3370-REV2-HYNIX
647   DEVICE_TITLE := AVM FRITZ!Box 3370 Rev. 2 (Hynix NAND)
648 endef
649 TARGET_DEVICES += avm_fritz3370-rev2-hynix
650
651 define Device/avm_fritz3370-rev2-micron
652   $(Device/avm_fritz3370)
653   DEVICE_DTS := FRITZ3370-REV2-MICRON
654   DEVICE_TITLE := AVM FRITZ!Box 3370 Rev. 2 (Micron NAND)
655 endef
656 TARGET_DEVICES += avm_fritz3370-rev2-micron
657
658 define Device/avm_fritz7360sl
659   $(Device/AVM)
660   IMAGE_SIZE := 15744k
661   DEVICE_DTS := FRITZ7360SL
662   DEVICE_TITLE := AVM FRITZ!Box 7360 SL
663   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-usb-dwc2
664   SUPPORTED_DEVICES += FRITZ7360SL
665 endef
666 TARGET_DEVICES += avm_fritz7360sl
667
668 define Device/avm_fritz7412
669   $(Device/AVM)
670   $(Device/NAND)
671   BOARD_NAME := FRITZ7412
672   DEVICE_DTS := FRITZ7412
673   KERNEL_SIZE := 4096k
674   IMAGE_SIZE := 49152k
675   DEVICE_TITLE := AVM FRITZ!Box 7412
676   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-ltq-tapi kmod-ltq-vmmc fritz-tffs-nand fritz-caldata
677 endef
678 TARGET_DEVICES += avm_fritz7412
679
680 define Device/avm_fritz7362sl
681   $(Device/AVM)
682   $(Device/NAND)
683   KERNEL_SIZE := 4096k
684   IMAGE_SIZE := 49152k
685   DEVICE_DTS := FRITZ7362SL
686   DEVICE_TITLE := AVM FRITZ!Box 7362 SL
687   DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-usb-dwc2 fritz-tffs
688 endef
689 TARGET_DEVICES += avm_fritz7362sl
690
691 define Device/arcadyan_vg3503j
692   IMAGE_SIZE := 8000k
693   DEVICE_DTS := VG3503J
694   DEVICE_TITLE := BT OpenReach - ECI VDSL Modem V-2FUb/R
695   SUPPORTED_DEVICES += VG3503J
696 endef
697 TARGET_DEVICES += arcadyan_vg3503j
698
699 include tp-link.mk
700
701 define Device/buffalo_wbmr-300hpd
702   IMAGE_SIZE := 15616k
703   DEVICE_DTS := WBMR300
704   DEVICE_TITLE := Buffalo WBMR-300HPD
705   DEVICE_PACKAGES := kmod-mt7603 wpad-basic kmod-usb-dwc2
706   SUPPORTED_DEVICES += WBMR300
707 endef
708 TARGET_DEVICES += buffalo_wbmr-300hpd
709
710 define Device/arcadyan_vgv7510kw22-nor
711   IMAGE_SIZE := 15232k
712   DEVICE_DTS := VGV7510KW22NOR
713   DEVICE_TITLE := o2 Box 6431 / Arcadyan VGV7510KW22 (NOR)
714   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2 kmod-ltq-tapi kmod-ltq-vmmc
715   SUPPORTED_DEVICES += VGV7510KW22NOR
716 endef
717 TARGET_DEVICES += arcadyan_vgv7510kw22-nor
718
719 define Device/arcadyan_vgv7510kw22-brn
720   $(Device/lantiqBrnImage)
721   IMAGE_SIZE := 7168k
722   DEVICE_DTS := VGV7510KW22BRN
723   SIGNATURE := BRNDA6431
724   MAGIC := 0x12345678
725   CRC32_POLY := 0x04c11db7
726   DEVICE_TITLE := o2 Box 6431 / Arcadyan VGV7510KW22 (BRN)
727   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2 kmod-ltq-tapi kmod-ltq-vmmc
728   SUPPORTED_DEVICES += VGV7510KW22BRN
729 endef
730 TARGET_DEVICES += arcadyan_vgv7510kw22-brn
731
732 define Device/arcadyan_vgv7519-nor
733   IMAGE_SIZE := 15360k
734   DEVICE_DTS := VGV7519NOR
735   DEVICE_TITLE := Experiabox 8 VGV7519
736   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2 kmod-ltq-tapi kmod-ltq-vmmc
737   SUPPORTED_DEVICES += VGV7519NOR
738 endef
739 TARGET_DEVICES += arcadyan_vgv7519-nor
740
741 define Device/arcadyan_vgv7519-brn
742   $(Device/lantiqBrnImage)
743   IMAGE_SIZE := 7168k
744   DEVICE_DTS := VGV7519BRN
745   SIGNATURE := 5D00008000
746   MAGIC := 0x12345678
747   CRC32_POLY := 0x2083b8ed
748   DEVICE_TITLE := Experiabox 8 VGV7519 (BRN)
749   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2 kmod-ltq-tapi kmod-ltq-vmmc
750   SUPPORTED_DEVICES += VGV7519BRN
751 endef
752 TARGET_DEVICES += arcadyan_vgv7519-brn
753
754 endif
755
756
757 ifeq ($(SUBTARGET),falcon)
758
759 define Device/lantiq_easy98000-nor
760   IMAGE_SIZE := 3904k
761   DEVICE_DTS := EASY98000NOR
762   DEVICE_TITLE := EASY98000 - Lantiq Falcon Eval Board NOR
763   DEVICE_PACKAGES := kmod-dm9000 kmod-i2c-lantiq kmod-eeprom-at24
764 endef
765 TARGET_DEVICES += lantiq_easy98000-nor
766
767 define Device/lantiq_easy98000-nand
768   IMAGE_SIZE := 3904k
769   DEVICE_DTS := EASY98000NAND
770   DEVICE_TITLE := EASY98000 - Lantiq Falcon Eval Board NAND
771   DEVICE_PACKAGES := kmod-dm9000 kmod-i2c-lantiq kmod-eeprom-at24
772 endef
773 TARGET_DEVICES += lantiq_easy98000-nand
774
775 define Device/lantiq_easy98000-sflash
776   IMAGE_SIZE := 7424k
777   DEVICE_DTS := EASY98000SFLASH
778   DEVICE_TITLE := EASY98000 - Lantiq Falcon Eval Board SFLASH
779   DEVICE_PACKAGES := kmod-dm9000 kmod-i2c-lantiq kmod-eeprom-at24
780 endef
781 TARGET_DEVICES += lantiq_easy98000-sflash
782
783 define Device/lantiq_falcon-mdu
784   IMAGE_SIZE := 7424k
785   DEVICE_DTS := FALCON-MDU
786   DEVICE_TITLE := MDU - Lantiq Falcon / VINAXdp MDU Board
787 endef
788 TARGET_DEVICES += lantiq_falcon-mdu
789
790 define Device/lantiq_easy88388
791   IMAGE_SIZE := 7424k
792   DEVICE_DTS := EASY88388
793   DEVICE_TITLE := EASY88388 - Lantiq Falcon FTTDP8 Reference Board
794 endef
795 TARGET_DEVICES += lantiq_easy88388
796
797 define Device/lantiq_easy88444
798   IMAGE_SIZE := 7424k
799   DEVICE_DTS := EASY88444
800   DEVICE_TITLE := EASY88444 - Lantiq Falcon FTTdp G.FAST Reference Board
801 endef
802 TARGET_DEVICES += lantiq_easy88444
803
804 define Device/lantiq_falcon-sfp
805   IMAGE_SIZE := 7424k
806   DEVICE_DTS := FALCON-SFP
807   DEVICE_TITLE := SFP - Lantiq Falcon SFP Stick
808 endef
809 TARGET_DEVICES += lantiq_falcon-sfp
810
811 define Device/lantiq_easy98035synce
812   IMAGE_SIZE := 7424k
813   DEVICE_DTS := EASY98035SYNCE
814   DEVICE_TITLE := EASY98035SYNCE - Lantiq Falcon SFP Stick with Synchronous Ethernet
815 endef
816 TARGET_DEVICES += lantiq_easy98035synce
817
818 define Device/lantiq_easy98035synce1588
819   IMAGE_SIZE := 7424k
820   DEVICE_DTS := EASY98035SYNCE1588
821   DEVICE_TITLE := EASY98035SYNCE1588 - Lantiq Falcon SFP Stick with SyncE and IEEE1588
822 endef
823 TARGET_DEVICES += lantiq_easy98035synce1588
824
825 define Device/lantiq_easy98020
826   IMAGE_SIZE := 7424k
827   DEVICE_DTS := EASY98020
828   DEVICE_TITLE := EASY98020 - Lantiq Falcon SFU Reference Board
829 endef
830 TARGET_DEVICES += lantiq_easy98020
831
832 define Device/lantiq_easy98020-v18
833   IMAGE_SIZE := 7424k
834   DEVICE_DTS := EASY98020V18
835   DEVICE_TITLE := EASY98020V18 - Lantiq Falcon SFU Reference Board V1.8
836 endef
837 TARGET_DEVICES += lantiq_easy98020-v18
838
839 define Device/lantiq_easy98021
840   IMAGE_SIZE := 7424k
841   DEVICE_DTS := EASY98021
842   DEVICE_TITLE := EASY98021 - Lantiq Falcon HGU Reference Board
843 endef
844 TARGET_DEVICES += lantiq_easy98021
845
846 endif
847
848 $(eval $(call BuildImage))