blob: a067b0ba3543d7659928b7721f99e2fc20721188 [file] [log] [blame]
Robert Nelson0c24aad2023-08-25 13:03:03 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * https://beagleboard.org/play
4 *
5 * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
6 * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
7 */
8
Nishanth Menona23cc142023-11-04 03:01:33 -05009#include "k3-binman.dtsi"
Robert Nelson0c24aad2023-08-25 13:03:03 -050010
11/ {
12 chosen {
13 tick-timer = &main_timer0;
14 };
15
Robert Nelson0c24aad2023-08-25 13:03:03 -050016 /* Keep the LEDs on by default to indicate life */
17 leds {
Robert Nelson0c24aad2023-08-25 13:03:03 -050018 led-0 {
19 default-state = "on";
Robert Nelson0c24aad2023-08-25 13:03:03 -050020 };
21
22 led-1 {
23 default-state = "on";
Robert Nelson0c24aad2023-08-25 13:03:03 -050024 };
25
26 led-2 {
27 default-state = "on";
Robert Nelson0c24aad2023-08-25 13:03:03 -050028 };
29
30 led-3 {
31 default-state = "on";
Robert Nelson0c24aad2023-08-25 13:03:03 -050032 };
33
34 led-4 {
35 default-state = "on";
Robert Nelson0c24aad2023-08-25 13:03:03 -050036 };
37 };
38};
39
Robert Nelson0c24aad2023-08-25 13:03:03 -050040&main_timer0 {
41 clock-frequency = <25000000>;
Robert Nelson0c24aad2023-08-25 13:03:03 -050042};
43
Robert Nelson0c24aad2023-08-25 13:03:03 -050044&sd_pins_default {
Robert Nelson0c24aad2023-08-25 13:03:03 -050045 /* Force to use SDCD card detect pin */
46 pinctrl-single,pins = <
47 AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
48 AM62X_IOPAD(0x0234, PIN_INPUT, 0) /* (B22) MMC1_CLK */
49 AM62X_IOPAD(0x0230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
50 AM62X_IOPAD(0x022c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
51 AM62X_IOPAD(0x0228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
52 AM62X_IOPAD(0x0224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
53 AM62X_IOPAD(0x0240, PIN_INPUT, 0) /* (D17) MMC1_SDCD.MMC1_SDCD */
54 >;
55};
56
Sjoerd Simons87b60332024-05-06 15:38:45 +010057&usbss0 {
58 bootph-all;
59};
60
61&usb0 {
62 dr_mode = "peripheral";
63 bootph-all;
64};
65
Nishanth Menona23cc142023-11-04 03:01:33 -050066#ifdef CONFIG_TARGET_AM625_A53_BEAGLEPLAY
Robert Nelson0c24aad2023-08-25 13:03:03 -050067
Nishanth Menona23cc142023-11-04 03:01:33 -050068#define SPL_NODTB "spl/u-boot-spl-nodtb.bin"
Nishanth Menon21767042024-06-05 10:27:50 -050069#define SPL_AM625_BEAGLEPLAY_DTB "spl/dts/ti/k3-am625-beagleplay.dtb"
Nishanth Menona23cc142023-11-04 03:01:33 -050070#define UBOOT_NODTB "u-boot-nodtb.bin"
Nishanth Menon21767042024-06-05 10:27:50 -050071#define AM625_BEAGLEPLAY_DTB "dts/upstream/src/arm64/ti/k3-am625-beagleplay.dtb"
Robert Nelson0c24aad2023-08-25 13:03:03 -050072
Nishanth Menona23cc142023-11-04 03:01:33 -050073&binman {
74 ti-dm {
75 filename = "ti-dm.bin";
76 blob-ext {
77 filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
78 };
79 };
Robert Nelson0c24aad2023-08-25 13:03:03 -050080
Dhruva Gole57978f72024-08-05 19:59:35 +053081 tifsstub-gp {
82 filename = "tifsstub.bin_gp";
83 ti-secure-rom {
84 content = <&tifsstub_gp>;
85 core = "secure";
86 load = <0x60000>;
87 sw-rev = <CONFIG_K3_X509_SWRV>;
88 keyfile = "ti-degenerate-key.pem";
89 tifsstub;
90 };
91 tifsstub_gp: tifsstub-gp.bin {
92 filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
93 type = "blob-ext";
94 optional;
95 };
96 };
97
Nishanth Menona23cc142023-11-04 03:01:33 -050098 ti-spl_unsigned {
99 filename = "tispl.bin_unsigned";
Dhruva Golea15e47f2024-06-18 10:19:45 +0530100 symlink = "tispl.bin";
Nishanth Menona23cc142023-11-04 03:01:33 -0500101 pad-byte = <0xff>;
Robert Nelson0c24aad2023-08-25 13:03:03 -0500102
Nishanth Menona23cc142023-11-04 03:01:33 -0500103 fit {
104 description = "Configuration to load ATF and SPL";
105 #address-cells = <1>;
Robert Nelson0c24aad2023-08-25 13:03:03 -0500106
Nishanth Menona23cc142023-11-04 03:01:33 -0500107 images {
Robert Nelson0c24aad2023-08-25 13:03:03 -0500108
Nishanth Menona23cc142023-11-04 03:01:33 -0500109 atf {
110 description = "ARM Trusted Firmware";
111 type = "firmware";
112 arch = "arm64";
113 compression = "none";
114 os = "arm-trusted-firmware";
115 load = <CONFIG_K3_ATF_LOAD_ADDR>;
116 entry = <CONFIG_K3_ATF_LOAD_ADDR>;
117 atf-bl31 {
118 filename = "bl31.bin";
119 };
120 };
121
122 tee {
123 description = "OP-TEE";
124 type = "tee";
125 arch = "arm64";
126 compression = "none";
127 os = "tee";
Andrew Davis27df8602024-02-14 10:30:05 -0600128 load = <CONFIG_K3_OPTEE_LOAD_ADDR>;
129 entry = <CONFIG_K3_OPTEE_LOAD_ADDR>;
Nishanth Menona23cc142023-11-04 03:01:33 -0500130 tee-os {
131 filename = "tee-raw.bin";
132 };
133 };
134
Dhruva Gole57978f72024-08-05 19:59:35 +0530135 tifsstub-gp {
136 description = "tifsstub";
137 type = "firmware";
138 arch = "arm32";
139 compression = "none";
140 os = "tifsstub-gp";
141 load = <0x9dc00000>;
142 entry = <0x9dc00000>;
143 blob-ext {
144 filename = "tifsstub.bin_gp";
145 };
146 };
147
Nishanth Menona23cc142023-11-04 03:01:33 -0500148 dm {
149 description = "DM binary";
150 type = "firmware";
151 arch = "arm32";
152 compression = "none";
153 os = "DM";
154 load = <0x89000000>;
155 entry = <0x89000000>;
156 blob-ext {
157 filename = "ti-dm.bin";
158 };
159 };
160
161 spl {
162 description = "SPL (64-bit)";
163 type = "standalone";
164 os = "U-Boot";
165 arch = "arm64";
166 compression = "none";
167 load = <CONFIG_SPL_TEXT_BASE>;
168 entry = <CONFIG_SPL_TEXT_BASE>;
169 blob {
170 filename = "spl/u-boot-spl-nodtb.bin";
171 };
172 };
173
174 fdt-0 {
175 description = "k3-am625-beagleplay";
176 type = "flat_dt";
177 arch = "arm";
178 compression = "none";
179 spl_am625_bp_dtb_unsigned: blob {
180 filename = SPL_AM625_BEAGLEPLAY_DTB;
181 };
182 };
183 };
184
185 configurations {
186 default = "conf-0";
187
188 conf-0 {
189 description = "k3-am625-beagleplay";
190 firmware = "atf";
Dhruva Gole57978f72024-08-05 19:59:35 +0530191 loadables = "tee", "dm", "spl",
192 "tifsstub-gp";
Nishanth Menona23cc142023-11-04 03:01:33 -0500193 fdt = "fdt-0";
194 };
195 };
196 };
197 };
198
199 u-boot_unsigned {
200 filename = "u-boot.img_unsigned";
201 pad-byte = <0xff>;
202
203 fit {
204 description = "FIT image with multiple configurations";
205
206 images {
207 uboot {
208 description = "U-Boot for AM625 board";
209 type = "firmware";
210 os = "u-boot";
211 arch = "arm";
212 compression = "none";
213 load = <CONFIG_TEXT_BASE>;
214 blob {
215 filename = UBOOT_NODTB;
216 };
217 hash {
218 algo = "crc32";
219 };
220 };
221
222 fdt-0 {
223 description = "k3-am625-beagleplay";
224 type = "flat_dt";
225 arch = "arm";
226 compression = "none";
227 am625_bp_dtb_unsigned: blob {
228 filename = AM625_BEAGLEPLAY_DTB;
229 };
230 hash {
231 algo = "crc32";
232 };
233 };
234 };
235
236 configurations {
237 default = "conf-0";
238
239 conf-0 {
240 description = "k3-am625-beagleplay";
241 firmware = "uboot";
242 loadables = "uboot";
243 fdt = "fdt-0";
244 };
245 };
246 };
247 };
248};
Jonathan Humphreys82073c02024-05-31 17:51:06 -0500249
250#include "k3-binman-capsule.dtsi"
251
252// Capsule update GUIDs in string form. See beagleplay.h
253#define BEAGLEPLAY_SPL_IMAGE_GUID_STR "b2e7cc49-1a5a-4036-ae01-3387c3bef657"
254#define BEAGLEPLAY_UBOOT_IMAGE_GUID_STR "92c92b11-a7ee-486f-aaa2-713d84425b0e"
255
256&capsule_tispl {
257 efi-capsule {
258 image-guid = BEAGLEPLAY_SPL_IMAGE_GUID_STR;
259
260 blob {
261 filename = "tispl.bin_unsigned";
262 };
263 };
264};
265
266&capsule_uboot {
267 efi-capsule {
268 image-guid = BEAGLEPLAY_UBOOT_IMAGE_GUID_STR;
269
270 blob {
271 filename = "u-boot.img_unsigned";
272 };
273 };
274};
275
Robert Nelson0c24aad2023-08-25 13:03:03 -0500276#endif
Roger Quadros85d018f2024-05-13 15:13:55 +0300277
278&main_bcdma {
279 reg = <0x00 0x485c0100 0x00 0x100>,
280 <0x00 0x4c000000 0x00 0x20000>,
281 <0x00 0x4a820000 0x00 0x20000>,
282 <0x00 0x4aa40000 0x00 0x20000>,
283 <0x00 0x4bc00000 0x00 0x100000>,
284 <0x00 0x48600000 0x00 0x8000>,
285 <0x00 0x484a4000 0x00 0x2000>,
286 <0x00 0x484c2000 0x00 0x2000>;
287 reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
288 "cfg", "tchan", "rchan";
289};
290
291&main_pktdma {
292 reg = <0x00 0x485c0000 0x00 0x100>,
293 <0x00 0x4a800000 0x00 0x20000>,
294 <0x00 0x4aa00000 0x00 0x40000>,
295 <0x00 0x4b800000 0x00 0x400000>,
296 <0x00 0x485e0000 0x00 0x20000>,
297 <0x00 0x484a0000 0x00 0x4000>,
298 <0x00 0x484c0000 0x00 0x2000>,
299 <0x00 0x48430000 0x00 0x4000>;
300 reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt", "cfg",
301 "tchan", "rchan", "rflow";
302 bootph-all;
303};
304
305&mdio0_pins_default {
306 bootph-all;
307};
308
309&cpsw3g_mdio {
310 bootph-all;
311};
312
313&cpsw3g_phy0 {
314 bootph-all;
315};
316
317&rgmii1_pins_default {
318 bootph-all;
319};
320
321&cpsw3g {
322 bootph-all;
323
324 ethernet-ports {
325 bootph-all;
326 };
327};
328
329&phy_gmii_sel {
330 bootph-all;
331};
332
333&cpsw_port1 {
334 bootph-all;
335};
336
337&cpsw_port2 {
338 status = "disabled";
339};