blob: b4a1f73d4fb17ae4f67ae9bb446dc8021c501014 [file] [log] [blame]
Dave Gerlachfbdf3752021-04-23 11:27:45 -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
Tom Rinif8276452021-09-10 17:37:43 -04008#include <dt-bindings/phy/phy.h>
Dave Gerlachfbdf3752021-04-23 11:27:45 -05009#include <dt-bindings/leds/common.h>
Vignesh Raghavendra759316f2021-05-10 20:06:12 +053010#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/net/ti-dp83867.h>
Dave Gerlachfbdf3752021-04-23 11:27:45 -050012#include "k3-am642.dtsi"
Nishanth Menon6107e562023-09-11 09:44:01 -050013
Nishanth Menon8a8a2c02023-09-11 09:43:59 -050014#include "k3-serdes.h"
Dave Gerlachfbdf3752021-04-23 11:27:45 -050015
16/ {
Roger Quadros8bacb0f2023-01-24 11:43:25 +020017 compatible = "ti,am642-evm", "ti,am642";
Dave Gerlachfbdf3752021-04-23 11:27:45 -050018 model = "Texas Instruments AM642 EVM";
19
20 chosen {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030021 stdout-path = &main_uart0;
Dave Gerlachfbdf3752021-04-23 11:27:45 -050022 };
23
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030024 aliases {
25 serial0 = &mcu_uart0;
26 serial1 = &main_uart1;
27 serial2 = &main_uart0;
28 serial3 = &main_uart3;
29 i2c0 = &main_i2c0;
30 i2c1 = &main_i2c1;
31 mmc0 = &sdhci0;
32 mmc1 = &sdhci1;
33 ethernet0 = &cpsw_port1;
34 ethernet1 = &cpsw_port2;
35 };
36
Dave Gerlachfbdf3752021-04-23 11:27:45 -050037 memory@80000000 {
38 device_type = "memory";
39 /* 2G RAM */
40 reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
Dave Gerlachfbdf3752021-04-23 11:27:45 -050041 };
42
43 reserved-memory {
44 #address-cells = <2>;
45 #size-cells = <2>;
46 ranges;
47
48 secure_ddr: optee@9e800000 {
49 reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
50 alignment = <0x1000>;
51 no-map;
52 };
Tom Rinif8276452021-09-10 17:37:43 -040053
54 main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
55 compatible = "shared-dma-pool";
56 reg = <0x00 0xa0000000 0x00 0x100000>;
57 no-map;
58 };
59
60 main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
61 compatible = "shared-dma-pool";
62 reg = <0x00 0xa0100000 0x00 0xf00000>;
63 no-map;
64 };
65
66 main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
67 compatible = "shared-dma-pool";
68 reg = <0x00 0xa1000000 0x00 0x100000>;
69 no-map;
70 };
71
72 main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
73 compatible = "shared-dma-pool";
74 reg = <0x00 0xa1100000 0x00 0xf00000>;
75 no-map;
76 };
77
78 main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
79 compatible = "shared-dma-pool";
80 reg = <0x00 0xa2000000 0x00 0x100000>;
81 no-map;
82 };
83
84 main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
85 compatible = "shared-dma-pool";
86 reg = <0x00 0xa2100000 0x00 0xf00000>;
87 no-map;
88 };
89
90 main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
91 compatible = "shared-dma-pool";
92 reg = <0x00 0xa3000000 0x00 0x100000>;
93 no-map;
94 };
95
96 main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
97 compatible = "shared-dma-pool";
98 reg = <0x00 0xa3100000 0x00 0xf00000>;
99 no-map;
100 };
101
102 rtos_ipc_memory_region: ipc-memories@a5000000 {
103 reg = <0x00 0xa5000000 0x00 0x00800000>;
104 alignment = <0x1000>;
105 no-map;
106 };
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500107 };
108
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300109 evm_12v0: regulator-0 {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500110 /* main DC jack */
111 compatible = "regulator-fixed";
112 regulator-name = "evm_12v0";
113 regulator-min-microvolt = <12000000>;
114 regulator-max-microvolt = <12000000>;
115 regulator-always-on;
116 regulator-boot-on;
117 };
118
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300119 vsys_5v0: regulator-1 {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500120 /* output of LM5140 */
121 compatible = "regulator-fixed";
122 regulator-name = "vsys_5v0";
123 regulator-min-microvolt = <5000000>;
124 regulator-max-microvolt = <5000000>;
125 vin-supply = <&evm_12v0>;
126 regulator-always-on;
127 regulator-boot-on;
128 };
129
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300130 vsys_3v3: regulator-2 {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500131 /* output of LM5140 */
132 compatible = "regulator-fixed";
133 regulator-name = "vsys_3v3";
134 regulator-min-microvolt = <3300000>;
135 regulator-max-microvolt = <3300000>;
136 vin-supply = <&evm_12v0>;
137 regulator-always-on;
138 regulator-boot-on;
139 };
140
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300141 vdd_mmc1: regulator-3 {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500142 /* TPS2051BD */
143 compatible = "regulator-fixed";
144 regulator-name = "vdd_mmc1";
145 regulator-min-microvolt = <3300000>;
146 regulator-max-microvolt = <3300000>;
147 regulator-boot-on;
148 enable-active-high;
149 vin-supply = <&vsys_3v3>;
150 gpio = <&exp1 6 GPIO_ACTIVE_HIGH>;
151 };
152
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300153 vddb: regulator-4 {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500154 compatible = "regulator-fixed";
155 regulator-name = "vddb_3v3_display";
156 regulator-min-microvolt = <3300000>;
157 regulator-max-microvolt = <3300000>;
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300158 vin-supply = <&vsys_3v3>;
159 regulator-always-on;
160 regulator-boot-on;
161 };
162
163 vtt_supply: regulator-5 {
164 compatible = "regulator-fixed";
165 regulator-name = "vtt";
166 pinctrl-names = "default";
167 pinctrl-0 = <&ddr_vtt_pins_default>;
168 regulator-min-microvolt = <3300000>;
169 regulator-max-microvolt = <3300000>;
170 gpio = <&main_gpio0 12 GPIO_ACTIVE_HIGH>;
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500171 vin-supply = <&vsys_3v3>;
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300172 enable-active-high;
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500173 regulator-always-on;
174 regulator-boot-on;
175 };
176
177 leds {
178 compatible = "gpio-leds";
179
180 led-0 {
181 label = "am64-evm:red:heartbeat";
182 gpios = <&exp1 16 GPIO_ACTIVE_HIGH>;
183 linux,default-trigger = "heartbeat";
184 function = LED_FUNCTION_HEARTBEAT;
185 default-state = "off";
186 };
187 };
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530188
189 mdio_mux: mux-controller {
190 compatible = "gpio-mux";
191 #mux-control-cells = <0>;
192
193 mux-gpios = <&exp1 12 GPIO_ACTIVE_HIGH>;
194 };
195
196 mdio-mux-1 {
197 compatible = "mdio-mux-multiplexer";
198 mux-controls = <&mdio_mux>;
199 mdio-parent-bus = <&cpsw3g_mdio>;
200 #address-cells = <1>;
201 #size-cells = <0>;
202
203 mdio@1 {
204 reg = <0x1>;
205 #address-cells = <1>;
206 #size-cells = <0>;
207
208 cpsw3g_phy3: ethernet-phy@3 {
209 reg = <3>;
210 };
211 };
212 };
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200213
214 transceiver1: can-phy0 {
215 compatible = "ti,tcan1042";
216 #phy-cells = <0>;
217 max-bitrate = <5000000>;
218 standby-gpios = <&exp1 8 GPIO_ACTIVE_HIGH>;
219 };
220
221 transceiver2: can-phy1 {
222 compatible = "ti,tcan1042";
223 #phy-cells = <0>;
224 max-bitrate = <5000000>;
225 standby-gpios = <&exp1 9 GPIO_ACTIVE_HIGH>;
226 };
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500227};
228
229&main_pmx0 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300230 main_mmc1_pins_default: main-mmc1-default-pins {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500231 pinctrl-single,pins = <
232 AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
233 AM64X_IOPAD(0x028c, PIN_INPUT_PULLDOWN, 0) /* (L20) MMC1_CLK */
234 AM64X_IOPAD(0x0288, PIN_INPUT_PULLUP, 0) /* (K21) MMC1_DAT0 */
235 AM64X_IOPAD(0x0284, PIN_INPUT_PULLUP, 0) /* (L21) MMC1_DAT1 */
236 AM64X_IOPAD(0x0280, PIN_INPUT_PULLUP, 0) /* (K19) MMC1_DAT2 */
237 AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* (K18) MMC1_DAT3 */
238 AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* (D19) MMC1_SDCD */
239 AM64X_IOPAD(0x029c, PIN_INPUT, 0) /* (C20) MMC1_SDWP */
240 AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* MMC1_CLKLB */
241 >;
242 };
243
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300244 main_uart1_pins_default: main-uart1-default-pins {
245 pinctrl-single,pins = <
246 AM64X_IOPAD(0x0248, PIN_INPUT, 0) /* (D16) UART1_CTSn */
247 AM64X_IOPAD(0x024c, PIN_OUTPUT, 0) /* (E16) UART1_RTSn */
248 AM64X_IOPAD(0x0240, PIN_INPUT, 0) /* (E15) UART1_RXD */
249 AM64X_IOPAD(0x0244, PIN_OUTPUT, 0) /* (E14) UART1_TXD */
250 >;
251 };
252
253 main_uart0_pins_default: main-uart0-default-pins {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500254 pinctrl-single,pins = <
255 AM64X_IOPAD(0x0238, PIN_INPUT, 0) /* (B16) UART0_CTSn */
256 AM64X_IOPAD(0x023c, PIN_OUTPUT, 0) /* (A16) UART0_RTSn */
257 AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
258 AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
259 >;
260 };
261
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300262 main_spi0_pins_default: main-spi0-default-pins {
Tom Rinif8276452021-09-10 17:37:43 -0400263 pinctrl-single,pins = <
264 AM64X_IOPAD(0x0210, PIN_INPUT, 0) /* (D13) SPI0_CLK */
265 AM64X_IOPAD(0x0208, PIN_OUTPUT, 0) /* (D12) SPI0_CS0 */
266 AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) /* (A13) SPI0_D0 */
267 AM64X_IOPAD(0x0218, PIN_INPUT, 0) /* (A14) SPI0_D1 */
268 >;
269 };
270
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300271 main_i2c0_pins_default: main-i2c0-default-pins {
272 pinctrl-single,pins = <
273 AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C0_SCL */
274 AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C0_SDA */
275 >;
276 };
277
278 main_i2c1_pins_default: main-i2c1-default-pins {
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500279 pinctrl-single,pins = <
280 AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
281 AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
282 >;
283 };
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530284
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300285 mdio1_pins_default: mdio1-default-pins {
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530286 pinctrl-single,pins = <
287 AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
288 AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
289 >;
290 };
291
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300292 rgmii1_pins_default: rgmii1-default-pins {
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530293 pinctrl-single,pins = <
294 AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
295 AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
296 AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
297 AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
298 AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
299 AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
300 AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
301 AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
302 AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
303 AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
304 AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
305 AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
306 >;
307 };
308
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300309 rgmii2_pins_default: rgmii2-default-pins {
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530310 pinctrl-single,pins = <
311 AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
312 AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
313 AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
314 AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
315 AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
316 AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
317 AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
318 AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
319 AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
320 AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
321 AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
322 AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
323 >;
324 };
Aswath Govindraju0b2481e2021-06-04 22:00:36 +0530325
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300326 main_usb0_pins_default: main-usb0-default-pins {
Aswath Govindraju0b2481e2021-06-04 22:00:36 +0530327 pinctrl-single,pins = <
328 AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (E19) USB0_DRVVBUS */
329 >;
330 };
Tom Rinif8276452021-09-10 17:37:43 -0400331
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300332 ospi0_pins_default: ospi0-default-pins {
Tom Rinif8276452021-09-10 17:37:43 -0400333 pinctrl-single,pins = <
334 AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (N20) OSPI0_CLK */
335 AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (L19) OSPI0_CSn0 */
336 AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* (M19) OSPI0_D0 */
337 AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* (M18) OSPI0_D1 */
338 AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* (M20) OSPI0_D2 */
339 AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* (M21) OSPI0_D3 */
340 AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* (P21) OSPI0_D4 */
341 AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* (P20) OSPI0_D5 */
342 AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* (N18) OSPI0_D6 */
343 AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* (M17) OSPI0_D7 */
344 AM64X_IOPAD(0x0008, PIN_INPUT, 0) /* (N19) OSPI0_DQS */
345 >;
346 };
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200347
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300348 main_ecap0_pins_default: main-ecap0-default-pins {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200349 pinctrl-single,pins = <
350 AM64X_IOPAD(0x0270, PIN_INPUT, 0) /* (D18) ECAP0_IN_APWM_OUT */
351 >;
352 };
353
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300354 main_mcan0_pins_default: main-mcan0-default-pins {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200355 pinctrl-single,pins = <
356 AM64X_IOPAD(0x0254, PIN_INPUT, 0) /* (B17) MCAN0_RX */
357 AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) /* (A17) MCAN0_TX */
358 >;
359 };
360
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300361 main_mcan1_pins_default: main-mcan1-default-pins {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200362 pinctrl-single,pins = <
363 AM64X_IOPAD(0x025c, PIN_INPUT, 0) /* (D17) MCAN1_RX */
364 AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (C17) MCAN1_TX */
365 >;
366 };
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300367
368 ddr_vtt_pins_default: ddr-vtt-default-pins {
369 pinctrl-single,pins = <
370 AM64X_IOPAD(0x0030, PIN_OUTPUT_PULLUP, 7) /* (L18) OSPI0_CSN1.GPIO0_12 */
371 >;
372 };
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500373};
374
375&main_uart0 {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200376 status = "okay";
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500377 pinctrl-names = "default";
378 pinctrl-0 = <&main_uart0_pins_default>;
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300379 current-speed = <115200>;
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500380};
381
382/* main_uart1 is reserved for firmware usage */
383&main_uart1 {
384 status = "reserved";
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300385 pinctrl-names = "default";
386 pinctrl-0 = <&main_uart1_pins_default>;
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500387};
388
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300389&main_i2c0 {
390 status = "okay";
391 pinctrl-names = "default";
392 pinctrl-0 = <&main_i2c0_pins_default>;
393 clock-frequency = <400000>;
394
395 eeprom@50 {
396 /* AT24CM01 */
397 compatible = "atmel,24c1024";
398 reg = <0x50>;
399 };
400};
401
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500402&main_i2c1 {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200403 status = "okay";
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500404 pinctrl-names = "default";
405 pinctrl-0 = <&main_i2c1_pins_default>;
406 clock-frequency = <400000>;
407
408 exp1: gpio@22 {
409 compatible = "ti,tca6424";
410 reg = <0x22>;
411 gpio-controller;
412 #gpio-cells = <2>;
413 gpio-line-names = "GPIO_eMMC_RSTn", "CAN_MUX_SEL",
414 "GPIO_CPSW1_RST", "GPIO_RGMII1_RST",
415 "GPIO_RGMII2_RST", "GPIO_PCIe_RST_OUT",
416 "MMC1_SD_EN", "FSI_FET_SEL",
417 "MCAN0_STB_3V3", "MCAN1_STB_3V3",
418 "CPSW_FET_SEL", "CPSW_FET2_SEL",
419 "PRG1_RGMII2_FET_SEL", "TEST_GPIO2",
420 "GPIO_OLED_RESETn", "VPP_LDO_EN",
421 "TEST_LED1", "TP92", "TP90", "TP88",
422 "TP87", "TP86", "TP89", "TP91";
423 };
424
425 /* osd9616p0899-10 */
426 display@3c {
427 compatible = "solomon,ssd1306fb-i2c";
428 reg = <0x3c>;
429 reset-gpios = <&exp1 14 GPIO_ACTIVE_LOW>;
430 vbat-supply = <&vddb>;
431 solomon,height = <16>;
432 solomon,width = <96>;
433 solomon,com-seq;
434 solomon,com-invdir;
435 solomon,page-offset = <0>;
436 solomon,prechargep1 = <2>;
437 solomon,prechargep2 = <13>;
438 };
439};
440
Tom Rinif8276452021-09-10 17:37:43 -0400441/* mcu_gpio0 is reserved for mcu firmware usage */
442&mcu_gpio0 {
443 status = "reserved";
444};
445
Tom Rinif8276452021-09-10 17:37:43 -0400446&main_spi0 {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200447 status = "okay";
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530448 pinctrl-names = "default";
Tom Rinif8276452021-09-10 17:37:43 -0400449 pinctrl-0 = <&main_spi0_pins_default>;
450 ti,pindir-d0-out-d1-in;
451 eeprom@0 {
452 compatible = "microchip,93lc46b";
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530453 reg = <0>;
Tom Rinif8276452021-09-10 17:37:43 -0400454 spi-max-frequency = <1000000>;
455 spi-cs-high;
456 data-size = <16>;
Vignesh Raghavendra759316f2021-05-10 20:06:12 +0530457 };
458};
459
Dave Gerlachfbdf3752021-04-23 11:27:45 -0500460&sdhci0 {
461 /* emmc */
462 bus-width = <8>;
463 non-removable;
464 ti,driver-strength-ohm = <50>;
465 disable-wp;
466};
467
468&sdhci1 {
469 /* SD/MMC */
470 vmmc-supply = <&vdd_mmc1>;
471 pinctrl-names = "default";
472 bus-width = <4>;
473 pinctrl-0 = <&main_mmc1_pins_default>;
474 ti,driver-strength-ohm = <50>;
475 disable-wp;
476};
Aswath Govindraju0b2481e2021-06-04 22:00:36 +0530477
478&usbss0 {
479 ti,vbus-divider;
480 ti,usb2-only;
481};
482
483&usb0 {
484 dr_mode = "otg";
485 maximum-speed = "high-speed";
486 pinctrl-names = "default";
487 pinctrl-0 = <&main_usb0_pins_default>;
488};
Tom Rinif8276452021-09-10 17:37:43 -0400489
490&cpsw3g {
491 pinctrl-names = "default";
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300492 pinctrl-0 = <&rgmii1_pins_default>, <&rgmii2_pins_default>;
Tom Rinif8276452021-09-10 17:37:43 -0400493};
494
495&cpsw_port1 {
496 phy-mode = "rgmii-rxid";
497 phy-handle = <&cpsw3g_phy0>;
498};
499
500&cpsw_port2 {
501 phy-mode = "rgmii-rxid";
502 phy-handle = <&cpsw3g_phy3>;
503};
504
505&cpsw3g_mdio {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200506 status = "okay";
507 pinctrl-names = "default";
508 pinctrl-0 = <&mdio1_pins_default>;
509
Tom Rinif8276452021-09-10 17:37:43 -0400510 cpsw3g_phy0: ethernet-phy@0 {
511 reg = <0>;
512 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
513 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
514 };
515};
516
517&tscadc0 {
518 /* ADC is reserved for R5 usage */
519 status = "reserved";
520};
521
522&ospi0 {
Nishanth Menon6107e562023-09-11 09:44:01 -0500523 status = "okay";
Tom Rinif8276452021-09-10 17:37:43 -0400524 pinctrl-names = "default";
525 pinctrl-0 = <&ospi0_pins_default>;
526
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200527 flash@0 {
Tom Rinif8276452021-09-10 17:37:43 -0400528 compatible = "jedec,spi-nor";
529 reg = <0x0>;
530 spi-tx-bus-width = <8>;
531 spi-rx-bus-width = <8>;
532 spi-max-frequency = <25000000>;
533 cdns,tshsl-ns = <60>;
534 cdns,tsd2d-ns = <60>;
535 cdns,tchsh-ns = <60>;
536 cdns,tslch-ns = <60>;
537 cdns,read-delay = <4>;
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300538
539 partitions {
540 compatible = "fixed-partitions";
541 #address-cells = <1>;
542 #size-cells = <1>;
543
544 partition@0 {
545 label = "ospi.tiboot3";
546 reg = <0x0 0x100000>;
547 };
548
549 partition@100000 {
550 label = "ospi.tispl";
551 reg = <0x100000 0x200000>;
552 };
553
554 partition@300000 {
555 label = "ospi.u-boot";
556 reg = <0x300000 0x400000>;
557 };
558
559 partition@700000 {
560 label = "ospi.env";
561 reg = <0x700000 0x40000>;
562 };
563
564 partition@740000 {
565 label = "ospi.env.backup";
566 reg = <0x740000 0x40000>;
567 };
568
569 partition@800000 {
570 label = "ospi.rootfs";
571 reg = <0x800000 0x37c0000>;
572 };
573
574 partition@3fc0000 {
575 label = "ospi.phypattern";
576 reg = <0x3fc0000 0x40000>;
577 };
578 };
Tom Rinif8276452021-09-10 17:37:43 -0400579 };
580};
581
582&mailbox0_cluster2 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300583 status = "okay";
584
Tom Rinif8276452021-09-10 17:37:43 -0400585 mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
586 ti,mbox-rx = <0 0 2>;
587 ti,mbox-tx = <1 0 2>;
588 };
589
590 mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
591 ti,mbox-rx = <2 0 2>;
592 ti,mbox-tx = <3 0 2>;
593 };
594};
595
Tom Rinif8276452021-09-10 17:37:43 -0400596&mailbox0_cluster4 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300597 status = "okay";
598
Tom Rinif8276452021-09-10 17:37:43 -0400599 mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
600 ti,mbox-rx = <0 0 2>;
601 ti,mbox-tx = <1 0 2>;
602 };
603
604 mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
605 ti,mbox-rx = <2 0 2>;
606 ti,mbox-tx = <3 0 2>;
607 };
608};
609
Tom Rinif8276452021-09-10 17:37:43 -0400610&mailbox0_cluster6 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300611 status = "okay";
612
Tom Rinif8276452021-09-10 17:37:43 -0400613 mbox_m4_0: mbox-m4-0 {
614 ti,mbox-rx = <0 0 2>;
615 ti,mbox-tx = <1 0 2>;
616 };
617};
618
Tom Rinif8276452021-09-10 17:37:43 -0400619&main_r5fss0_core0 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300620 mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss0_core0>;
Tom Rinif8276452021-09-10 17:37:43 -0400621 memory-region = <&main_r5fss0_core0_dma_memory_region>,
622 <&main_r5fss0_core0_memory_region>;
623};
624
625&main_r5fss0_core1 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300626 mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss0_core1>;
Tom Rinif8276452021-09-10 17:37:43 -0400627 memory-region = <&main_r5fss0_core1_dma_memory_region>,
628 <&main_r5fss0_core1_memory_region>;
629};
630
631&main_r5fss1_core0 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300632 mboxes = <&mailbox0_cluster4>, <&mbox_main_r5fss1_core0>;
Tom Rinif8276452021-09-10 17:37:43 -0400633 memory-region = <&main_r5fss1_core0_dma_memory_region>,
634 <&main_r5fss1_core0_memory_region>;
635};
636
637&main_r5fss1_core1 {
Roger Quadrosaf6e2a72023-08-05 11:14:40 +0300638 mboxes = <&mailbox0_cluster4>, <&mbox_main_r5fss1_core1>;
Tom Rinif8276452021-09-10 17:37:43 -0400639 memory-region = <&main_r5fss1_core1_dma_memory_region>,
640 <&main_r5fss1_core1_memory_region>;
641};
642
643&serdes_ln_ctrl {
644 idle-states = <AM64_SERDES0_LANE0_PCIE0>;
645};
646
647&serdes0 {
648 serdes0_pcie_link: phy@0 {
649 reg = <0>;
650 cdns,num-lanes = <1>;
651 #phy-cells = <0>;
652 cdns,phy-type = <PHY_TYPE_PCIE>;
653 resets = <&serdes_wiz0 1>;
654 };
655};
656
657&pcie0_rc {
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200658 status = "okay";
Tom Rinif8276452021-09-10 17:37:43 -0400659 reset-gpios = <&exp1 5 GPIO_ACTIVE_HIGH>;
660 phys = <&serdes0_pcie_link>;
661 phy-names = "pcie-phy";
662 num-lanes = <1>;
663};
664
665&pcie0_ep {
666 phys = <&serdes0_pcie_link>;
667 phy-names = "pcie-phy";
668 num-lanes = <1>;
Roger Quadros8bacb0f2023-01-24 11:43:25 +0200669};
670
671&ecap0 {
672 status = "okay";
673 /* PWM is available on Pin 1 of header J12 */
674 pinctrl-names = "default";
675 pinctrl-0 = <&main_ecap0_pins_default>;
676};
677
678&main_mcan0 {
679 status = "okay";
680 pinctrl-names = "default";
681 pinctrl-0 = <&main_mcan0_pins_default>;
682 phys = <&transceiver1>;
683};
684
685&main_mcan1 {
686 status = "okay";
687 pinctrl-names = "default";
688 pinctrl-0 = <&main_mcan1_pins_default>;
689 phys = <&transceiver2>;
Tom Rinif8276452021-09-10 17:37:43 -0400690};