b169d93859c1fd1c1389ecf97b4ecc9d9b1ebbb0
[openwrt/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 DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY
56 DTS_DIR := $(DTS_DIR)/lantiq
57
58 # Shared device definition: applies to every defined device
59 define Device/Default
60 PROFILES = Default
61 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
62 KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
63 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
64 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
65 FILESYSTEMS := squashfs
66 SOC := $(DEFAULT_SOC)
67 DEVICE_DTS = $$(SOC)_$(1)
68 SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
69 IMAGES := sysupgrade.bin
70 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size
71 endef
72
73 define Device/NAND/xway
74 BLOCKSIZE := 16k
75 PAGESIZE := 512
76 SUBPAGESIZE := 256
77 FILESYSTEMS += ubifs
78 endef
79
80 define Device/NAND/xrx200
81 BLOCKSIZE := 128k
82 PAGESIZE := 2048
83 SUBPAGESIZE := 512
84 FILESYSTEMS += ubifs
85 endef
86
87 define Device/NAND
88 $(Device/NAND/$(SUBTARGET))
89 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
90 endef
91
92 define Device/lantiqBrnImage
93 KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
94 IMAGES := factory.bin
95 IMAGE/factory.bin := mkbrnimg | check-size
96 endef
97
98 define Device/lantiqFullImage
99 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-offset 4 0
100 IMAGES := sysupgrade.bin fullimage.bin
101 IMAGE/fullimage.bin := fullimage | check-size
102 endef
103
104 define Device/AVM
105 DEVICE_VENDOR := AVM
106 KERNEL := kernel-bin | append-dtb | lzma | eva-image
107 KERNEL_INITRAMFS := $$(KERNEL)
108 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-avm-fakeroot | \
109 append-rootfs | pad-rootfs | append-metadata | check-size
110 endef
111
112 ifeq ($(SUBTARGET),ase)
113 DEFAULT_SOC := amazonse
114 include amazonse.mk
115 endif
116
117 ifeq ($(SUBTARGET),xway_legacy)
118 DEFAULT_SOC := danube
119 include xway_legacy.mk
120 endif
121
122 ifeq ($(SUBTARGET),xway)
123 include danube.mk
124 include ar9.mk
125 endif
126
127 ifeq ($(SUBTARGET),xrx200)
128 DEFAULT_SOC := vr9
129 include tp-link.mk
130 include vr9.mk
131 endif
132
133 ifeq ($(SUBTARGET),falcon)
134 DEFAULT_SOC := falcon
135 include falcon.mk
136 endif
137
138 $(eval $(call BuildImage))