lantiq: split device definitions into files
[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   DEVICE_VENDOR := AVM
104   KERNEL := kernel-bin | append-dtb | lzma | eva-image
105   KERNEL_INITRAMFS := $$(KERNEL)
106   IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-avm-fakeroot | \
107         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
108 endef
109
110 ifeq ($(SUBTARGET),ase)
111 include amazonse.mk
112 endif
113
114 ifeq ($(SUBTARGET),xway_legacy)
115 include xway_legacy.mk
116 endif
117
118 ifeq ($(SUBTARGET),xway)
119 include danube.mk
120 include ar9.mk
121 endif
122
123
124 ifeq ($(SUBTARGET),xrx200)
125 include tp-link.mk
126 include vr9.mk
127 endif
128
129
130 ifeq ($(SUBTARGET),falcon)
131 include falcon.mk
132 endif
133
134 $(eval $(call BuildImage))