blob: a70123feeadd7c35e1b37fa53e9b15c4fc5e5967 [file] [log] [blame]
Michal Simeke62fabd2024-11-01 10:17:57 +01001// SPDX-License-Identifier: GPL-2.0
2/*
3 * dts file for Xilinx ZynqMP SOMs (k24/k26)
4 *
Michal Simeka734f252025-04-07 17:17:30 +02005 * (C) Copyright 2024-2025, Advanced Micro Devices, Inc.
Michal Simeke62fabd2024-11-01 10:17:57 +01006 *
7 * Michal Simek <michal.simek@amd.com>
8 */
9
10#include <config.h>
11
Michal Simeka734f252025-04-07 17:17:30 +020012#if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME)
13#define U_BOOT_ITB_FILENAME CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
14#else
15#define U_BOOT_ITB_FILENAME "u-boot.itb"
16#endif
17
Michal Simeke62fabd2024-11-01 10:17:57 +010018/dts-v1/;
19/ {
20 binman: binman {
21 multiple-images;
Prasad Kummari6629bd82025-01-21 13:24:59 +010022
23#ifdef CONFIG_SPL
Michal Simeke62fabd2024-11-01 10:17:57 +010024 fit-dtb.blob {
25 filename = "fit-dtb.blob";
26 pad-byte = <0>;
27 fit {
28 fit,align = <0x8>;
29 fit,external-offset = <0x0>;
30 description = "DTBs for SOMs+CCs";
31 fit,fdt-list-val = "zynqmp-smk-k26-revA", "zynqmp-smk-k26-revA-sck-kr-g-revA",
32 "zynqmp-smk-k26-revA-sck-kr-g-revB", "zynqmp-smk-k26-revA-sck-kv-g-revA",
33 "zynqmp-smk-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kv-g-revA",
34 "zynqmp-sm-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kr-g-revB",
35 "zynqmp-smk-k24-revA-sck-kd-g-revA", "zynqmp-smk-k24-revA-sck-kv-g-revB",
36 "zynqmp-smk-k24-revA-sck-kr-g-revB", "zynqmp-sm-k24-revA-sck-kd-g-revA",
37 "zynqmp-sm-k24-revA-sck-kv-g-revB", "zynqmp-sm-k24-revA-sck-kr-g-revB";
38
39 images {
40 @fdt-SEQ {
41 description = "NAME";
42 type = "flat_dt";
43 arch = "arm64";
44 compression = "none";
45 hash-1 {
46 algo = "md5";
47 };
48 };
49 };
50 configurations {
51 default = "conf-1";
52 conf-1 {
53 description = "SOM itself";
54 fdt = "fdt-1";
55 };
56 conf-2 {
57 description = "zynqmp-smk-k26-.*-sck-kr-g-revA";
58 fdt = "fdt-2";
59 };
60 conf-3 {
61 description = "zynqmp-smk-k26-.*-sck-kr-g-.*";
62 fdt = "fdt-3";
63 };
64 conf-4 {
65 description = "zynqmp-smk-k26-.*-sck-kv-g-rev[AZ]";
66 fdt = "fdt-4";
67 };
68 conf-5 {
69 description = "zynqmp-smk-k26-.*-sck-kv-g-.*";
70 fdt = "fdt-5";
71 };
72 conf-6 {
73 description = "zynqmp-sm-k26-.*-sck-kv-g-rev[AZ]";
74 fdt = "fdt-6";
75 };
76 conf-7 {
77 description = "zynqmp-sm-k26-.*-sck-kv-g-.*";
78 fdt = "fdt-7";
79 };
80 conf-8 {
81 description = "zynqmp-sm-k26-.*-sck-kr-g-.*";
82 fdt = "fdt-8";
83 };
84 conf-9 {
85 description = "zynqmp-smk-k24-.*-sck-kd-g-.*";
86 fdt = "fdt-9";
87 };
88 conf-10 {
89 description = "zynqmp-smk-k24-.*-sck-kv-g-.*";
90 fdt = "fdt-10";
91 };
92 conf-11 {
93 description = "zynqmp-smk-k24-.*-sck-kr-g-.*";
94 fdt = "fdt-11";
95 };
96 conf-12 {
97 description = "zynqmp-sm-k24-.*-sck-kd-g-.*";
98 fdt = "fdt-12";
99 };
100 conf-13 {
101 description = "zynqmp-sm-k24-.*-sck-kv-g-.*";
102 fdt = "fdt-13";
103 };
104 conf-14 {
105 description = "zynqmp-sm-k24-.*-sck-kr-g-.*";
106 fdt = "fdt-14";
107 };
108 };
109 };
110 };
111
Michal Simeka734f252025-04-07 17:17:30 +0200112 /* Generation in a static way */
Michal Simeke62fabd2024-11-01 10:17:57 +0100113 itb {
Michal Simeka734f252025-04-07 17:17:30 +0200114 filename = U_BOOT_ITB_FILENAME;
Michal Simeke62fabd2024-11-01 10:17:57 +0100115 pad-byte = <0>;
116
117 fit {
118 description = "Configuration for Xilinx ZynqMP SoC";
119 fit,align = <0x8>;
120 fit,external-offset = <0x0>;
121 images {
122 uboot {
123 description = "U-Boot (64-bit)";
124 type = "firmware";
125 os = "u-boot";
126 arch = "arm64";
127 compression = "none";
128 load = /bits/ 64 <CONFIG_TEXT_BASE>;
129 entry = /bits/ 64 <CONFIG_TEXT_BASE>;
130 hash {
131 algo = "md5";
132 };
133 u-boot-nodtb {
134 };
135 };
136 atf {
137 description = "Trusted Firmware-A";
138 type = "firmware";
139 os = "arm-trusted-firmware";
140 arch = "arm64";
141 compression = "none";
142 load = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
143 entry = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
144 hash {
145 algo = "md5";
146 };
147 atf-bl31 {
148 optional;
149 };
150 };
151 tee {
152 description = "OP-TEE";
153 type = "tee";
154 arch = "arm64";
155 compression = "none";
156 os = "tee";
Michal Simek775cbf42025-02-04 09:53:39 +0100157 load = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
158 entry = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
159 hash {
160 algo = "md5";
161 };
Michal Simeke62fabd2024-11-01 10:17:57 +0100162 tee-os {
163 optional;
164 };
165 };
166 fdt {
167 description = "Multi DTB fit image";
168 type = "flat_dt";
169 arch = "arm64";
170 compression = "none";
Michal Simekf77acbb2025-02-04 09:53:40 +0100171#if CONFIG_XILINX_OF_BOARD_DTB_ADDR
172 load = /bits/ 64 <CONFIG_XILINX_OF_BOARD_DTB_ADDR>;
173#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100174 hash {
175 algo = "md5";
176 };
177 fdt-blob {
178 filename = "fit-dtb.blob";
179 type = "blob-ext";
180 };
181 };
182 };
183 configurations {
184 default = "conf-1";
185 conf-1 {
186 description = "Multi DTB with TF-A/TEE";
Michal Simek7fd34582025-02-04 09:53:41 +0100187#if CONFIG_BL31_LOAD_ADDR
Michal Simeke62fabd2024-11-01 10:17:57 +0100188 firmware = "atf";
189 loadables = "tee", "uboot", "fdt";
Michal Simek7fd34582025-02-04 09:53:41 +0100190#else
191 firmware = "uboot";
192 loadables = "fdt";
193#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100194 };
195 };
196 };
197 };
198
199 /* boot.bin generated with version string inside */
200 bootimage {
201 filename = "boot.bin";
202 pad-byte = <0>;
203
204 blob-ext@1 {
205 offset = <0x0>;
206 filename = "spl/boot.bin";
207 };
208 /* Optional version string at offset 0x70 */
209 blob-ext@2 {
210 offset = <0x70>;
211 filename = "version.bin";
212 overlap;
213 optional;
214 };
215 /* Optional version string at offset 0x94 */
216 blob-ext@3 {
217 offset = <0x94>;
218 filename = "version.bin";
219 overlap;
220 optional;
221 };
222 };
223
224#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS
225 /* Full QSPI image for recovery app */
226 image {
227 filename = "qspi.bin";
228 pad-byte = <0>;
229
230 blob-ext@1 {
231 offset = <0x0>;
232 filename = "boot.bin";
233 };
234 blob-ext@2 {
235 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
Michal Simeka734f252025-04-07 17:17:30 +0200236 filename = U_BOOT_ITB_FILENAME;
Michal Simeke62fabd2024-11-01 10:17:57 +0100237 };
238 fdtmap {
239 };
240 };
241#endif
Prasad Kummari6629bd82025-01-21 13:24:59 +0100242#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100243 };
244};