blob: a697c2c1945ccc73aba7f1fadfa38482a7444f6b [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";
165 load = <0x0 0x100000>;
166 hash {
167 algo = "md5";
168 };
169 fdt-blob {
170 filename = "fit-dtb.blob";
171 type = "blob-ext";
172 };
173 };
174 };
175 configurations {
176 default = "conf-1";
177 conf-1 {
178 description = "Multi DTB with TF-A/TEE";
179 firmware = "atf";
180 loadables = "tee", "uboot", "fdt";
181 };
182 };
183 };
184 };
185
186 /* boot.bin generated with version string inside */
187 bootimage {
188 filename = "boot.bin";
189 pad-byte = <0>;
190
191 blob-ext@1 {
192 offset = <0x0>;
193 filename = "spl/boot.bin";
194 };
195 /* Optional version string at offset 0x70 */
196 blob-ext@2 {
197 offset = <0x70>;
198 filename = "version.bin";
199 overlap;
200 optional;
201 };
202 /* Optional version string at offset 0x94 */
203 blob-ext@3 {
204 offset = <0x94>;
205 filename = "version.bin";
206 overlap;
207 optional;
208 };
209 };
210
211#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS
212 /* Full QSPI image for recovery app */
213 image {
214 filename = "qspi.bin";
215 pad-byte = <0>;
216
217 blob-ext@1 {
218 offset = <0x0>;
219 filename = "boot.bin";
220 };
221 blob-ext@2 {
222 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
223 filename = "u-boot.itb";
224 };
225 fdtmap {
226 };
227 };
228#endif
Prasad Kummari6629bd82025-01-21 13:24:59 +0100229#endif
Michal Simeke62fabd2024-11-01 10:17:57 +0100230 };
231};