blob: d5b63ef604bab64b995aaec930b110ca0baf445e [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 *
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;
Prasad Kummari6629bd82025-01-21 13:24:59 +010016
17#ifdef CONFIG_SPL
Michal Simeke62fabd2024-11-01 10:17:57 +010018 fit-dtb.blob {
19 filename = "fit-dtb.blob";
20 pad-byte = <0>;
21 fit {
22 fit,align = <0x8>;
23 fit,external-offset = <0x0>;
24 description = "DTBs for SOMs+CCs";
25 fit,fdt-list-val = "zynqmp-smk-k26-revA", "zynqmp-smk-k26-revA-sck-kr-g-revA",
26 "zynqmp-smk-k26-revA-sck-kr-g-revB", "zynqmp-smk-k26-revA-sck-kv-g-revA",
27 "zynqmp-smk-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kv-g-revA",
28 "zynqmp-sm-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kr-g-revB",
29 "zynqmp-smk-k24-revA-sck-kd-g-revA", "zynqmp-smk-k24-revA-sck-kv-g-revB",
30 "zynqmp-smk-k24-revA-sck-kr-g-revB", "zynqmp-sm-k24-revA-sck-kd-g-revA",
31 "zynqmp-sm-k24-revA-sck-kv-g-revB", "zynqmp-sm-k24-revA-sck-kr-g-revB";
32
33 images {
34 @fdt-SEQ {
35 description = "NAME";
36 type = "flat_dt";
37 arch = "arm64";
38 compression = "none";
39 hash-1 {
40 algo = "md5";
41 };
42 };
43 };
44 configurations {
45 default = "conf-1";
46 conf-1 {
47 description = "SOM itself";
48 fdt = "fdt-1";
49 };
50 conf-2 {
51 description = "zynqmp-smk-k26-.*-sck-kr-g-revA";
52 fdt = "fdt-2";
53 };
54 conf-3 {
55 description = "zynqmp-smk-k26-.*-sck-kr-g-.*";
56 fdt = "fdt-3";
57 };
58 conf-4 {
59 description = "zynqmp-smk-k26-.*-sck-kv-g-rev[AZ]";
60 fdt = "fdt-4";
61 };
62 conf-5 {
63 description = "zynqmp-smk-k26-.*-sck-kv-g-.*";
64 fdt = "fdt-5";
65 };
66 conf-6 {
67 description = "zynqmp-sm-k26-.*-sck-kv-g-rev[AZ]";
68 fdt = "fdt-6";
69 };
70 conf-7 {
71 description = "zynqmp-sm-k26-.*-sck-kv-g-.*";
72 fdt = "fdt-7";
73 };
74 conf-8 {
75 description = "zynqmp-sm-k26-.*-sck-kr-g-.*";
76 fdt = "fdt-8";
77 };
78 conf-9 {
79 description = "zynqmp-smk-k24-.*-sck-kd-g-.*";
80 fdt = "fdt-9";
81 };
82 conf-10 {
83 description = "zynqmp-smk-k24-.*-sck-kv-g-.*";
84 fdt = "fdt-10";
85 };
86 conf-11 {
87 description = "zynqmp-smk-k24-.*-sck-kr-g-.*";
88 fdt = "fdt-11";
89 };
90 conf-12 {
91 description = "zynqmp-sm-k24-.*-sck-kd-g-.*";
92 fdt = "fdt-12";
93 };
94 conf-13 {
95 description = "zynqmp-sm-k24-.*-sck-kv-g-.*";
96 fdt = "fdt-13";
97 };
98 conf-14 {
99 description = "zynqmp-sm-k24-.*-sck-kr-g-.*";
100 fdt = "fdt-14";
101 };
102 };
103 };
104 };
105
106 /* u-boot.itb generation in a static way */
107 itb {
108 filename = "u-boot.itb";
109 pad-byte = <0>;
110
111 fit {
112 description = "Configuration for Xilinx ZynqMP SoC";
113 fit,align = <0x8>;
114 fit,external-offset = <0x0>;
115 images {
116 uboot {
117 description = "U-Boot (64-bit)";
118 type = "firmware";
119 os = "u-boot";
120 arch = "arm64";
121 compression = "none";
122 load = /bits/ 64 <CONFIG_TEXT_BASE>;
123 entry = /bits/ 64 <CONFIG_TEXT_BASE>;
124 hash {
125 algo = "md5";
126 };
127 u-boot-nodtb {
128 };
129 };
130 atf {
131 description = "Trusted Firmware-A";
132 type = "firmware";
133 os = "arm-trusted-firmware";
134 arch = "arm64";
135 compression = "none";
136 load = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
137 entry = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
138 hash {
139 algo = "md5";
140 };
141 atf-bl31 {
142 optional;
143 };
144 };
145 tee {
146 description = "OP-TEE";
147 type = "tee";
148 arch = "arm64";
149 compression = "none";
150 os = "tee";
Michal Simek775cbf42025-02-04 09:53:39 +0100151 load = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
152 entry = /bits/ 64 <CONFIG_BL32_LOAD_ADDR>;
153 hash {
154 algo = "md5";
155 };
Michal Simeke62fabd2024-11-01 10:17:57 +0100156 tee-os {
157 optional;
158 };
159 };
160 fdt {
161 description = "Multi DTB fit image";
162 type = "flat_dt";
163 arch = "arm64";
164 compression = "none";
Michal Simekf77acbb2025-02-04 09:53:40 +0100165#if CONFIG_XILINX_OF_BOARD_DTB_ADDR
166 load = /bits/ 64 <CONFIG_XILINX_OF_BOARD_DTB_ADDR>;
167#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100168 hash {
169 algo = "md5";
170 };
171 fdt-blob {
172 filename = "fit-dtb.blob";
173 type = "blob-ext";
174 };
175 };
176 };
177 configurations {
178 default = "conf-1";
179 conf-1 {
180 description = "Multi DTB with TF-A/TEE";
Michal Simek7fd34582025-02-04 09:53:41 +0100181#if CONFIG_BL31_LOAD_ADDR
Michal Simeke62fabd2024-11-01 10:17:57 +0100182 firmware = "atf";
183 loadables = "tee", "uboot", "fdt";
Michal Simek7fd34582025-02-04 09:53:41 +0100184#else
185 firmware = "uboot";
186 loadables = "fdt";
187#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100188 };
189 };
190 };
191 };
192
193 /* boot.bin generated with version string inside */
194 bootimage {
195 filename = "boot.bin";
196 pad-byte = <0>;
197
198 blob-ext@1 {
199 offset = <0x0>;
200 filename = "spl/boot.bin";
201 };
202 /* Optional version string at offset 0x70 */
203 blob-ext@2 {
204 offset = <0x70>;
205 filename = "version.bin";
206 overlap;
207 optional;
208 };
209 /* Optional version string at offset 0x94 */
210 blob-ext@3 {
211 offset = <0x94>;
212 filename = "version.bin";
213 overlap;
214 optional;
215 };
216 };
217
218#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS
219 /* Full QSPI image for recovery app */
220 image {
221 filename = "qspi.bin";
222 pad-byte = <0>;
223
224 blob-ext@1 {
225 offset = <0x0>;
226 filename = "boot.bin";
227 };
228 blob-ext@2 {
229 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
230 filename = "u-boot.itb";
231 };
232 fdtmap {
233 };
234 };
235#endif
Prasad Kummari6629bd82025-01-21 13:24:59 +0100236#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100237 };
238};