2 # Copyright (C) 2010-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 # boards missing since devicetree update
11 KERNEL_LOADADDR = 0x80002000
12 KERNEL_ENTRY = 0x80002000
14 include $(TOPDIR)/rules.mk
15 include $(INCLUDE_DIR)/image.mk
17 ifeq ($(SUBTARGET),xway)
18 UBIFS_OPTS := -m 512 -e 15872 -c 1959
20 UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
23 define Build/eva-image
24 lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new
25 ( dd if=$@.new bs=64k conv=sync; cat ./eva.dummy.squashfs; ) > $@
28 define Build/dgn3500-sercom-footer
29 $(STAGING_DIR_HOST)/bin/dgn3500sum $@ $(1) $(2)
32 define Build/mkbrncmdline
33 mkbrncmdline -i $@ -o $@.new BRN-BOOT
38 mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(IMAGE_KERNEL) $(IMAGE_ROOTFS)
41 define Build/fullimage
42 mkimage -A mips -O linux -C lzma -T filesystem -a 0x00 \
43 -e 0x00 -n 'LEDE RootFS' \
44 -d $(IMAGE_ROOTFS) $(IMAGE_ROOTFS).new
46 cat $(IMAGE_KERNEL) $(IMAGE_ROOTFS).new > $@.tmp
48 mkimage -A mips -O linux -T multi -a 0x00 -C none \
49 -e 0x00 -n 'OpenWrt fullimage' \
52 rm $(IMAGE_ROOTFS).new
56 # Shared device definition: applies to every defined device
59 KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts)
60 KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
61 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
62 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
63 FILESYSTEMS := squashfs
65 DEVICE_DTS_DIR := ../dts
67 IMAGES := sysupgrade.bin
68 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
70 DEVICE_VARS += IMAGE_SIZE
72 define Device/NAND/xway
79 define Device/NAND/xrx200
87 $(Device/NAND/$(SUBTARGET))
88 IMAGE/sysupgrade.bin := sysupgrade-tar
91 define Device/lantiqBrnImage
92 KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
94 IMAGE/factory.bin := mkbrnimg | check-size $$$$(IMAGE_SIZE)
96 DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY
98 define Device/lantiqFullImage
99 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-offset 4 0
100 IMAGES := sysupgrade.bin fullimage.img
101 IMAGE/fullimage.img := fullimage | check-size $$$$(IMAGE_SIZE)
105 KERNEL := kernel-bin | append-dtb | lzma | eva-image
108 ifeq ($(SUBTARGET),xway_legacy)
110 define Device/ARV4520PW
112 DEVICE_TITLE := Easybox 800, WAV-281 - ARV4520PW
113 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
114 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
115 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
116 ltq-adsl-app ppp-mod-pppoa \
117 kmod-rt61-pci wpad-mini \
120 TARGET_DEVICES += ARV4520PW
122 define Device/ARV4525PW
124 DEVICE_TITLE := Speedport W502V Typ A - ARV4525PW
125 DEVICE_PACKAGES := kmod-ath5k wpad-mini \
126 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
127 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
128 ltq-adsl-app ppp-mod-pppoa
130 TARGET_DEVICES += ARV4525PW
132 define Device/ARV452CQW
134 DEVICE_TITLE := Easybox 801 - ARV452CQW
135 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
136 kmod-ath5k wpad-mini \
137 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
138 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
139 ltq-adsl-app ppp-mod-pppoa \
142 TARGET_DEVICES += ARV452CQW
144 define Device/ARV4518PWR01
146 DEVICE_TITLE := ARV4518PWR01
147 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
148 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
149 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
150 ltq-adsl-app ppp-mod-pppoa \
151 kmod-ath5k wpad-mini \
154 TARGET_DEVICES += ARV4518PWR01
156 define Device/ARV4518PWR01A
158 DEVICE_TITLE := ARV4518PWR01A
159 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
160 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
161 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
162 ltq-adsl-app ppp-mod-pppoa \
163 kmod-ath5k wpad-mini \
166 TARGET_DEVICES += ARV4518PWR01A
170 ifeq ($(SUBTARGET),xway)
174 define Device/BTHOMEHUBV2B
176 DEVICE_TITLE := BT Home Hub 2B
177 DEVICE_PACKAGES := kmod-ltq-hcd-danube \
178 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
179 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
180 kmod-ltq-deu-danube \
181 ltq-adsl-app ppp-mod-pppoa \
182 kmod-ath9k wpad-mini \
185 TARGET_DEVICES += BTHOMEHUBV2B
187 define Device/EASY50712
189 DEVICE_TITLE := Lantiq Danube - EASY50712
191 TARGET_DEVICES += EASY50712
193 define Device/ACMP252
195 DEVICE_TITLE := AudioCodes MediaPack MP-252
196 DEVICE_PACKAGES := kmod-rt2x00-pci wpad-mini \
197 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
198 kmod-ltq-adsl-danube-fw-a kmod-ltq-ptm-danube \
201 TARGET_DEVICES += ACMP252
203 define Device/ARV4510PW
205 DEVICE_TITLE := Wippies, Elisa - ARV4510PW
206 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport kmod-usb2-pci kmod-usb-uhci \
207 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
208 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
209 ltq-adsl-app ppp-mod-pppoa \
210 kmod-ltq-tapi kmod-ltq-vmmc \
211 kmod-rt2800-pci kmod-ath5k wpad-mini \
214 TARGET_DEVICES += ARV4510PW
216 define Device/ARV7525PW
218 DEVICE_TITLE := Speedport W303V Typ A - ARV7525PW
219 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini \
220 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
221 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
222 ltq-adsl-app ppp-mod-pppoa
224 TARGET_DEVICES += ARV7525PW
226 define Device/ARV4519PW
228 DEVICE_TITLE := Vodafone, Pirelli - ARV4519PW
229 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
230 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
231 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
232 ltq-adsl-app ppp-mod-pppoa \
235 TARGET_DEVICES += ARV4519PW
237 define Device/ARV7506PW11
239 DEVICE_TITLE := Alice/O2 IAD 4421 - ARV7506PW11
240 DEVICE_PACKAGES := kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
241 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
242 ltq-adsl-app ppp-mod-pppoa \
243 kmod-rt2800-pci wpad-mini \
246 TARGET_DEVICES += ARV7506PW11
248 define Device/ARV7510PW22
250 DEVICE_TITLE := Astoria - ARV7510PW22
251 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
252 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
253 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
254 ltq-adsl-app ppp-mod-pppoa \
255 kmod-ltq-tapi kmod-ltq-vmmc \
256 kmod-rt2800-pci wpad-mini \
257 kmod-usb-uhci kmod-usb2 kmod-usb2-pci \
260 TARGET_DEVICES += ARV7510PW22
262 define Device/ARV7518PW
264 DEVICE_TITLE := Astoria - ARV7518PW
265 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
266 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
267 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
268 ltq-adsl-app ppp-mod-pppoa \
269 kmod-ath9k wpad-mini \
272 TARGET_DEVICES += ARV7518PW
274 define Device/ARV7519PW
276 DEVICE_TITLE := Astoria - ARV7519PW
277 DEVICE_PACKAGES := kmod-ltq-hcd-danube \
278 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
279 kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
280 ltq-adsl-app ppp-mod-pppoa \
281 kmod-rt2800-pci wpad-mini \
284 TARGET_DEVICES += ARV7519PW
286 define Device/ARV752DPW
288 DEVICE_TITLE := Easybox 802 - ARV752DPW
289 DEVICE_PACKAGES := kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
290 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
291 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
292 ltq-adsl-app ppp-mod-pppoa \
293 kmod-ltq-tapi kmod-ltq-vmmc \
294 kmod-rt2800-pci wpad-mini \
297 TARGET_DEVICES += ARV752DPW
299 define Device/ARV752DPW22
301 DEVICE_TITLE := Easybox 803 - ARV752DPW22
302 DEVICE_PACKAGES := kmod-usb2-pci kmod-usb-uhci kmod-ltq-hcd-danube kmod-usb-ledtrig-usbport \
303 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
304 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
305 ltq-adsl-app ppp-mod-pppoa \
306 kmod-ltq-tapi kmod-ltq-vmmc \
307 kmod-rt2800-pci wpad-mini \
310 TARGET_DEVICES += ARV752DPW22
312 define Device/ARV8539PW22
314 DEVICE_TITLE := Speedport W504V Typ A - ARV8539PW22
315 DEVICE_PACKAGES := kmod-ltq-hcd-danube \
316 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
317 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
318 ltq-adsl-app ppp-mod-pppoa \
319 kmod-ath9k wpad-mini \
322 TARGET_DEVICES += ARV8539PW22
324 define Device/GIGASX76X
326 DEVICE_TITLE := Gigaset sx76x
327 DEVICE_PACKAGES := kmod-ltq-hcd-danube \
328 kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
329 kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
330 ltq-adsl-app ppp-mod-pppoe \
331 kmod-ath5k wpad-mini \
334 TARGET_DEVICES += GIGASX76X
339 define Device/BTHOMEHUBV3A
341 DEVICE_TITLE := BT Home Hub 3A
342 DEVICE_PACKAGES := kmod-usb-dwc2 \
343 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
344 kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
346 ltq-adsl-app ppp-mod-pppoa \
347 kmod-ath9k wpad-mini \
348 swconfig uboot-envtools
350 TARGET_DEVICES += BTHOMEHUBV3A
352 DGN3500_KERNEL_OFFSET_HEX=0x50000
353 DGN3500_KERNEL_OFFSET_DEC=327680
354 define Device/DGN3500
357 sysupgrade-NA.bin sysupgrade-WW.bin \
358 factory-NA.bin factory-WW.bin
359 IMAGE/sysupgrade-NA.bin := \
360 append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "NA" | \
361 pad-rootfs | check-size $$$$(IMAGE_SIZE)
362 IMAGE/sysupgrade-WW.bin := \
363 append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "WW" | \
364 pad-rootfs | check-size $$$$(IMAGE_SIZE)
365 IMAGE/factory-NA.bin := \
366 pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
367 dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "NA" | pad-rootfs | \
368 check-size 16320k | pad-to 16384k
369 IMAGE/factory-WW.bin := \
370 pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
371 dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "WW" | pad-rootfs | \
372 check-size 16320k | pad-to 16384k
373 DEVICE_TITLE := Netgear DGN3500
374 DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
375 kmod-ath9k wpad-mini \
376 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
377 kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
378 ltq-adsl-app ppp-mod-pppoa \
379 kmod-ltq-deu-ar9 swconfig
381 TARGET_DEVICES += DGN3500
383 define Device/DGN3500B
385 IMAGES += factory.bin
386 IMAGE/sysupgrade.bin := \
387 append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "DE" | \
388 pad-rootfs | check-size $$$$(IMAGE_SIZE)
389 IMAGE/factory.bin := \
390 pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
391 dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "DE" | pad-rootfs | \
392 check-size 16320k | pad-to 16384k
393 DEVICE_TITLE := Netgear DGN3500B
394 DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
395 kmod-ath9k wpad-mini \
396 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
397 kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
398 ltq-adsl-app ppp-mod-pppoa \
399 kmod-ltq-deu-ar9 swconfig
401 TARGET_DEVICES += DGN3500B
406 DEVICE_TITLE := Buffalo WBMR-HP-G300H (A) - WBMR
407 DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
408 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
409 kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
410 ltq-adsl-app ppp-mod-pppoa \
411 kmod-ath9k wpad-mini swconfig
413 TARGET_DEVICES += WBMRA
418 DEVICE_TITLE := Buffalo WBMR-HP-G300H (B) - WBMR
419 DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
420 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
421 kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
422 ltq-adsl-app ppp-mod-pppoa \
423 kmod-ath9k wpad-mini swconfig
425 TARGET_DEVICES += WBMRB
427 define Device/FRITZ7320
430 DEVICE_TITLE := 1&1 HomeServer - FRITZ7320
431 DEVICE_PACKAGES := kmod-ath9k wpad-mini \
432 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
433 kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
434 ltq-adsl-app ppp-mod-pppoa \
435 kmod-ltq-deu-ar9 kmod-usb-dwc2 \
438 TARGET_DEVICES += FRITZ7320
442 DEVICE_TITLE := ZTE H201L - H201L
443 DEVICE_PACKAGES := kmod-ath9k-htc wpad-mini \
444 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
445 kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
446 ltq-adsl-app ppp-mod-pppoe \
447 kmod-ltq-deu-ar9 kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
448 kmod-ltq-tapi kmod-ltq-vmmc \
451 TARGET_DEVICES += H201L
453 define Device/P2601HNFX
455 DEVICE_TITLE := ZyXEL P-2601HN-Fx
456 DEVICE_PACKAGES := kmod-rt2800-usb wpad-mini \
457 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
458 kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
459 ltq-adsl-app ppp-mod-pppoe \
460 kmod-ltq-deu-ar9 kmod-usb-dwc2 \
463 TARGET_DEVICES += P2601HNFX
469 ifeq ($(SUBTARGET),xrx200)
473 define Device/P2812HNUF1
475 DEVICE_TITLE := ZyXEL P-2812HNU-F1
476 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2 kmod-usb-ledtrig-usbport
478 TARGET_DEVICES += P2812HNUF1
480 define Device/P2812HNUF3
482 DEVICE_TITLE := ZyXEL P-2812HNU-F3
483 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
485 TARGET_DEVICES += P2812HNUF3
487 define Device/ARV7519RW22
489 DEVICE_TITLE := Livebox Astoria ARV7519RW22
490 DEVICE_PACKAGES := kmod-usb-dwc2
492 TARGET_DEVICES += ARV7519RW22
494 define Device/BTHOMEHUBV5A
496 DEVICE_TITLE := BT Home Hub 5A
497 DEVICE_PACKAGES := kmod-ath9k kmod-ath10k ath10k-firmware-qca988x wpad-mini kmod-usb-dwc2
499 TARGET_DEVICES += BTHOMEHUBV5A
501 define Device/EASY80920NAND
502 $(Device/lantiqFullImage)
504 DEVICE_TITLE := Lantiq VR9 - EASY80920NAND
505 DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2 kmod-usb-ledtrig-usbport
507 TARGET_DEVICES += EASY80920NAND
509 define Device/EASY80920NOR
511 DEVICE_TITLE := Lantiq VR9 - EASY80920NOR
512 DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2 kmod-usb-ledtrig-usbport
514 TARGET_DEVICES += EASY80920NOR
516 define Device/FRITZ3370
519 DEVICE_TITLE := Fritz!Box WLan - FRITZ3370
520 DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
522 TARGET_DEVICES += FRITZ3370
524 define Device/FRITZ7360SL
527 DEVICE_TITLE := 1&1 HomeServer - FRITZ7360SL
528 DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
530 TARGET_DEVICES += FRITZ7360SL
532 define Device/VG3503J
534 DEVICE_TITLE := BT OpenReach - ECI VDSL Modem
536 TARGET_DEVICES += VG3503J
540 define Device/WBMR300
542 DEVICE_TITLE := Buffalo WBMR-300HPD
543 DEVICE_PACKAGES := kmod-mt76 wpad-mini kmod-usb-dwc2
545 TARGET_DEVICES += WBMR300
547 define Device/VGV7510KW22NOR
549 DEVICE_TITLE := o2 Box 6431 / Arcadyan VGV7510KW22 (NOR)
550 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
552 TARGET_DEVICES += VGV7510KW22NOR
554 define Device/VGV7510KW22BRN
555 $(Device/lantiqBrnImage)
557 SIGNATURE := 5D00008000
559 CRC32_POLY := 0x2083b8ed
560 DEVICE_TITLE := o2 Box 6431 / Arcadyan VGV7510KW22 (BRN)
561 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
563 TARGET_DEVICES += VGV7510KW22BRN
565 define Device/VGV7519NOR
567 DEVICE_TITLE := Experiabox 8 VGV7519
568 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
570 TARGET_DEVICES += VGV7519NOR
572 define Device/VGV7519BRN
573 $(Device/lantiqBrnImage)
575 SIGNATURE := 5D00008000
577 CRC32_POLY := 0x2083b8ed
578 DEVICE_TITLE := Experiabox 8 VGV7519 (BRN)
579 DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
581 TARGET_DEVICES += VGV7519BRN
585 $(eval $(call BuildImage))