1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * U-Boot additions
4 *
5 * Copyright (C) 2020 Intel Corporation <www.intel.com>
6 */
7
8#if defined(CONFIG_FIT)
9
10/ {
11	binman: binman {
12		multiple-images;
13	};
14};
15
16&binman {
17	u-boot {
18		filename = "u-boot.itb";
19		fit {
20			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
21			description = "FIT with firmware and bootloader";
22			#address-cells = <1>;
23
24			images {
25				uboot {
26					description = "U-Boot SoC64";
27					type = "standalone";
28					os = "U-Boot";
29					arch = "arm64";
30					compression = "none";
31					load = <0x00200000>;
32					uboot_blob: blob-ext {
33						filename = "u-boot-nodtb.bin";
34					};
35					hash {
36						algo = "crc32";
37					};
38				};
39
40				atf {
41					description = "ARM Trusted Firmware";
42					type = "firmware";
43					os = "arm-trusted-firmware";
44					arch = "arm64";
45					compression = "none";
46					load = <0x00001000>;
47					entry = <0x00001000>;
48					atf_blob: blob-ext {
49						filename = "bl31.bin";
50					};
51					hash {
52						algo = "crc32";
53					};
54				};
55
56				fdt {
57					description = "U-Boot SoC64 flat device-tree";
58					type = "flat_dt";
59					compression = "none";
60					uboot_fdt_blob: blob-ext {
61						filename = "u-boot.dtb";
62					};
63					hash {
64						algo = "crc32";
65					};
66				};
67			};
68
69			configurations {
70				default = "conf";
71				conf {
72					description = "Intel SoC64 FPGA";
73					firmware = "atf";
74					loadables = "uboot";
75					fdt = "fdt";
76					signature {
77						algo = "crc32";
78						key-name-hint = "dev";
79						sign-images = "atf", "fdt", "uboot";
80					};
81				};
82			};
83		};
84	};
85
86	kernel {
87		filename = "kernel.itb";
88		fit {
89			description = "FIT with Linux kernel image and FDT blob";
90			#address-cells = <1>;
91
92			images {
93				kernel {
94					description = "Linux Kernel";
95					type = "kernel";
96					arch = "arm64";
97					os = "linux";
98					compression = "none";
99					load = <0x4080000>;
100					entry = <0x4080000>;
101					kernel_blob: blob-ext {
102						filename = "Image";
103					};
104					hash {
105						algo = "crc32";
106					};
107				};
108
109				fdt {
110					description = "Linux DTB";
111					type = "flat_dt";
112					arch = "arm64";
113					compression = "none";
114					kernel_fdt_blob: blob-ext {
115						filename = "linux.dtb";
116					};
117					hash {
118						algo = "crc32";
119					};
120				};
121			};
122
123			configurations {
124				default = "conf";
125				conf {
126					description = "Intel SoC64 FPGA";
127					kernel = "kernel";
128					fdt = "fdt";
129					signature {
130						algo = "crc32";
131						key-name-hint = "dev";
132						sign-images = "fdt", "kernel";
133					};
134				};
135			};
136		};
137	};
138};
139
140#if defined(CONFIG_SOCFPGA_SECURE_VAB_AUTH)
141&uboot_blob {
142	filename = "signed-u-boot-nodtb.bin";
143};
144
145&atf_blob {
146	filename = "signed-bl31.bin";
147};
148
149&uboot_fdt_blob {
150	filename = "signed-u-boot.dtb";
151};
152
153&kernel_blob {
154	filename = "signed-Image";
155};
156
157&kernel_fdt_blob {
158	filename = "signed-linux.dtb";
159};
160#endif
161
162#endif
163