blob: 79ca6387c22bbd8de350989915e93a96a27a799e [file] [log] [blame]
Lokesh Vutlab50abe22018-11-02 19:51:09 +05301// SPDX-License-Identifier: GPL-2.0
2/*
Nishanth Menoneaa39c62023-11-01 15:56:03 -05003 * Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
Lokesh Vutlab50abe22018-11-02 19:51:09 +05304 */
5
6/dts-v1/;
7
Bryan Brattlof33d4ea32023-12-29 11:47:03 -06008#include "k3-am654-base-board.dts"
9#include "k3-am654-base-board-u-boot.dtsi"
James Doublesine88e4722019-10-07 14:04:25 +053010#include "k3-am654-base-board-ddr4-1600MTs.dtsi"
Lokesh Vutlab50abe22018-11-02 19:51:09 +053011#include "k3-am654-ddr.dtsi"
12
13/ {
14 compatible = "ti,am654-evm", "ti,am654";
15 model = "Texas Instruments AM654 R5 Base Board";
16
17 aliases {
Bryan Brattlofd08cada2023-12-29 11:47:00 -060018 ethernet0 = &cpsw_port1;
19 remoteproc0 = &sysctrler;
20 remoteproc1 = &a53_0;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053021 serial0 = &wkup_uart0;
Andreas Dannenberg70734362019-08-15 15:55:30 -050022 serial1 = &mcu_uart0;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053023 serial2 = &main_uart0;
Bryan Brattlofd08cada2023-12-29 11:47:00 -060024 spi0 = &ospi0;
25 spi1 = &ospi1;
26 usb0 = &usb0;
27 usb1 = &usb1;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053028 };
29
30 chosen {
31 stdout-path = "serial2:115200n8";
32 tick-timer = &timer1;
33 };
34
Lokesh Vutlab50abe22018-11-02 19:51:09 +053035 a53_0: a53@0 {
36 compatible = "ti,am654-rproc";
37 reg = <0x0 0x00a90000 0x0 0x10>;
Lokesh Vutla61ff6a32019-06-07 19:24:47 +053038 power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
39 <&k3_pds 202 TI_SCI_PD_EXCLUSIVE>;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053040 resets = <&k3_reset 202 0>;
Nishanth Menon975b78c2021-01-06 13:20:31 -060041 clocks = <&k3_clks 61 0>;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053042 assigned-clocks = <&k3_clks 202 0>;
43 assigned-clock-rates = <800000000>;
44 ti,sci = <&dmsc>;
45 ti,sci-proc-id = <32>;
46 ti,sci-host-id = <10>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070047 bootph-pre-ram;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053048 };
49
50 vtt_supply: vtt_supply {
51 compatible = "regulator-gpio";
52 regulator-name = "vtt";
53 regulator-min-microvolt = <0>;
54 regulator-max-microvolt = <3300000>;
55 gpios = <&wkup_gpio0 28 GPIO_ACTIVE_HIGH>;
56 states = <0 0x0 3300000 0x1>;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053057 };
58};
59
60&cbass_main {
61 timer1: timer@40400000 {
62 compatible = "ti,omap5430-timer";
63 reg = <0x0 0x40400000 0x0 0x80>;
64 ti,timer-alwon;
65 clock-frequency = <25000000>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070066 bootph-all;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053067 };
68};
69
70&cbass_mcu {
71 mcu_secproxy: secproxy@28380000 {
72 compatible = "ti,am654-secure-proxy";
73 reg = <0x0 0x2a380000 0x0 0x80000>,
74 <0x0 0x2a400000 0x0 0x80000>,
75 <0x0 0x2a480000 0x0 0x80000>;
76 reg-names = "rt", "scfg", "target_data";
77 #mbox-cells = <1>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070078 bootph-pre-ram;
Lokesh Vutlab50abe22018-11-02 19:51:09 +053079 };
Bryan Brattlofd08cada2023-12-29 11:47:00 -060080
81 mcu_navss: bus@28380000 {
Bryan Brattlofd08cada2023-12-29 11:47:00 -060082 ringacc@2b800000 {
83 reg = <0x0 0x2b800000 0x0 0x400000>,
84 <0x0 0x2b000000 0x0 0x400000>,
85 <0x0 0x28590000 0x0 0x100>,
86 <0x0 0x2a500000 0x0 0x40000>,
87 <0x0 0x28440000 0x0 0x40000>;
88 reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target", "cfg";
Bryan Brattlofd08cada2023-12-29 11:47:00 -060089 ti,dma-ring-reset-quirk;
90 };
91
92 dma-controller@285c0000 {
93 reg = <0x0 0x285c0000 0x0 0x100>,
94 <0x0 0x284c0000 0x0 0x4000>,
95 <0x0 0x2a800000 0x0 0x40000>,
96 <0x0 0x284a0000 0x0 0x4000>,
97 <0x0 0x2aa00000 0x0 0x40000>,
98 <0x0 0x28400000 0x0 0x2000>;
99 reg-names = "gcfg", "rchan", "rchanrt", "tchan",
100 "tchanrt", "rflow";
Bryan Brattlofd08cada2023-12-29 11:47:00 -0600101 };
102 };
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530103};
104
105&cbass_wakeup {
106 sysctrler: sysctrler {
107 compatible = "ti,am654-system-controller";
108 mboxes= <&mcu_secproxy 4>, <&mcu_secproxy 5>;
109 mbox-names = "tx", "rx";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700110 bootph-pre-ram;
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530111 };
112
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530113 clk_200mhz: dummy_clock {
114 compatible = "fixed-clock";
115 #clock-cells = <0>;
116 clock-frequency = <200000000>;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700117 bootph-pre-ram;
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530118 };
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530119};
120
121&dmsc {
Andreas Dannenberg2d2777d2019-04-25 12:27:02 -0500122 mboxes= <&mcu_secproxy 8>, <&mcu_secproxy 6>, <&mcu_secproxy 5>;
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530123 mbox-names = "tx", "rx", "notify";
124 ti,host-id = <4>;
125 ti,secure-host;
126};
127
128&wkup_uart0 {
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530129 pinctrl-names = "default";
130 pinctrl-0 = <&wkup_uart0_pins_default>;
131 status = "okay";
Bryan Brattlof62e59b22023-12-29 11:47:02 -0600132 bootph-pre-ram;
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530133};
134
Andreas Dannenberg70734362019-08-15 15:55:30 -0500135&mcu_uart0 {
Andreas Dannenberg70734362019-08-15 15:55:30 -0500136 pinctrl-names = "default";
137 pinctrl-0 = <&mcu_uart0_pins_default>;
138 clock-frequency = <48000000>;
Lokesh Vutla462275c2021-02-01 11:26:39 +0530139 /delete-property/ power-domains;
Andreas Dannenberg70734362019-08-15 15:55:30 -0500140 status = "okay";
Bryan Brattlof62e59b22023-12-29 11:47:02 -0600141 bootph-pre-ram;
Andreas Dannenberg70734362019-08-15 15:55:30 -0500142};
143
Lokesh Vutla61ff6a32019-06-07 19:24:47 +0530144&main_uart0 {
Lokesh Vutla462275c2021-02-01 11:26:39 +0530145 pinctrl-names = "default";
146 pinctrl-0 = <&main_uart0_pins_default>;
Lokesh Vutla61ff6a32019-06-07 19:24:47 +0530147 power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
Lokesh Vutla462275c2021-02-01 11:26:39 +0530148 status = "okay";
Lokesh Vutla61ff6a32019-06-07 19:24:47 +0530149};
150
Tero Kristo22193902019-10-24 15:00:57 +0530151&wkup_vtm0 {
Lokesh Vutla462275c2021-02-01 11:26:39 +0530152 compatible = "ti,am654-vtm", "ti,am654-avs";
Tero Kristo22193902019-10-24 15:00:57 +0530153 vdd-supply-3 = <&vdd_mpu>;
154 vdd-supply-4 = <&vdd_mpu>;
Tero Kristo22193902019-10-24 15:00:57 +0530155};
156
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530157&wkup_pmx0 {
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530158 wkup_uart0_pins_default: wkup_uart0_pins_default {
159 pinctrl-single,pins = <
Andreas Dannenbergbfdf4982019-04-29 12:56:44 -0500160 AM65X_WKUP_IOPAD(0x00a0, PIN_INPUT, 0) /* (AB1) WKUP_UART0_RXD */
161 AM65X_WKUP_IOPAD(0x00a4, PIN_OUTPUT, 0) /* (AB5) WKUP_UART0_TXD */
162 AM65X_WKUP_IOPAD(0x00c8, PIN_INPUT, 1) /* (AC2) WKUP_GPIO0_6.WKUP_UART0_CTSn */
163 AM65X_WKUP_IOPAD(0x00cc, PIN_OUTPUT, 1) /* (AC1) WKUP_GPIO0_7.WKUP_UART0_RTSn */
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530164 >;
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530165 };
166
167 wkup_vtt_pins_default: wkup_vtt_pins_default {
168 pinctrl-single,pins = <
Andreas Dannenbergbfdf4982019-04-29 12:56:44 -0500169 AM65X_WKUP_IOPAD(0x0040, PIN_OUTPUT_PULLUP, 7) /* WKUP_GPIO0_28 */
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530170 >;
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530171 };
Andreas Dannenbergd20cf7b2019-06-04 18:08:15 -0500172
Andreas Dannenberg70734362019-08-15 15:55:30 -0500173 mcu_uart0_pins_default: mcu_uart0_pins_default {
174 pinctrl-single,pins = <
175 AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 4) /* (P4) MCU_OSPI1_D1.MCU_UART0_RXD */
176 AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4) /* (P5) MCU_OSPI1_D2.MCU_UART0_TXD */
177 AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 4) /* (P1) MCU_OSPI1_D3.MCU_UART0_CTSn */
178 AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 4) /* (N3) MCU_OSPI1_CSn1.MCU_UART0_RTSn */
179 >;
Andreas Dannenberg70734362019-08-15 15:55:30 -0500180 };
181
Andreas Dannenbergd20cf7b2019-06-04 18:08:15 -0500182 wkup_i2c0_pins_default: wkup-i2c0-pins-default {
183 pinctrl-single,pins = <
184 AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0) /* (AC7) WKUP_I2C0_SCL */
185 AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0) /* (AD6) WKUP_I2C0_SDA */
186 >;
187 };
Vignesh Raghavendra1ee79552020-02-04 11:09:51 +0530188
189 mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins_default {
190 pinctrl-single,pins = <
191 AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* (V1) MCU_OSPI0_CLK */
192 AM65X_WKUP_IOPAD(0x0008, PIN_INPUT, 0) /* (U2) MCU_OSPI0_DQS */
193 AM65X_WKUP_IOPAD(0x000c, PIN_INPUT, 0) /* (U4) MCU_OSPI0_D0 */
194 AM65X_WKUP_IOPAD(0x0010, PIN_INPUT, 0) /* (U5) MCU_OSPI0_D1 */
195 AM65X_WKUP_IOPAD(0x0014, PIN_INPUT, 0) /* (T2) MCU_OSPI0_D2 */
196 AM65X_WKUP_IOPAD(0x0018, PIN_INPUT, 0) /* (T3) MCU_OSPI0_D3 */
197 AM65X_WKUP_IOPAD(0x001c, PIN_INPUT, 0) /* (T4) MCU_OSPI0_D4 */
198 AM65X_WKUP_IOPAD(0x0020, PIN_INPUT, 0) /* (T5) MCU_OSPI0_D5 */
199 AM65X_WKUP_IOPAD(0x0024, PIN_INPUT, 0) /* (R2) MCU_OSPI0_D6 */
200 AM65X_WKUP_IOPAD(0x0028, PIN_INPUT, 0) /* (R3) MCU_OSPI0_D7 */
201 AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0) /* (R4) MCU_OSPI0_CSn0 */
202 >;
203 };
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530204};
205
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530206&main_pmx0 {
Lokesh Vutla462275c2021-02-01 11:26:39 +0530207 main_uart0_pins_default: main-uart0-pins-default {
208 pinctrl-single,pins = <
209 AM65X_IOPAD(0x01e4, PIN_INPUT, 0) /* (AF11) UART0_RXD */
210 AM65X_IOPAD(0x01e8, PIN_OUTPUT, 0) /* (AE11) UART0_TXD */
211 AM65X_IOPAD(0x01ec, PIN_INPUT, 0) /* (AG11) UART0_CTSn */
212 AM65X_IOPAD(0x01f0, PIN_OUTPUT, 0) /* (AD11) UART0_RTSn */
213 >;
Lokesh Vutla462275c2021-02-01 11:26:39 +0530214 };
215
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530216 main_mmc0_pins_default: main_mmc0_pins_default {
217 pinctrl-single,pins = <
218 AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
219 AM65X_IOPAD(0x01aC, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
220 AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
221 AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
222 AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
223 AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
224 AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
225 AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
226 AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
227 AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
228 AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
229 >;
Faiz Abbas43f69202021-02-04 15:10:56 +0530230 };
231
232 main_mmc1_pins_default: main_mmc1_pins_default {
233 pinctrl-single,pins = <
234 AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0) /* (C27) MMC1_CLK */
235 AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP, 0) /* (C28) MMC1_CMD */
236 AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP, 0) /* (D28) MMC1_DAT0 */
237 AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP, 0) /* (E27) MMC1_DAT1 */
238 AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP, 0) /* (D26) MMC1_DAT2 */
239 AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP, 0) /* (D27) MMC1_DAT3 */
240 AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP, 0) /* (B24) MMC1_SDCD */
241 AM65X_IOPAD(0x02e0, PIN_INPUT, 0) /* (C24) MMC1_SDWP */
242 >;
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530243 };
Bryan Brattlofd08cada2023-12-29 11:47:00 -0600244
245 usb0_pins_default: usb0_pins_default {
246 pinctrl-single,pins = <
247 AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
248 >;
Bryan Brattlofd08cada2023-12-29 11:47:00 -0600249 };
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530250};
251
Lokesh Vutlab50abe22018-11-02 19:51:09 +0530252&memorycontroller {
253 vtt-supply = <&vtt_supply>;
254 pinctrl-names = "default";
255 pinctrl-0 = <&wkup_vtt_pins_default>;
256};
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530257
258&sdhci0 {
259 clock-names = "clk_xin";
260 clocks = <&clk_200mhz>;
Faiz Abbas43f69202021-02-04 15:10:56 +0530261 pinctrl-0 = <&main_mmc0_pins_default>;
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530262 /delete-property/ power-domains;
263 ti,driver-strength-ohm = <50>;
264};
265
266&sdhci1 {
267 clock-names = "clk_xin";
268 clocks = <&clk_200mhz>;
Faiz Abbas43f69202021-02-04 15:10:56 +0530269 pinctrl-0 = <&main_mmc1_pins_default>;
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530270 /delete-property/ power-domains;
Faiz Abbasaa8d1b72019-06-11 00:43:36 +0530271 ti,driver-strength-ohm = <50>;
Faiz Abbasd8fb3092019-06-11 00:43:31 +0530272};
Andreas Dannenbergd20cf7b2019-06-04 18:08:15 -0500273
274&wkup_i2c0 {
275 pinctrl-names = "default";
276 pinctrl-0 = <&wkup_i2c0_pins_default>;
277 clock-frequency = <400000>;
Tero Kristof66d6862019-10-24 15:00:56 +0530278
279 vdd_mpu: tps62363@60 {
280 compatible = "ti,tps62363";
281 reg = <0x60>;
282 regulator-name = "VDD_MPU";
283 regulator-min-microvolt = <500000>;
284 regulator-max-microvolt = <1770000>;
285 regulator-always-on;
286 regulator-boot-on;
287 ti,vsel0-state-high;
288 ti,vsel1-state-high;
Tero Kristof66d6862019-10-24 15:00:56 +0530289 };
Andreas Dannenbergd20cf7b2019-06-04 18:08:15 -0500290};
Vignesh Raghavendra1ee79552020-02-04 11:09:51 +0530291
292&ospi0 {
293 pinctrl-names = "default";
294 pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
Bryan Brattlofd08cada2023-12-29 11:47:00 -0600295 bootph-pre-ram;
Vignesh Raghavendra1ee79552020-02-04 11:09:51 +0530296
297 reg = <0x0 0x47040000 0x0 0x100>,
298 <0x0 0x50000000 0x0 0x8000000>;
299
300 flash@0{
301 compatible = "jedec,spi-nor";
302 reg = <0x0>;
303 spi-tx-bus-width = <1>;
304 spi-rx-bus-width = <8>;
Vignesh Raghavendra032a8552020-04-02 18:59:12 +0530305 spi-max-frequency = <50000000>;
Vignesh Raghavendra1ee79552020-02-04 11:09:51 +0530306 cdns,tshsl-ns = <60>;
307 cdns,tsd2d-ns = <60>;
308 cdns,tchsh-ns = <60>;
309 cdns,tslch-ns = <60>;
310 cdns,read-delay = <0>;
311 #address-cells = <1>;
312 #size-cells = <1>;
313 };
314};
Faiz Abbas60a7ab22020-08-03 11:35:11 +0530315
316&main_pmx0 {
Faiz Abbas60a7ab22020-08-03 11:35:11 +0530317 usb0_pins_default: usb0_pins_default {
318 pinctrl-single,pins = <
319 AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
320 >;
Faiz Abbas60a7ab22020-08-03 11:35:11 +0530321 };
322};
323
324&dwc3_0 {
325 status = "okay";
Aswath Govindraju57c687b2022-05-18 16:49:12 +0530326 /delete-property/ clocks;
Faiz Abbas60a7ab22020-08-03 11:35:11 +0530327 /delete-property/ power-domains;
328 /delete-property/ assigned-clocks;
329 /delete-property/ assigned-clock-parents;
330};
331
332&usb0_phy {
333 status = "okay";
Faiz Abbas60a7ab22020-08-03 11:35:11 +0530334 /delete-property/ clocks;
335};
336
337&usb0 {
338 pinctrl-names = "default";
339 pinctrl-0 = <&usb0_pins_default>;
340 dr_mode = "peripheral";
Faiz Abbas60a7ab22020-08-03 11:35:11 +0530341};
Bryan Brattlofd08cada2023-12-29 11:47:00 -0600342
343&davinci_mdio {
344 phy0: ethernet-phy@0 {
345 reg = <0>;
346 /* TODO: phy reset: TCA9555RTWR(i2c:0x21)[p04].GPIO_MCU_RGMII_RSTN */
347 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
348 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
349 };
350};
351
352&mcu_cpsw {
353 reg = <0x0 0x46000000 0x0 0x200000>,
354 <0x0 0x40f00200 0x0 0x2>;
355 reg-names = "cpsw_nuss", "mac_efuse";
356 /delete-property/ ranges;
357
358 cpsw-phy-sel@40f04040 {
359 compatible = "ti,am654-cpsw-phy-sel";
360 reg= <0x0 0x40f04040 0x0 0x4>;
361 reg-names = "gmii-sel";
362 };
363};
364
365&usb1 {
366 dr_mode = "peripheral";
367};