blob: 467cac68d0f6f65a8e13ecf718a884344c87410f [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
Nishanth Menona23cc142023-11-04 03:01:33 -050081 ti-spl_unsigned {
82 filename = "tispl.bin_unsigned";
Dhruva Golea15e47f2024-06-18 10:19:45 +053083 symlink = "tispl.bin";
Nishanth Menona23cc142023-11-04 03:01:33 -050084 pad-byte = <0xff>;
Robert Nelson0c24aad2023-08-25 13:03:03 -050085
Nishanth Menona23cc142023-11-04 03:01:33 -050086 fit {
87 description = "Configuration to load ATF and SPL";
88 #address-cells = <1>;
Robert Nelson0c24aad2023-08-25 13:03:03 -050089
Nishanth Menona23cc142023-11-04 03:01:33 -050090 images {
Robert Nelson0c24aad2023-08-25 13:03:03 -050091
Nishanth Menona23cc142023-11-04 03:01:33 -050092 atf {
93 description = "ARM Trusted Firmware";
94 type = "firmware";
95 arch = "arm64";
96 compression = "none";
97 os = "arm-trusted-firmware";
98 load = <CONFIG_K3_ATF_LOAD_ADDR>;
99 entry = <CONFIG_K3_ATF_LOAD_ADDR>;
100 atf-bl31 {
101 filename = "bl31.bin";
102 };
103 };
104
105 tee {
106 description = "OP-TEE";
107 type = "tee";
108 arch = "arm64";
109 compression = "none";
110 os = "tee";
Andrew Davis27df8602024-02-14 10:30:05 -0600111 load = <CONFIG_K3_OPTEE_LOAD_ADDR>;
112 entry = <CONFIG_K3_OPTEE_LOAD_ADDR>;
Nishanth Menona23cc142023-11-04 03:01:33 -0500113 tee-os {
114 filename = "tee-raw.bin";
115 };
116 };
117
118 dm {
119 description = "DM binary";
120 type = "firmware";
121 arch = "arm32";
122 compression = "none";
123 os = "DM";
124 load = <0x89000000>;
125 entry = <0x89000000>;
126 blob-ext {
127 filename = "ti-dm.bin";
128 };
129 };
130
131 spl {
132 description = "SPL (64-bit)";
133 type = "standalone";
134 os = "U-Boot";
135 arch = "arm64";
136 compression = "none";
137 load = <CONFIG_SPL_TEXT_BASE>;
138 entry = <CONFIG_SPL_TEXT_BASE>;
139 blob {
140 filename = "spl/u-boot-spl-nodtb.bin";
141 };
142 };
143
144 fdt-0 {
145 description = "k3-am625-beagleplay";
146 type = "flat_dt";
147 arch = "arm";
148 compression = "none";
149 spl_am625_bp_dtb_unsigned: blob {
150 filename = SPL_AM625_BEAGLEPLAY_DTB;
151 };
152 };
153 };
154
155 configurations {
156 default = "conf-0";
157
158 conf-0 {
159 description = "k3-am625-beagleplay";
160 firmware = "atf";
161 loadables = "tee", "dm", "spl";
162 fdt = "fdt-0";
163 };
164 };
165 };
166 };
167
168 u-boot_unsigned {
169 filename = "u-boot.img_unsigned";
170 pad-byte = <0xff>;
171
172 fit {
173 description = "FIT image with multiple configurations";
174
175 images {
176 uboot {
177 description = "U-Boot for AM625 board";
178 type = "firmware";
179 os = "u-boot";
180 arch = "arm";
181 compression = "none";
182 load = <CONFIG_TEXT_BASE>;
183 blob {
184 filename = UBOOT_NODTB;
185 };
186 hash {
187 algo = "crc32";
188 };
189 };
190
191 fdt-0 {
192 description = "k3-am625-beagleplay";
193 type = "flat_dt";
194 arch = "arm";
195 compression = "none";
196 am625_bp_dtb_unsigned: blob {
197 filename = AM625_BEAGLEPLAY_DTB;
198 };
199 hash {
200 algo = "crc32";
201 };
202 };
203 };
204
205 configurations {
206 default = "conf-0";
207
208 conf-0 {
209 description = "k3-am625-beagleplay";
210 firmware = "uboot";
211 loadables = "uboot";
212 fdt = "fdt-0";
213 };
214 };
215 };
216 };
217};
Jonathan Humphreys82073c02024-05-31 17:51:06 -0500218
219#include "k3-binman-capsule.dtsi"
220
221// Capsule update GUIDs in string form. See beagleplay.h
222#define BEAGLEPLAY_SPL_IMAGE_GUID_STR "b2e7cc49-1a5a-4036-ae01-3387c3bef657"
223#define BEAGLEPLAY_UBOOT_IMAGE_GUID_STR "92c92b11-a7ee-486f-aaa2-713d84425b0e"
224
225&capsule_tispl {
226 efi-capsule {
227 image-guid = BEAGLEPLAY_SPL_IMAGE_GUID_STR;
228
229 blob {
230 filename = "tispl.bin_unsigned";
231 };
232 };
233};
234
235&capsule_uboot {
236 efi-capsule {
237 image-guid = BEAGLEPLAY_UBOOT_IMAGE_GUID_STR;
238
239 blob {
240 filename = "u-boot.img_unsigned";
241 };
242 };
243};
244
Robert Nelson0c24aad2023-08-25 13:03:03 -0500245#endif
Roger Quadros85d018f2024-05-13 15:13:55 +0300246
247&main_bcdma {
248 reg = <0x00 0x485c0100 0x00 0x100>,
249 <0x00 0x4c000000 0x00 0x20000>,
250 <0x00 0x4a820000 0x00 0x20000>,
251 <0x00 0x4aa40000 0x00 0x20000>,
252 <0x00 0x4bc00000 0x00 0x100000>,
253 <0x00 0x48600000 0x00 0x8000>,
254 <0x00 0x484a4000 0x00 0x2000>,
255 <0x00 0x484c2000 0x00 0x2000>;
256 reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
257 "cfg", "tchan", "rchan";
258};
259
260&main_pktdma {
261 reg = <0x00 0x485c0000 0x00 0x100>,
262 <0x00 0x4a800000 0x00 0x20000>,
263 <0x00 0x4aa00000 0x00 0x40000>,
264 <0x00 0x4b800000 0x00 0x400000>,
265 <0x00 0x485e0000 0x00 0x20000>,
266 <0x00 0x484a0000 0x00 0x4000>,
267 <0x00 0x484c0000 0x00 0x2000>,
268 <0x00 0x48430000 0x00 0x4000>;
269 reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt", "cfg",
270 "tchan", "rchan", "rflow";
271 bootph-all;
272};
273
274&mdio0_pins_default {
275 bootph-all;
276};
277
278&cpsw3g_mdio {
279 bootph-all;
280};
281
282&cpsw3g_phy0 {
283 bootph-all;
284};
285
286&rgmii1_pins_default {
287 bootph-all;
288};
289
290&cpsw3g {
291 bootph-all;
292
293 ethernet-ports {
294 bootph-all;
295 };
296};
297
298&phy_gmii_sel {
299 bootph-all;
300};
301
302&cpsw_port1 {
303 bootph-all;
304};
305
306&cpsw_port2 {
307 status = "disabled";
308};