blob: b49064181a08ac64ad3a96e49fb9f18d5ad3b37b [file] [log] [blame]
Dave Gerlach278e7ac2021-04-23 11:27:46 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
4 */
5
6/dts-v1/;
7
8#include "k3-am642.dtsi"
Dave Gerlach3daecde2021-05-04 18:00:52 -05009#include "k3-am64-evm-ddr4-1600MTs.dtsi"
10#include "k3-am64-ddr.dtsi"
Neha Malcom Francis9a1b2712023-07-22 00:14:34 +053011#include "k3-am64x-binman.dtsi"
Dave Gerlach278e7ac2021-04-23 11:27:46 -050012
13/ {
14 chosen {
15 stdout-path = "serial2:115200n8";
16 tick-timer = &timer1;
17 };
18
19 aliases {
20 remoteproc0 = &sysctrler;
21 remoteproc1 = &a53_0;
22 };
23
24 memory@80000000 {
25 device_type = "memory";
26 /* 2G RAM */
27 reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
28
Simon Glassd3a98cb2023-02-13 08:56:33 -070029 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050030 };
31
32 a53_0: a53@0 {
33 compatible = "ti,am654-rproc";
34 reg = <0x00 0x00a90000 0x00 0x10>;
35 power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
Manorit Chawdhry99aceb82023-04-14 09:47:57 +053036 <&k3_pds 135 TI_SCI_PD_EXCLUSIVE>,
37 <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050038 resets = <&k3_reset 135 0>;
39 clocks = <&k3_clks 61 0>;
40 assigned-clocks = <&k3_clks 61 0>, <&k3_clks 135 0>;
41 assigned-clock-parents = <&k3_clks 61 2>;
42 assigned-clock-rates = <200000000>, <1000000000>;
43 ti,sci = <&dmsc>;
44 ti,sci-proc-id = <32>;
45 ti,sci-host-id = <10>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070046 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050047 };
48
49 reserved-memory {
50 #address-cells = <2>;
51 #size-cells = <2>;
52 ranges;
53
54 secure_ddr: optee@9e800000 {
55 reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
56 alignment = <0x1000>;
57 no-map;
58 };
59 };
60
61 clk_200mhz: dummy-clock-200mhz {
62 compatible = "fixed-clock";
63 #clock-cells = <0>;
64 clock-frequency = <200000000>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070065 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050066 };
Nishanth Menond6a453c2021-05-04 18:00:55 -050067
68 vtt_supply: vtt-supply {
69 compatible = "regulator-gpio";
70 regulator-name = "vtt";
71 regulator-min-microvolt = <0>;
72 regulator-max-microvolt = <3300000>;
73 gpios = <&main_gpio0 12 GPIO_ACTIVE_HIGH>;
74 states = <0 0x0 3300000 0x1>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070075 bootph-pre-ram;
Nishanth Menond6a453c2021-05-04 18:00:55 -050076 };
Dave Gerlach278e7ac2021-04-23 11:27:46 -050077};
78
79&cbass_main {
80 sysctrler: sysctrler {
81 compatible = "ti,am654-system-controller";
82 mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>;
83 mbox-names = "tx", "rx";
Simon Glassd3a98cb2023-02-13 08:56:33 -070084 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050085 };
86};
87
Hari Nagalla789225e2022-03-09 14:42:29 -060088&cbass_main {
89 main_esm: esm@420000 {
90 compatible = "ti,j721e-esm";
91 reg = <0x0 0x420000 0x0 0x1000>;
92 ti,esm-pins = <160>, <161>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070093 bootph-pre-ram;
Hari Nagalla789225e2022-03-09 14:42:29 -060094 };
95};
96
97&cbass_mcu {
Simon Glassd3a98cb2023-02-13 08:56:33 -070098 bootph-pre-ram;
Hari Nagalla789225e2022-03-09 14:42:29 -060099 mcu_esm: esm@4100000 {
100 compatible = "ti,j721e-esm";
101 reg = <0x0 0x4100000 0x0 0x1000>;
102 ti,esm-pins = <0>, <1>;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700103 bootph-pre-ram;
Hari Nagalla789225e2022-03-09 14:42:29 -0600104 };
105};
106
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500107&main_pmx0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700108 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500109 main_uart0_pins_default: main-uart0-pins-default {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700110 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500111 pinctrl-single,pins = <
112 AM64X_IOPAD(0x0238, PIN_INPUT, 0) /* (B16) UART0_CTSn */
113 AM64X_IOPAD(0x023c, PIN_OUTPUT, 0) /* (A16) UART0_RTSn */
114 AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
115 AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
116 >;
117 };
118
119 main_uart1_pins_default: main-uart1-pins-default {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700120 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500121 pinctrl-single,pins = <
122 AM64X_IOPAD(0x0248, PIN_INPUT, 0) /* (D16) UART1_CTSn */
123 AM64X_IOPAD(0x024c, PIN_OUTPUT, 0) /* (E16) UART1_RTSn */
124 AM64X_IOPAD(0x0240, PIN_INPUT, 0) /* (E15) UART1_RXD */
125 AM64X_IOPAD(0x0244, PIN_OUTPUT, 0) /* (E14) UART1_TXD */
126 >;
127 };
128
129 main_mmc0_pins_default: main-mmc0-pins-default {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700130 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500131 pinctrl-single,pins = <
132 AM64X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
133 AM64X_IOPAD(0x01aC, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
134 AM64X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
135 AM64X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
136 AM64X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
137 AM64X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
138 AM64X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
139 AM64X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
140 AM64X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
141 AM64X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
142 AM64X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
143 >;
144 };
145
146 main_mmc1_pins_default: main-mmc1-pins-default {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700147 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500148 pinctrl-single,pins = <
149 AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
150 AM64X_IOPAD(0x028c, PIN_INPUT_PULLDOWN, 0) /* (L20) MMC1_CLK */
151 AM64X_IOPAD(0x0288, PIN_INPUT_PULLUP, 0) /* (K21) MMC1_DAT0 */
152 AM64X_IOPAD(0x0284, PIN_INPUT_PULLUP, 0) /* (L21) MMC1_DAT1 */
153 AM64X_IOPAD(0x0280, PIN_INPUT_PULLUP, 0) /* (K19) MMC1_DAT2 */
154 AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* (K18) MMC1_DAT3 */
155 AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* (D19) MMC1_SDCD */
156 AM64X_IOPAD(0x029c, PIN_INPUT_PULLUP, 0) /* (C20) MMC1_SDWP */
157 >;
158 };
Nishanth Menond6a453c2021-05-04 18:00:55 -0500159
160 ddr_vtt_pins_default: ddr-vtt-pins-default {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700161 bootph-pre-ram;
Nishanth Menond6a453c2021-05-04 18:00:55 -0500162 pinctrl-single,pins = <
163 AM64X_IOPAD(0x0030, PIN_OUTPUT_PULLUP, 7) /* (L18) OSPI0_CSN1.GPIO0_12 */
164 >;
165 };
Aswath Govindraju0b2481e2021-06-04 22:00:36 +0530166
167 main_usb0_pins_default: main-usb0-pins-default {
168 pinctrl-single,pins = <
169 AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (E19) USB0_DRVVBUS */
170 >;
171 };
Roger Quadros7350eb22023-01-24 11:43:27 +0200172
173 mdio1_pins_default: mdio1-pins-default {
174 pinctrl-single,pins = <
175 AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
176 AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
177 >;
178 };
179
180 rgmii1_pins_default: rgmii1-pins-default {
181 pinctrl-single,pins = <
182 AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
183 AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
184 AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
185 AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
186 AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
187 AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
188 AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
189 AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
190 AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
191 AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
192 AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
193 AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
194 >;
195 };
196
197 rgmii2_pins_default: rgmii2-pins-default {
198 pinctrl-single,pins = <
199 AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
200 AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
201 AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
202 AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
203 AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
204 AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
205 AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
206 AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
207 AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
208 AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
209 AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
210 AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
211 >;
212 };
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500213};
214
215&dmsc {
216 mboxes= <&secure_proxy_main 0>,
217 <&secure_proxy_main 1>,
218 <&secure_proxy_main 0>;
219 mbox-names = "rx", "tx", "notify";
220 ti,host-id = <35>;
221 ti,secure-host;
222};
223
224&main_uart0 {
225 /delete-property/ power-domains;
226 /delete-property/ clocks;
227 /delete-property/ clock-names;
228 pinctrl-names = "default";
229 pinctrl-0 = <&main_uart0_pins_default>;
230 status = "okay";
231};
232
233&main_uart1 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700234 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500235 pinctrl-names = "default";
236 pinctrl-0 = <&main_uart1_pins_default>;
237};
238
Nishanth Menond6a453c2021-05-04 18:00:55 -0500239&memorycontroller {
240 vtt-supply = <&vtt_supply>;
241 pinctrl-names = "default";
242 pinctrl-0 = <&ddr_vtt_pins_default>;
243};
244
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500245&sdhci0 {
246 /delete-property/ power-domains;
247 clocks = <&clk_200mhz>;
248 clock-names = "clk_xin";
249 ti,driver-strength-ohm = <50>;
250 disable-wp;
251 pinctrl-0 = <&main_mmc0_pins_default>;
252};
253
254&sdhci1 {
255 /delete-property/ power-domains;
256 clocks = <&clk_200mhz>;
257 clock-names = "clk_xin";
258 ti,driver-strength-ohm = <50>;
259 disable-wp;
260 pinctrl-0 = <&main_mmc1_pins_default>;
261};
262
Nishanth Menond6a453c2021-05-04 18:00:55 -0500263&main_gpio0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700264 bootph-pre-ram;
Nishanth Menond6a453c2021-05-04 18:00:55 -0500265 /delete-property/ power-domains;
266};
267
Lokesh Vutlae1c5a5d2021-05-06 16:44:57 +0530268/* EEPROM might be read before SYSFW is available */
269&main_i2c0 {
270 /delete-property/ power-domains;
271};
272
Aswath Govindraju0b2481e2021-06-04 22:00:36 +0530273&usbss0 {
274 ti,vbus-divider;
275 ti,usb2-only;
276};
277
278&usb0 {
279 dr_mode = "otg";
280 maximum-speed = "high-speed";
281 pinctrl-names = "default";
282 pinctrl-0 = <&main_usb0_pins_default>;
283};
284
Dave Gerlach278e7ac2021-04-23 11:27:46 -0500285#include "k3-am642-evm-u-boot.dtsi"