imx: split into arch-specific subtargets
[openwrt/staging/thess.git] / target / linux / imx / image / cortexa9.mk
1 DEVICE_VARS += MKUBIFS_OPTS UBOOT
2
3 define Build/boot-overlay
4 rm -rf $@.boot
5 mkdir -p $@.boot
6
7 $(CP) $@ $@.boot/$(IMG_PREFIX)-uImage
8 ln -sf $(IMG_PREFIX)-uImage $@.boot/uImage
9
10 $(foreach dts,$(DEVICE_DTS), \
11 $(CP) \
12 $(DTS_DIR)/$(dts).dtb \
13 $@.boot/$(IMG_PREFIX)-$(dts).dtb; \
14 ln -sf \
15 $(IMG_PREFIX)-$(dts).dtb \
16 $@.boot/$(dts).dtb; \
17 )
18 mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
19 -n '$(DEVICE_ID) OpenWrt bootscript' \
20 -d ./bootscript-$(DEVICE_NAME) \
21 $@.boot/6x_bootscript-$(DEVICE_NAME)
22
23 $(STAGING_DIR_HOST)/bin/mkfs.ubifs \
24 --space-fixup --compr=zlib --squash-uids \
25 $(MKUBIFS_OPTS) -c 16248 \
26 -o $@.boot.ubifs -d $@.boot
27
28 $(TAR) -C $@.boot -cf $@.boot.tar .
29 endef
30
31 define Build/bootfs.tar.gz
32 rm -rf $@.boot
33 mkdir -p $@.boot
34
35 $(TAR) -C $@.boot -xf $(IMAGE_KERNEL).boot.tar
36 $(TAR) -C $@.boot \
37 --numeric-owner --owner=0 --group=0 --transform "s,./,./boot/," \
38 -czvf $@ .
39 endef
40
41 define Build/recovery-scr
42 mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
43 -n '$(DEVICE_ID) OpenWrt recovery bootscript' \
44 -d ./recovery-$(DEVICE_NAME) $@
45 endef
46
47 define Build/imx6-combined-image-prepare
48 rm -rf $@.boot
49 mkdir -p $@.boot
50 endef
51
52 define Build/imx6-combined-image-clean
53 rm -rf $@.boot $@.fs
54 endef
55
56 define Build/imx6-combined-image
57 $(CP) $(IMAGE_KERNEL) $@.boot/uImage
58
59 $(foreach dts,$(DEVICE_DTS), \
60 $(CP) \
61 $(DTS_DIR)/$(dts).dtb \
62 $@.boot/;
63 )
64
65 mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
66 -n '$(DEVICE_ID) OpenWrt bootscript' \
67 -d bootscript-$(DEVICE_NAME) \
68 $@.boot/boot.scr
69
70 cp $@ $@.fs
71
72 $(SCRIPT_DIR)/gen_image_generic.sh $@ \
73 $(CONFIG_TARGET_KERNEL_PARTSIZE) \
74 $@.boot \
75 $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
76 $@.fs \
77 1024
78 endef
79
80 define Build/imx6-sdcard
81 $(Build/imx6-combined-image-prepare)
82
83 $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img $@.boot/u-boot.img
84 $(Build/imx6-combined-image)
85 dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc
86
87 $(Build/imx6-combined-image-clean)
88 endef
89
90 define Build/apalis-emmc
91 $(Build/imx6-combined-image-prepare)
92 $(Build/imx6-combined-image)
93 $(Build/imx6-combined-image-clean)
94 endef
95
96
97 define Device/Default
98 PROFILES := Default
99 FILESYSTEMS := squashfs ext4
100 KERNEL_INSTALL := 1
101 KERNEL_SUFFIX := -uImage
102 KERNEL_NAME := zImage
103 KERNEL := kernel-bin | uImage none
104 KERNEL_LOADADDR := 0x10008000
105 IMAGES :=
106 endef
107
108 define Device/gateworks_ventana
109 DEVICE_VENDOR := Gateworks
110 DEVICE_MODEL := Ventana family
111 DEVICE_VARIANT := normal NAND flash
112 DEVICE_NAME := ventana
113 DEVICE_DTS:= \
114 imx6dl-gw51xx \
115 imx6dl-gw52xx \
116 imx6dl-gw53xx \
117 imx6dl-gw54xx \
118 imx6dl-gw551x \
119 imx6dl-gw552x \
120 imx6dl-gw553x \
121 imx6dl-gw5904 \
122 imx6dl-gw5907 \
123 imx6dl-gw5910 \
124 imx6dl-gw5912 \
125 imx6dl-gw5913 \
126 imx6q-gw51xx \
127 imx6q-gw52xx \
128 imx6q-gw53xx \
129 imx6q-gw54xx \
130 imx6q-gw5400-a \
131 imx6q-gw551x \
132 imx6q-gw552x \
133 imx6q-gw553x \
134 imx6q-gw5904 \
135 imx6q-gw5907 \
136 imx6q-gw5910 \
137 imx6q-gw5912 \
138 imx6q-gw5913
139 DEVICE_PACKAGES := kmod-sky2 kmod-sound-core kmod-sound-soc-imx \
140 kmod-sound-soc-imx-sgtl5000 kmod-can kmod-can-flexcan kmod-can-raw \
141 kmod-hwmon-gsc kmod-leds-gpio kmod-pps-gpio kobs-ng
142 KERNEL += | boot-overlay
143 IMAGES := nand.ubi bootfs.tar.gz dtb
144 IMAGE/nand.ubi := append-ubi
145 IMAGE/bootfs.tar.gz := bootfs.tar.gz
146 IMAGE/dtb := install-dtb
147 UBINIZE_PARTS = boot=$$(KDIR_KERNEL_IMAGE).boot.ubifs=15
148 PAGESIZE := 2048
149 BLOCKSIZE := 128k
150 MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB
151 endef
152 TARGET_DEVICES += gateworks_ventana
153
154 define Device/gateworks_ventana-large
155 $(Device/gateworks_ventana)
156 DEVICE_VARIANT := large NAND flash
157 IMAGES := nand.ubi
158 PAGESIZE := 4096
159 BLOCKSIZE := 256k
160 MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB
161 endef
162 TARGET_DEVICES += gateworks_ventana-large
163
164 define Device/solidrun_cubox-i
165 DEVICE_VENDOR := SolidRun
166 DEVICE_MODEL := CuBox-i
167 DEVICE_DTS := \
168 imx6q-cubox-i \
169 imx6dl-cubox-i \
170 imx6q-hummingboard \
171 imx6dl-hummingboard
172 DEVICE_PACKAGES := kmod-drm-imx kmod-drm-imx-hdmi kmod-usb-hid
173 UBOOT := mx6cuboxi
174 KERNEL := kernel-bin
175 KERNEL_SUFFIX := -zImage
176 FILESYSTEMS := squashfs
177 IMAGES := combined.bin dtb
178 IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard
179 IMAGE/dtb := install-dtb
180 endef
181 TARGET_DEVICES += solidrun_cubox-i
182
183 define Device/toradex_apalis
184 DEVICE_VENDOR := Toradex
185 DEVICE_MODEL := Apalis family
186 SUPPORTED_DEVICES := apalis,ixora apalis,eval
187 DEVICE_DTS := \
188 imx6q-apalis-eval \
189 imx6q-apalis-ixora \
190 imx6q-apalis-ixora-v1.1
191 DEVICE_PACKAGES := \
192 kmod-can kmod-can-flexcan kmod-can-raw \
193 kmod-leds-gpio kmod-gpio-button-hotplug \
194 kmod-pps-gpio kmod-rtc-ds1307
195 FILESYSTEMS := squashfs
196 IMAGES := combined.bin sysupgrade.bin
197 DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
198 IMAGE/combined.bin := append-rootfs | pad-extra 128k | apalis-emmc
199 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
200 ARTIFACTS := recovery.scr
201 ARTIFACT/recovery.scr := recovery-scr
202 endef
203 TARGET_DEVICES += toradex_apalis
204
205 define Device/wandboard_dual
206 DEVICE_VENDOR := Wandboard
207 DEVICE_MODEL := Dual
208 DEVICE_DTS := imx6dl-wandboard
209 endef
210 TARGET_DEVICES += wandboard_dual