a4ba22dfc4b01bd2573b19fa75c1bafea009a46b
[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 IMAGES := sysupgrade.bin
69 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size
70 endef
71
72 define Device/NAND/xway
73 BLOCKSIZE := 16k
74 PAGESIZE := 512
75 SUBPAGESIZE := 256
76 FILESYSTEMS += ubifs
77 endef
78
79 define Device/NAND/xrx200
80 BLOCKSIZE := 128k
81 PAGESIZE := 2048
82 SUBPAGESIZE := 512
83 FILESYSTEMS += ubifs
84 endef
85
86 define Device/NAND
87 $(Device/NAND/$(SUBTARGET))
88 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
89 endef
90
91 define Device/lantiqBrnImage
92 KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
93 IMAGES := factory.bin
94 IMAGE/factory.bin := mkbrnimg | check-size
95 endef
96
97 define Device/lantiqFullImage
98 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-offset 4 0
99 IMAGES := sysupgrade.bin fullimage.bin
100 IMAGE/fullimage.bin := fullimage | check-size
101 endef
102
103 define Device/AVM
104 DEVICE_VENDOR := AVM
105 KERNEL := kernel-bin | append-dtb | lzma | eva-image
106 KERNEL_INITRAMFS := $$(KERNEL)
107 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-avm-fakeroot | \
108 append-rootfs | pad-rootfs | append-metadata | check-size
109 endef
110
111 ifeq ($(SUBTARGET),ase)
112 DEFAULT_SOC := amazonse
113 include amazonse.mk
114 endif
115
116 ifeq ($(SUBTARGET),xway_legacy)
117 DEFAULT_SOC := danube
118 include xway_legacy.mk
119 endif
120
121 ifeq ($(SUBTARGET),xway)
122 include danube.mk
123 include ar9.mk
124 endif
125
126 ifeq ($(SUBTARGET),xrx200)
127 DEFAULT_SOC := vr9
128 include tp-link.mk
129 include vr9.mk
130 endif
131
132 ifeq ($(SUBTARGET),falcon)
133 DEFAULT_SOC := falcon
134 include falcon.mk
135 endif
136
137 $(eval $(call BuildImage))