blob: 01b6a8e417ca1016cb68b5add248b10b0bd7857a [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 {
Dhruva Gole57978f72024-08-05 19:59:35 +053074 tifsstub-gp {
75 filename = "tifsstub.bin_gp";
76 ti-secure-rom {
77 content = <&tifsstub_gp>;
78 core = "secure";
79 load = <0x60000>;
80 sw-rev = <CONFIG_K3_X509_SWRV>;
81 keyfile = "ti-degenerate-key.pem";
82 tifsstub;
83 };
84 tifsstub_gp: tifsstub-gp.bin {
85 filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
86 type = "blob-ext";
87 optional;
88 };
89 };
90
Nishanth Menona23cc142023-11-04 03:01:33 -050091 ti-spl_unsigned {
92 filename = "tispl.bin_unsigned";
Dhruva Golea15e47f2024-06-18 10:19:45 +053093 symlink = "tispl.bin";
Nishanth Menona23cc142023-11-04 03:01:33 -050094 pad-byte = <0xff>;
Robert Nelson0c24aad2023-08-25 13:03:03 -050095
Nishanth Menona23cc142023-11-04 03:01:33 -050096 fit {
97 description = "Configuration to load ATF and SPL";
98 #address-cells = <1>;
Robert Nelson0c24aad2023-08-25 13:03:03 -050099
Nishanth Menona23cc142023-11-04 03:01:33 -0500100 images {
Robert Nelson0c24aad2023-08-25 13:03:03 -0500101
Nishanth Menona23cc142023-11-04 03:01:33 -0500102 atf {
103 description = "ARM Trusted Firmware";
104 type = "firmware";
105 arch = "arm64";
106 compression = "none";
107 os = "arm-trusted-firmware";
108 load = <CONFIG_K3_ATF_LOAD_ADDR>;
109 entry = <CONFIG_K3_ATF_LOAD_ADDR>;
110 atf-bl31 {
111 filename = "bl31.bin";
112 };
113 };
114
115 tee {
116 description = "OP-TEE";
117 type = "tee";
118 arch = "arm64";
119 compression = "none";
120 os = "tee";
Andrew Davis27df8602024-02-14 10:30:05 -0600121 load = <CONFIG_K3_OPTEE_LOAD_ADDR>;
122 entry = <CONFIG_K3_OPTEE_LOAD_ADDR>;
Nishanth Menona23cc142023-11-04 03:01:33 -0500123 tee-os {
124 filename = "tee-raw.bin";
125 };
126 };
127
Dhruva Gole57978f72024-08-05 19:59:35 +0530128 tifsstub-gp {
129 description = "tifsstub";
130 type = "firmware";
131 arch = "arm32";
132 compression = "none";
133 os = "tifsstub-gp";
134 load = <0x9dc00000>;
135 entry = <0x9dc00000>;
136 blob-ext {
137 filename = "tifsstub.bin_gp";
138 };
139 };
140
Nishanth Menona23cc142023-11-04 03:01:33 -0500141 dm {
142 description = "DM binary";
143 type = "firmware";
144 arch = "arm32";
145 compression = "none";
146 os = "DM";
147 load = <0x89000000>;
148 entry = <0x89000000>;
Andrew Davis7ed4a852025-04-25 17:54:03 -0500149 ti-dm {
150 filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
Nishanth Menona23cc142023-11-04 03:01:33 -0500151 };
152 };
153
154 spl {
155 description = "SPL (64-bit)";
156 type = "standalone";
157 os = "U-Boot";
158 arch = "arm64";
159 compression = "none";
160 load = <CONFIG_SPL_TEXT_BASE>;
161 entry = <CONFIG_SPL_TEXT_BASE>;
162 blob {
163 filename = "spl/u-boot-spl-nodtb.bin";
164 };
165 };
166
167 fdt-0 {
168 description = "k3-am625-beagleplay";
169 type = "flat_dt";
170 arch = "arm";
171 compression = "none";
172 spl_am625_bp_dtb_unsigned: blob {
173 filename = SPL_AM625_BEAGLEPLAY_DTB;
174 };
175 };
176 };
177
178 configurations {
179 default = "conf-0";
180
181 conf-0 {
182 description = "k3-am625-beagleplay";
183 firmware = "atf";
Dhruva Gole57978f72024-08-05 19:59:35 +0530184 loadables = "tee", "dm", "spl",
185 "tifsstub-gp";
Nishanth Menona23cc142023-11-04 03:01:33 -0500186 fdt = "fdt-0";
187 };
188 };
189 };
190 };
191
192 u-boot_unsigned {
193 filename = "u-boot.img_unsigned";
194 pad-byte = <0xff>;
195
196 fit {
197 description = "FIT image with multiple configurations";
198
199 images {
200 uboot {
201 description = "U-Boot for AM625 board";
202 type = "firmware";
203 os = "u-boot";
204 arch = "arm";
205 compression = "none";
206 load = <CONFIG_TEXT_BASE>;
207 blob {
208 filename = UBOOT_NODTB;
209 };
210 hash {
211 algo = "crc32";
212 };
213 };
214
215 fdt-0 {
216 description = "k3-am625-beagleplay";
217 type = "flat_dt";
218 arch = "arm";
219 compression = "none";
220 am625_bp_dtb_unsigned: blob {
221 filename = AM625_BEAGLEPLAY_DTB;
222 };
223 hash {
224 algo = "crc32";
225 };
226 };
227 };
228
229 configurations {
230 default = "conf-0";
231
232 conf-0 {
233 description = "k3-am625-beagleplay";
234 firmware = "uboot";
235 loadables = "uboot";
236 fdt = "fdt-0";
237 };
238 };
239 };
240 };
241};
Jonathan Humphreys82073c02024-05-31 17:51:06 -0500242
243#include "k3-binman-capsule.dtsi"
244
245// Capsule update GUIDs in string form. See beagleplay.h
246#define BEAGLEPLAY_SPL_IMAGE_GUID_STR "b2e7cc49-1a5a-4036-ae01-3387c3bef657"
247#define BEAGLEPLAY_UBOOT_IMAGE_GUID_STR "92c92b11-a7ee-486f-aaa2-713d84425b0e"
248
249&capsule_tispl {
250 efi-capsule {
251 image-guid = BEAGLEPLAY_SPL_IMAGE_GUID_STR;
252
253 blob {
254 filename = "tispl.bin_unsigned";
255 };
256 };
257};
258
259&capsule_uboot {
260 efi-capsule {
261 image-guid = BEAGLEPLAY_UBOOT_IMAGE_GUID_STR;
262
263 blob {
264 filename = "u-boot.img_unsigned";
265 };
266 };
267};
268
Robert Nelson0c24aad2023-08-25 13:03:03 -0500269#endif
Roger Quadros85d018f2024-05-13 15:13:55 +0300270
271&main_bcdma {
272 reg = <0x00 0x485c0100 0x00 0x100>,
273 <0x00 0x4c000000 0x00 0x20000>,
274 <0x00 0x4a820000 0x00 0x20000>,
275 <0x00 0x4aa40000 0x00 0x20000>,
276 <0x00 0x4bc00000 0x00 0x100000>,
277 <0x00 0x48600000 0x00 0x8000>,
278 <0x00 0x484a4000 0x00 0x2000>,
279 <0x00 0x484c2000 0x00 0x2000>;
280 reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
281 "cfg", "tchan", "rchan";
282};
283
284&main_pktdma {
285 reg = <0x00 0x485c0000 0x00 0x100>,
286 <0x00 0x4a800000 0x00 0x20000>,
287 <0x00 0x4aa00000 0x00 0x40000>,
288 <0x00 0x4b800000 0x00 0x400000>,
289 <0x00 0x485e0000 0x00 0x20000>,
290 <0x00 0x484a0000 0x00 0x4000>,
291 <0x00 0x484c0000 0x00 0x2000>,
292 <0x00 0x48430000 0x00 0x4000>;
293 reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt", "cfg",
294 "tchan", "rchan", "rflow";
295 bootph-all;
296};
297
298&mdio0_pins_default {
299 bootph-all;
300};
301
302&cpsw3g_mdio {
303 bootph-all;
304};
305
306&cpsw3g_phy0 {
307 bootph-all;
308};
309
310&rgmii1_pins_default {
311 bootph-all;
312};
313
314&cpsw3g {
315 bootph-all;
316
317 ethernet-ports {
318 bootph-all;
319 };
320};
321
322&phy_gmii_sel {
323 bootph-all;
324};
325
326&cpsw_port1 {
327 bootph-all;
328};
329
330&cpsw_port2 {
331 status = "disabled";
332};