blob: a66b948b266c7353bde255644d3e356fd7ef3d02 [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";
181 firmware = "atf";
182 loadables = "tee", "uboot", "fdt";
183 };
184 };
185 };
186 };
187
188 /* boot.bin generated with version string inside */
189 bootimage {
190 filename = "boot.bin";
191 pad-byte = <0>;
192
193 blob-ext@1 {
194 offset = <0x0>;
195 filename = "spl/boot.bin";
196 };
197 /* Optional version string at offset 0x70 */
198 blob-ext@2 {
199 offset = <0x70>;
200 filename = "version.bin";
201 overlap;
202 optional;
203 };
204 /* Optional version string at offset 0x94 */
205 blob-ext@3 {
206 offset = <0x94>;
207 filename = "version.bin";
208 overlap;
209 optional;
210 };
211 };
212
213#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS
214 /* Full QSPI image for recovery app */
215 image {
216 filename = "qspi.bin";
217 pad-byte = <0>;
218
219 blob-ext@1 {
220 offset = <0x0>;
221 filename = "boot.bin";
222 };
223 blob-ext@2 {
224 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
225 filename = "u-boot.itb";
226 };
227 fdtmap {
228 };
229 };
230#endif
Prasad Kummari6629bd82025-01-21 13:24:59 +0100231#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100232 };
233};