blob: 252c2ad552b03b718b44433177f54bb60469c3ee [file] [log] [blame]
Michal Simekcaa11b82024-11-01 10:17:58 +01001// SPDX-License-Identifier: GPL-2.0
2/*
3 * dts file for Xilinx ZynqMP platforms
4 *
5 * (C) Copyright 2024, Advanced Micro Devices, Inc.
6 *
7 * Michal Simek <michal.simek@amd.com>
8 */
9
10#include <config.h>
11
12/dts-v1/;
13/ {
14 binman: binman {
15 multiple-images;
16
Prasad Kummari6629bd82025-01-21 13:24:59 +010017#ifdef CONFIG_SPL
Michal Simekcaa11b82024-11-01 10:17:58 +010018 /* u-boot.itb generation in a static way */
19 itb {
20 filename = "u-boot.itb";
21 pad-byte = <0>;
22
23 fit {
24 description = "Configuration for Xilinx ZynqMP SoC";
25 fit,align = <0x8>;
26 fit,external-offset = <0x0>;
27 fit,fdt-list = "of-list";
28 images {
29 uboot {
30 description = "U-Boot (64-bit)";
31 type = "firmware";
32 os = "u-boot";
33 arch = "arm64";
34 compression = "none";
35 load = /bits/ 64 <CONFIG_TEXT_BASE>;
36 entry = /bits/ 64 <CONFIG_TEXT_BASE>;
37 hash {
38 algo = "md5";
39 };
40 u-boot-nodtb {
41 };
42 };
43 atf {
44 description = "Trusted Firmware-A";
45 type = "firmware";
46 os = "arm-trusted-firmware";
47 arch = "arm64";
48 compression = "none";
49 load = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
50 entry = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
51 hash {
52 algo = "md5";
53 };
54 atf-bl31 {
55 optional;
56 };
57 };
58 tee {
59 description = "OP-TEE";
60 type = "tee";
61 arch = "arm64";
62 compression = "none";
63 os = "tee";
Michal Simek775cbf42025-02-04 09:53:39 +010064 load = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
65 entry = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
66 hash {
67 algo = "md5";
68 };
Michal Simekcaa11b82024-11-01 10:17:58 +010069 tee-os {
70 optional;
71 };
72 };
73 @fdt-SEQ {
74 description = "NAME";
75 type = "flat_dt";
76 arch = "arm64";
77 compression = "none";
Michal Simekf77acbb2025-02-04 09:53:40 +010078#if CONFIG_XILINX_OF_BOARD_DTB_ADDR
79 load = /bits/ 64 <CONFIG_XILINX_OF_BOARD_DTB_ADDR>;
80#endif
81 hash {
Michal Simekcaa11b82024-11-01 10:17:58 +010082 algo = "md5";
83 };
84 };
85 };
86 configurations {
87 default = "@conf-DEFAULT-SEQ";
88 @conf-SEQ {
89 description = "NAME";
Michal Simek7fd34582025-02-04 09:53:41 +010090#if CONFIG_BL31_LOAD_ADDR
Michal Simekcaa11b82024-11-01 10:17:58 +010091 firmware = "atf";
92 loadables = "tee", "uboot";
93 fdt = "fdt-SEQ";
Michal Simek7fd34582025-02-04 09:53:41 +010094#else
95 firmware = "uboot";
96 loadables = "fdt";
97#endif
98
Michal Simekcaa11b82024-11-01 10:17:58 +010099 };
100 };
101 };
102 };
103
Michal Simek7bbd3bb2024-11-20 09:05:27 +0100104 itb-single {
105 filename = "u-boot-single.itb";
106 pad-byte = <0>;
107
108 fit {
109 description = "Configuration for Xilinx ZynqMP SoC";
110 fit,align = <0x8>;
111 fit,external-offset = <0x0>;
112 fit,fdt-list = "of-list";
113 images {
114 uboot {
115 description = "U-Boot (64-bit)";
116 type = "firmware";
117 os = "u-boot";
118 arch = "arm64";
119 compression = "none";
120 load = /bits/ 64 <CONFIG_TEXT_BASE>;
121 entry = /bits/ 64 <CONFIG_TEXT_BASE>;
122 hash {
123 algo = "md5";
124 };
125 u-boot-nodtb {
126 };
127 };
128 atf {
129 description = "Trusted Firmware-A";
130 type = "firmware";
131 os = "arm-trusted-firmware";
132 arch = "arm64";
133 compression = "none";
134 load = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
135 entry = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
136 hash {
137 algo = "md5";
138 };
139 atf-bl31 {
140 optional;
141 };
142 };
143 tee {
144 description = "OP-TEE";
145 type = "tee";
146 arch = "arm64";
147 compression = "none";
148 os = "tee";
Michal Simek775cbf42025-02-04 09:53:39 +0100149 load = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
150 entry = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
151 hash {
152 algo = "md5";
153 };
Michal Simek7bbd3bb2024-11-20 09:05:27 +0100154 tee-os {
155 optional;
156 };
157 };
158 fdt {
159 description = "DT";
160 type = "flat_dt";
161 arch = "arm64";
162 compression = "none";
Michal Simekf77acbb2025-02-04 09:53:40 +0100163#if CONFIG_XILINX_OF_BOARD_DTB_ADDR
164 load = /bits/ 64 <CONFIG_XILINX_OF_BOARD_DTB_ADDR>;
165#endif
166 hash {
167 algo = "md5";
168 };
Michal Simek7bbd3bb2024-11-20 09:05:27 +0100169 uboot-fdt-blob {
170 filename = "u-boot.dtb";
171 type = "blob-ext";
172 };
Michal Simek7bbd3bb2024-11-20 09:05:27 +0100173 };
174 };
175 configurations {
176 default = "conf-1";
177 conf-1 {
178 description = "Single DT";
179 firmware = "atf";
180 loadables = "tee", "uboot";
181 fdt = "fdt";
182 };
183 };
184 };
185 };
186
Michal Simekcaa11b82024-11-01 10:17:58 +0100187#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS
188 /* QSPI image for testing QSPI boot mode */
189 image {
190 filename = "qspi.bin";
191 pad-byte = <0>;
192
193 blob-ext@1 {
194 offset = <0x0>;
195 filename = "spl/boot.bin";
196 };
197 blob-ext@2 {
198 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
199 filename = "u-boot.itb";
200 };
201 fdtmap {
202 };
203 };
Michal Simek7bbd3bb2024-11-20 09:05:27 +0100204
205 image-single {
206 filename = "qspi-single.bin";
207 pad-byte = <0>;
208
209 blob-ext@1 {
210 offset = <0x0>;
211 filename = "spl/boot.bin";
212 };
213 blob-ext@2 {
214 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
215 filename = "u-boot-single.itb";
216 };
217 fdtmap {
218 };
219 };
Michal Simekcaa11b82024-11-01 10:17:58 +0100220#endif
Prasad Kummari6629bd82025-01-21 13:24:59 +0100221#endif
Michal Simekcaa11b82024-11-01 10:17:58 +0100222 };
223};