blob: 3d9d8476c98ebf4f4f7c41d3ec0b2942c0a7f11b [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;
16 fit-dtb.blob {
17 filename = "fit-dtb.blob";
18 pad-byte = <0>;
19 fit {
20 fit,align = <0x8>;
21 fit,external-offset = <0x0>;
22 description = "DTBs for SOMs+CCs";
23 fit,fdt-list-val = "zynqmp-smk-k26-revA", "zynqmp-smk-k26-revA-sck-kr-g-revA",
24 "zynqmp-smk-k26-revA-sck-kr-g-revB", "zynqmp-smk-k26-revA-sck-kv-g-revA",
25 "zynqmp-smk-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kv-g-revA",
26 "zynqmp-sm-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kr-g-revB",
27 "zynqmp-smk-k24-revA-sck-kd-g-revA", "zynqmp-smk-k24-revA-sck-kv-g-revB",
28 "zynqmp-smk-k24-revA-sck-kr-g-revB", "zynqmp-sm-k24-revA-sck-kd-g-revA",
29 "zynqmp-sm-k24-revA-sck-kv-g-revB", "zynqmp-sm-k24-revA-sck-kr-g-revB";
30
31 images {
32 @fdt-SEQ {
33 description = "NAME";
34 type = "flat_dt";
35 arch = "arm64";
36 compression = "none";
37 hash-1 {
38 algo = "md5";
39 };
40 };
41 };
42 configurations {
43 default = "conf-1";
44 conf-1 {
45 description = "SOM itself";
46 fdt = "fdt-1";
47 };
48 conf-2 {
49 description = "zynqmp-smk-k26-.*-sck-kr-g-revA";
50 fdt = "fdt-2";
51 };
52 conf-3 {
53 description = "zynqmp-smk-k26-.*-sck-kr-g-.*";
54 fdt = "fdt-3";
55 };
56 conf-4 {
57 description = "zynqmp-smk-k26-.*-sck-kv-g-rev[AZ]";
58 fdt = "fdt-4";
59 };
60 conf-5 {
61 description = "zynqmp-smk-k26-.*-sck-kv-g-.*";
62 fdt = "fdt-5";
63 };
64 conf-6 {
65 description = "zynqmp-sm-k26-.*-sck-kv-g-rev[AZ]";
66 fdt = "fdt-6";
67 };
68 conf-7 {
69 description = "zynqmp-sm-k26-.*-sck-kv-g-.*";
70 fdt = "fdt-7";
71 };
72 conf-8 {
73 description = "zynqmp-sm-k26-.*-sck-kr-g-.*";
74 fdt = "fdt-8";
75 };
76 conf-9 {
77 description = "zynqmp-smk-k24-.*-sck-kd-g-.*";
78 fdt = "fdt-9";
79 };
80 conf-10 {
81 description = "zynqmp-smk-k24-.*-sck-kv-g-.*";
82 fdt = "fdt-10";
83 };
84 conf-11 {
85 description = "zynqmp-smk-k24-.*-sck-kr-g-.*";
86 fdt = "fdt-11";
87 };
88 conf-12 {
89 description = "zynqmp-sm-k24-.*-sck-kd-g-.*";
90 fdt = "fdt-12";
91 };
92 conf-13 {
93 description = "zynqmp-sm-k24-.*-sck-kv-g-.*";
94 fdt = "fdt-13";
95 };
96 conf-14 {
97 description = "zynqmp-sm-k24-.*-sck-kr-g-.*";
98 fdt = "fdt-14";
99 };
100 };
101 };
102 };
103
104 /* u-boot.itb generation in a static way */
105 itb {
106 filename = "u-boot.itb";
107 pad-byte = <0>;
108
109 fit {
110 description = "Configuration for Xilinx ZynqMP SoC";
111 fit,align = <0x8>;
112 fit,external-offset = <0x0>;
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";
149 load = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
150 entry = /bits/ 64 <CONFIG_BL31_LOAD_ADDR>;
151 tee-os {
152 optional;
153 };
154 };
155 fdt {
156 description = "Multi DTB fit image";
157 type = "flat_dt";
158 arch = "arm64";
159 compression = "none";
160 load = <0x0 0x100000>;
161 hash {
162 algo = "md5";
163 };
164 fdt-blob {
165 filename = "fit-dtb.blob";
166 type = "blob-ext";
167 };
168 };
169 };
170 configurations {
171 default = "conf-1";
172 conf-1 {
173 description = "Multi DTB with TF-A/TEE";
174 firmware = "atf";
175 loadables = "tee", "uboot", "fdt";
176 };
177 };
178 };
179 };
180
181 /* boot.bin generated with version string inside */
182 bootimage {
183 filename = "boot.bin";
184 pad-byte = <0>;
185
186 blob-ext@1 {
187 offset = <0x0>;
188 filename = "spl/boot.bin";
189 };
190 /* Optional version string at offset 0x70 */
191 blob-ext@2 {
192 offset = <0x70>;
193 filename = "version.bin";
194 overlap;
195 optional;
196 };
197 /* Optional version string at offset 0x94 */
198 blob-ext@3 {
199 offset = <0x94>;
200 filename = "version.bin";
201 overlap;
202 optional;
203 };
204 };
205
206#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS
207 /* Full QSPI image for recovery app */
208 image {
209 filename = "qspi.bin";
210 pad-byte = <0>;
211
212 blob-ext@1 {
213 offset = <0x0>;
214 filename = "boot.bin";
215 };
216 blob-ext@2 {
217 offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
218 filename = "u-boot.itb";
219 };
220 fdtmap {
221 };
222 };
223#endif
224 };
225};