blob: ecea1b839bdf261d25a45f8422da50dd71c060e5 [file] [log] [blame]
Andre Przywara4c160892017-04-26 01:32:46 +01001#!/bin/sh
2#
3# script to generate FIT image source for 64-bit sunxi boards with
4# ARM Trusted Firmware and multiple device trees (given on the command line)
5#
6# usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
7
8[ -z "$BL31" ] && BL31="bl31.bin"
9
10cat << __HEADER_EOF
11/dts-v1/;
12
13/ {
14 description = "Configuration to load ATF before U-Boot";
15 #address-cells = <1>;
16
17 images {
18 uboot@1 {
19 description = "U-Boot (64-bit)";
20 data = /incbin/("u-boot-nodtb.bin");
21 type = "standalone";
22 arch = "arm64";
23 compression = "none";
24 load = <0x4a000000>;
25 };
26 atf@1 {
27 description = "ARM Trusted Firmware";
28 data = /incbin/("$BL31");
29 type = "firmware";
30 arch = "arm64";
31 compression = "none";
32 load = <0x44000>;
33 entry = <0x44000>;
34 };
35__HEADER_EOF
36
37cnt=1
38for dtname in $*
39do
40 cat << __FDT_IMAGE_EOF
41 fdt@$cnt {
42 description = "$(basename $dtname .dtb)";
43 data = /incbin/("$dtname");
44 type = "flat_dt";
45 compression = "none";
46 };
47__FDT_IMAGE_EOF
48 cnt=$((cnt+1))
49done
50
51cat << __CONF_HEADER_EOF
52 };
53 configurations {
54 default = "config@1";
55
56__CONF_HEADER_EOF
57
58cnt=1
59for dtname in $*
60do
61 cat << __CONF_SECTION_EOF
62 config@$cnt {
63 description = "$(basename $dtname .dtb)";
64 firmware = "uboot@1";
65 loadables = "atf@1";
66 fdt = "fdt@$cnt";
67 };
68__CONF_SECTION_EOF
69 cnt=$((cnt+1))
70done
71
72cat << __ITS_EOF
73 };
74};
75__ITS_EOF