xref: /openbmc/linux/arch/arm64/boot/dts/ti/k3-am642-evm.dts (revision d71abfcc6c050b72ba735b74f3e3848ce07ddd15)
11e6550d3SDave Gerlach// SPDX-License-Identifier: GPL-2.0
21e6550d3SDave Gerlach/*
31e6550d3SDave Gerlach * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
41e6550d3SDave Gerlach */
51e6550d3SDave Gerlach
61e6550d3SDave Gerlach/dts-v1/;
71e6550d3SDave Gerlach
8354065beSKishon Vijay Abraham I#include <dt-bindings/phy/phy.h>
9354065beSKishon Vijay Abraham I#include <dt-bindings/mux/ti-serdes.h>
101e6550d3SDave Gerlach#include <dt-bindings/leds/common.h>
11985204ecSVignesh Raghavendra#include <dt-bindings/gpio/gpio.h>
12985204ecSVignesh Raghavendra#include <dt-bindings/net/ti-dp83867.h>
131e6550d3SDave Gerlach#include "k3-am642.dtsi"
141e6550d3SDave Gerlach
151e6550d3SDave Gerlach/ {
161e6550d3SDave Gerlach	compatible =  "ti,am642-evm", "ti,am642";
171e6550d3SDave Gerlach	model = "Texas Instruments AM642 EVM";
181e6550d3SDave Gerlach
191e6550d3SDave Gerlach	chosen {
201e6550d3SDave Gerlach		stdout-path = "serial2:115200n8";
211e6550d3SDave Gerlach		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
221e6550d3SDave Gerlach	};
231e6550d3SDave Gerlach
241e6550d3SDave Gerlach	memory@80000000 {
251e6550d3SDave Gerlach		device_type = "memory";
261e6550d3SDave Gerlach		/* 2G RAM */
271e6550d3SDave Gerlach		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
281e6550d3SDave Gerlach
291e6550d3SDave Gerlach	};
301e6550d3SDave Gerlach
311e6550d3SDave Gerlach	reserved-memory {
321e6550d3SDave Gerlach		#address-cells = <2>;
331e6550d3SDave Gerlach		#size-cells = <2>;
341e6550d3SDave Gerlach		ranges;
351e6550d3SDave Gerlach
361e6550d3SDave Gerlach		secure_ddr: optee@9e800000 {
371e6550d3SDave Gerlach			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
381e6550d3SDave Gerlach			alignment = <0x1000>;
391e6550d3SDave Gerlach			no-map;
401e6550d3SDave Gerlach		};
41*d71abfccSSuman Anna
42*d71abfccSSuman Anna		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
43*d71abfccSSuman Anna			compatible = "shared-dma-pool";
44*d71abfccSSuman Anna			reg = <0x00 0xa0000000 0x00 0x100000>;
45*d71abfccSSuman Anna			no-map;
46*d71abfccSSuman Anna		};
47*d71abfccSSuman Anna
48*d71abfccSSuman Anna		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
49*d71abfccSSuman Anna			compatible = "shared-dma-pool";
50*d71abfccSSuman Anna			reg = <0x00 0xa0100000 0x00 0xf00000>;
51*d71abfccSSuman Anna			no-map;
52*d71abfccSSuman Anna		};
53*d71abfccSSuman Anna
54*d71abfccSSuman Anna		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
55*d71abfccSSuman Anna			compatible = "shared-dma-pool";
56*d71abfccSSuman Anna			reg = <0x00 0xa1000000 0x00 0x100000>;
57*d71abfccSSuman Anna			no-map;
58*d71abfccSSuman Anna		};
59*d71abfccSSuman Anna
60*d71abfccSSuman Anna		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
61*d71abfccSSuman Anna			compatible = "shared-dma-pool";
62*d71abfccSSuman Anna			reg = <0x00 0xa1100000 0x00 0xf00000>;
63*d71abfccSSuman Anna			no-map;
64*d71abfccSSuman Anna		};
65*d71abfccSSuman Anna
66*d71abfccSSuman Anna		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
67*d71abfccSSuman Anna			compatible = "shared-dma-pool";
68*d71abfccSSuman Anna			reg = <0x00 0xa2000000 0x00 0x100000>;
69*d71abfccSSuman Anna			no-map;
70*d71abfccSSuman Anna		};
71*d71abfccSSuman Anna
72*d71abfccSSuman Anna		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
73*d71abfccSSuman Anna			compatible = "shared-dma-pool";
74*d71abfccSSuman Anna			reg = <0x00 0xa2100000 0x00 0xf00000>;
75*d71abfccSSuman Anna			no-map;
76*d71abfccSSuman Anna		};
77*d71abfccSSuman Anna
78*d71abfccSSuman Anna		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
79*d71abfccSSuman Anna			compatible = "shared-dma-pool";
80*d71abfccSSuman Anna			reg = <0x00 0xa3000000 0x00 0x100000>;
81*d71abfccSSuman Anna			no-map;
82*d71abfccSSuman Anna		};
83*d71abfccSSuman Anna
84*d71abfccSSuman Anna		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
85*d71abfccSSuman Anna			compatible = "shared-dma-pool";
86*d71abfccSSuman Anna			reg = <0x00 0xa3100000 0x00 0xf00000>;
87*d71abfccSSuman Anna			no-map;
88*d71abfccSSuman Anna		};
89*d71abfccSSuman Anna
90*d71abfccSSuman Anna		rtos_ipc_memory_region: ipc-memories@a5000000 {
91*d71abfccSSuman Anna			reg = <0x00 0xa5000000 0x00 0x00800000>;
92*d71abfccSSuman Anna			alignment = <0x1000>;
93*d71abfccSSuman Anna			no-map;
94*d71abfccSSuman Anna		};
951e6550d3SDave Gerlach	};
961e6550d3SDave Gerlach
971e6550d3SDave Gerlach	evm_12v0: fixedregulator-evm12v0 {
981e6550d3SDave Gerlach		/* main DC jack */
991e6550d3SDave Gerlach		compatible = "regulator-fixed";
1001e6550d3SDave Gerlach		regulator-name = "evm_12v0";
1011e6550d3SDave Gerlach		regulator-min-microvolt = <12000000>;
1021e6550d3SDave Gerlach		regulator-max-microvolt = <12000000>;
1031e6550d3SDave Gerlach		regulator-always-on;
1041e6550d3SDave Gerlach		regulator-boot-on;
1051e6550d3SDave Gerlach	};
1061e6550d3SDave Gerlach
1071e6550d3SDave Gerlach	vsys_5v0: fixedregulator-vsys5v0 {
1081e6550d3SDave Gerlach		/* output of LM5140 */
1091e6550d3SDave Gerlach		compatible = "regulator-fixed";
1101e6550d3SDave Gerlach		regulator-name = "vsys_5v0";
1111e6550d3SDave Gerlach		regulator-min-microvolt = <5000000>;
1121e6550d3SDave Gerlach		regulator-max-microvolt = <5000000>;
1131e6550d3SDave Gerlach		vin-supply = <&evm_12v0>;
1141e6550d3SDave Gerlach		regulator-always-on;
1151e6550d3SDave Gerlach		regulator-boot-on;
1161e6550d3SDave Gerlach	};
1171e6550d3SDave Gerlach
1181e6550d3SDave Gerlach	vsys_3v3: fixedregulator-vsys3v3 {
1191e6550d3SDave Gerlach		/* output of LM5140 */
1201e6550d3SDave Gerlach		compatible = "regulator-fixed";
1211e6550d3SDave Gerlach		regulator-name = "vsys_3v3";
1221e6550d3SDave Gerlach		regulator-min-microvolt = <3300000>;
1231e6550d3SDave Gerlach		regulator-max-microvolt = <3300000>;
1241e6550d3SDave Gerlach		vin-supply = <&evm_12v0>;
1251e6550d3SDave Gerlach		regulator-always-on;
1261e6550d3SDave Gerlach		regulator-boot-on;
1271e6550d3SDave Gerlach	};
1281e6550d3SDave Gerlach
1291e6550d3SDave Gerlach	vdd_mmc1: fixed-regulator-sd {
1301e6550d3SDave Gerlach		/* TPS2051BD */
1311e6550d3SDave Gerlach		compatible = "regulator-fixed";
1321e6550d3SDave Gerlach		regulator-name = "vdd_mmc1";
1331e6550d3SDave Gerlach		regulator-min-microvolt = <3300000>;
1341e6550d3SDave Gerlach		regulator-max-microvolt = <3300000>;
1351e6550d3SDave Gerlach		regulator-boot-on;
1361e6550d3SDave Gerlach		enable-active-high;
1371e6550d3SDave Gerlach		vin-supply = <&vsys_3v3>;
1381e6550d3SDave Gerlach		gpio = <&exp1 6 GPIO_ACTIVE_HIGH>;
1391e6550d3SDave Gerlach	};
1401e6550d3SDave Gerlach
1411e6550d3SDave Gerlach	vddb: fixedregulator-vddb {
1421e6550d3SDave Gerlach		compatible = "regulator-fixed";
1431e6550d3SDave Gerlach		regulator-name = "vddb_3v3_display";
1441e6550d3SDave Gerlach		regulator-min-microvolt = <3300000>;
1451e6550d3SDave Gerlach		regulator-max-microvolt = <3300000>;
1461e6550d3SDave Gerlach		vin-supply = <&vsys_3v3>;
1471e6550d3SDave Gerlach		regulator-always-on;
1481e6550d3SDave Gerlach		regulator-boot-on;
1491e6550d3SDave Gerlach	};
1501e6550d3SDave Gerlach
1511e6550d3SDave Gerlach	leds {
1521e6550d3SDave Gerlach		compatible = "gpio-leds";
1531e6550d3SDave Gerlach
1541e6550d3SDave Gerlach		led-0 {
1551e6550d3SDave Gerlach			label = "am64-evm:red:heartbeat";
1561e6550d3SDave Gerlach			gpios = <&exp1 16 GPIO_ACTIVE_HIGH>;
1571e6550d3SDave Gerlach			linux,default-trigger = "heartbeat";
1581e6550d3SDave Gerlach			function = LED_FUNCTION_HEARTBEAT;
1591e6550d3SDave Gerlach			default-state = "off";
1601e6550d3SDave Gerlach		};
1611e6550d3SDave Gerlach	};
162985204ecSVignesh Raghavendra
163985204ecSVignesh Raghavendra	mdio_mux: mux-controller {
164985204ecSVignesh Raghavendra		compatible = "gpio-mux";
165985204ecSVignesh Raghavendra		#mux-control-cells = <0>;
166985204ecSVignesh Raghavendra
167985204ecSVignesh Raghavendra		mux-gpios = <&exp1 12 GPIO_ACTIVE_HIGH>;
168985204ecSVignesh Raghavendra	};
169985204ecSVignesh Raghavendra
170985204ecSVignesh Raghavendra	mdio-mux-1 {
171985204ecSVignesh Raghavendra		compatible = "mdio-mux-multiplexer";
172985204ecSVignesh Raghavendra		mux-controls = <&mdio_mux>;
173985204ecSVignesh Raghavendra		mdio-parent-bus = <&cpsw3g_mdio>;
174985204ecSVignesh Raghavendra		#address-cells = <1>;
175985204ecSVignesh Raghavendra		#size-cells = <0>;
176985204ecSVignesh Raghavendra
177985204ecSVignesh Raghavendra		mdio@1 {
178985204ecSVignesh Raghavendra			reg = <0x1>;
179985204ecSVignesh Raghavendra			#address-cells = <1>;
180985204ecSVignesh Raghavendra			#size-cells = <0>;
181985204ecSVignesh Raghavendra
182985204ecSVignesh Raghavendra			cpsw3g_phy3: ethernet-phy@3 {
183985204ecSVignesh Raghavendra				reg = <3>;
184985204ecSVignesh Raghavendra			};
185985204ecSVignesh Raghavendra		};
186985204ecSVignesh Raghavendra	};
1871e6550d3SDave Gerlach};
1881e6550d3SDave Gerlach
1891e6550d3SDave Gerlach&main_pmx0 {
1901e6550d3SDave Gerlach	main_mmc1_pins_default: main-mmc1-pins-default {
1911e6550d3SDave Gerlach		pinctrl-single,pins = <
1921e6550d3SDave Gerlach			AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
1931e6550d3SDave Gerlach			AM64X_IOPAD(0x028c, PIN_INPUT_PULLDOWN, 0) /* (L20) MMC1_CLK */
1941e6550d3SDave Gerlach			AM64X_IOPAD(0x0288, PIN_INPUT_PULLUP, 0) /* (K21) MMC1_DAT0 */
1951e6550d3SDave Gerlach			AM64X_IOPAD(0x0284, PIN_INPUT_PULLUP, 0) /* (L21) MMC1_DAT1 */
1961e6550d3SDave Gerlach			AM64X_IOPAD(0x0280, PIN_INPUT_PULLUP, 0) /* (K19) MMC1_DAT2 */
1971e6550d3SDave Gerlach			AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* (K18) MMC1_DAT3 */
1981e6550d3SDave Gerlach			AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* (D19) MMC1_SDCD */
1991e6550d3SDave Gerlach			AM64X_IOPAD(0x029c, PIN_INPUT, 0) /* (C20) MMC1_SDWP */
2001e6550d3SDave Gerlach			AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* MMC1_CLKLB */
2011e6550d3SDave Gerlach		>;
2021e6550d3SDave Gerlach	};
2031e6550d3SDave Gerlach
2041e6550d3SDave Gerlach	main_uart0_pins_default: main-uart0-pins-default {
2051e6550d3SDave Gerlach		pinctrl-single,pins = <
2061e6550d3SDave Gerlach			AM64X_IOPAD(0x0238, PIN_INPUT, 0) /* (B16) UART0_CTSn */
2071e6550d3SDave Gerlach			AM64X_IOPAD(0x023c, PIN_OUTPUT, 0) /* (A16) UART0_RTSn */
2081e6550d3SDave Gerlach			AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
2091e6550d3SDave Gerlach			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
2101e6550d3SDave Gerlach		>;
2111e6550d3SDave Gerlach	};
2121e6550d3SDave Gerlach
2134fb6c046SAswath Govindraju	main_spi0_pins_default: main-spi0-pins-default {
2144fb6c046SAswath Govindraju		pinctrl-single,pins = <
2154fb6c046SAswath Govindraju			AM64X_IOPAD(0x0210, PIN_INPUT, 0) /* (D13) SPI0_CLK */
2164fb6c046SAswath Govindraju			AM64X_IOPAD(0x0208, PIN_OUTPUT, 0) /* (D12) SPI0_CS0 */
2174fb6c046SAswath Govindraju			AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) /* (A13) SPI0_D0 */
2184fb6c046SAswath Govindraju			AM64X_IOPAD(0x0218, PIN_INPUT, 0) /* (A14) SPI0_D1 */
2194fb6c046SAswath Govindraju		>;
2204fb6c046SAswath Govindraju	};
2214fb6c046SAswath Govindraju
2221e6550d3SDave Gerlach	main_i2c1_pins_default: main-i2c1-pins-default {
2231e6550d3SDave Gerlach		pinctrl-single,pins = <
2241e6550d3SDave Gerlach			AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
2251e6550d3SDave Gerlach			AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
2261e6550d3SDave Gerlach		>;
2271e6550d3SDave Gerlach	};
228985204ecSVignesh Raghavendra
229985204ecSVignesh Raghavendra	mdio1_pins_default: mdio1-pins-default {
230985204ecSVignesh Raghavendra		pinctrl-single,pins = <
231985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
232985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
233985204ecSVignesh Raghavendra		>;
234985204ecSVignesh Raghavendra	};
235985204ecSVignesh Raghavendra
236985204ecSVignesh Raghavendra	rgmii1_pins_default: rgmii1-pins-default {
237985204ecSVignesh Raghavendra		pinctrl-single,pins = <
238985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
239985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
240985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
241985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
242985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
243985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
244985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
245985204ecSVignesh Raghavendra			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
246985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
247985204ecSVignesh Raghavendra			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
248985204ecSVignesh Raghavendra			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
249985204ecSVignesh Raghavendra			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
250985204ecSVignesh Raghavendra		>;
251985204ecSVignesh Raghavendra	};
252985204ecSVignesh Raghavendra
253985204ecSVignesh Raghavendra       rgmii2_pins_default: rgmii2-pins-default {
254985204ecSVignesh Raghavendra		pinctrl-single,pins = <
255985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
256985204ecSVignesh Raghavendra			AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
257985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
258985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
259985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
260985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
261985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
262985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
263985204ecSVignesh Raghavendra			AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
264985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
265985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
266985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
267985204ecSVignesh Raghavendra		>;
268985204ecSVignesh Raghavendra	};
26904a80a75SAswath Govindraju
27004a80a75SAswath Govindraju	main_usb0_pins_default: main-usb0-pins-default {
27104a80a75SAswath Govindraju		pinctrl-single,pins = <
27204a80a75SAswath Govindraju			AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (E19) USB0_DRVVBUS */
27304a80a75SAswath Govindraju		>;
27404a80a75SAswath Govindraju	};
275e4e4e894SVignesh Raghavendra
276e4e4e894SVignesh Raghavendra	ospi0_pins_default: ospi0-pins-default {
277e4e4e894SVignesh Raghavendra		pinctrl-single,pins = <
278e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (N20) OSPI0_CLK */
279e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (L19) OSPI0_CSn0 */
280e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* (M19) OSPI0_D0 */
281e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* (M18) OSPI0_D1 */
282e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* (M20) OSPI0_D2 */
283e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* (M21) OSPI0_D3 */
284e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* (P21) OSPI0_D4 */
285e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* (P20) OSPI0_D5 */
286e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* (N18) OSPI0_D6 */
287e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* (M17) OSPI0_D7 */
288e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0008, PIN_INPUT, 0) /* (N19) OSPI0_DQS */
289e4e4e894SVignesh Raghavendra		>;
290e4e4e894SVignesh Raghavendra	};
2911e6550d3SDave Gerlach};
2921e6550d3SDave Gerlach
2931e6550d3SDave Gerlach&main_uart0 {
2941e6550d3SDave Gerlach	pinctrl-names = "default";
2951e6550d3SDave Gerlach	pinctrl-0 = <&main_uart0_pins_default>;
2961e6550d3SDave Gerlach};
2971e6550d3SDave Gerlach
2981e6550d3SDave Gerlach/* main_uart1 is reserved for firmware usage */
2991e6550d3SDave Gerlach&main_uart1 {
3001e6550d3SDave Gerlach	status = "reserved";
3011e6550d3SDave Gerlach};
3021e6550d3SDave Gerlach
3031e6550d3SDave Gerlach&main_uart2 {
3041e6550d3SDave Gerlach	status = "disabled";
3051e6550d3SDave Gerlach};
3061e6550d3SDave Gerlach
3071e6550d3SDave Gerlach&main_uart3 {
3081e6550d3SDave Gerlach	status = "disabled";
3091e6550d3SDave Gerlach};
3101e6550d3SDave Gerlach
3111e6550d3SDave Gerlach&main_uart4 {
3121e6550d3SDave Gerlach	status = "disabled";
3131e6550d3SDave Gerlach};
3141e6550d3SDave Gerlach
3151e6550d3SDave Gerlach&main_uart5 {
3161e6550d3SDave Gerlach	status = "disabled";
3171e6550d3SDave Gerlach};
3181e6550d3SDave Gerlach
3191e6550d3SDave Gerlach&main_uart6 {
3201e6550d3SDave Gerlach	status = "disabled";
3211e6550d3SDave Gerlach};
3221e6550d3SDave Gerlach
3231e6550d3SDave Gerlach&mcu_uart0 {
3241e6550d3SDave Gerlach	status = "disabled";
3251e6550d3SDave Gerlach};
3261e6550d3SDave Gerlach
3271e6550d3SDave Gerlach&mcu_uart1 {
3281e6550d3SDave Gerlach	status = "disabled";
3291e6550d3SDave Gerlach};
3301e6550d3SDave Gerlach
3311e6550d3SDave Gerlach&main_i2c1 {
3321e6550d3SDave Gerlach	pinctrl-names = "default";
3331e6550d3SDave Gerlach	pinctrl-0 = <&main_i2c1_pins_default>;
3341e6550d3SDave Gerlach	clock-frequency = <400000>;
3351e6550d3SDave Gerlach
3361e6550d3SDave Gerlach	exp1: gpio@22 {
3371e6550d3SDave Gerlach		compatible = "ti,tca6424";
3381e6550d3SDave Gerlach		reg = <0x22>;
3391e6550d3SDave Gerlach		gpio-controller;
3401e6550d3SDave Gerlach		#gpio-cells = <2>;
3411e6550d3SDave Gerlach		gpio-line-names = "GPIO_eMMC_RSTn", "CAN_MUX_SEL",
3421e6550d3SDave Gerlach				  "GPIO_CPSW1_RST", "GPIO_RGMII1_RST",
3431e6550d3SDave Gerlach				  "GPIO_RGMII2_RST", "GPIO_PCIe_RST_OUT",
3441e6550d3SDave Gerlach				  "MMC1_SD_EN", "FSI_FET_SEL",
3451e6550d3SDave Gerlach				  "MCAN0_STB_3V3", "MCAN1_STB_3V3",
3461e6550d3SDave Gerlach				  "CPSW_FET_SEL", "CPSW_FET2_SEL",
3471e6550d3SDave Gerlach				  "PRG1_RGMII2_FET_SEL", "TEST_GPIO2",
3481e6550d3SDave Gerlach				  "GPIO_OLED_RESETn", "VPP_LDO_EN",
3491e6550d3SDave Gerlach				  "TEST_LED1", "TP92", "TP90", "TP88",
3501e6550d3SDave Gerlach				  "TP87", "TP86", "TP89", "TP91";
3511e6550d3SDave Gerlach	};
3521e6550d3SDave Gerlach
3531e6550d3SDave Gerlach	/* osd9616p0899-10 */
3541e6550d3SDave Gerlach	display@3c {
3551e6550d3SDave Gerlach		compatible = "solomon,ssd1306fb-i2c";
3561e6550d3SDave Gerlach		reg = <0x3c>;
3571e6550d3SDave Gerlach		reset-gpios = <&exp1 14 GPIO_ACTIVE_LOW>;
3581e6550d3SDave Gerlach		vbat-supply = <&vddb>;
3591e6550d3SDave Gerlach		solomon,height = <16>;
3601e6550d3SDave Gerlach		solomon,width = <96>;
3611e6550d3SDave Gerlach		solomon,com-seq;
3621e6550d3SDave Gerlach		solomon,com-invdir;
3631e6550d3SDave Gerlach		solomon,page-offset = <0>;
3641e6550d3SDave Gerlach		solomon,prechargep1 = <2>;
3651e6550d3SDave Gerlach		solomon,prechargep2 = <13>;
3661e6550d3SDave Gerlach	};
3671e6550d3SDave Gerlach};
3681e6550d3SDave Gerlach
369d5a4d541SAswath Govindraju/* mcu_gpio0 is reserved for mcu firmware usage */
370d5a4d541SAswath Govindraju&mcu_gpio0 {
371d5a4d541SAswath Govindraju	status = "reserved";
372d5a4d541SAswath Govindraju};
373d5a4d541SAswath Govindraju
3741e6550d3SDave Gerlach&mcu_i2c0 {
3751e6550d3SDave Gerlach	status = "disabled";
3761e6550d3SDave Gerlach};
3771e6550d3SDave Gerlach
3781e6550d3SDave Gerlach&mcu_i2c1 {
3791e6550d3SDave Gerlach	status = "disabled";
3801e6550d3SDave Gerlach};
3811e6550d3SDave Gerlach
3821e6550d3SDave Gerlach&mcu_spi0 {
3831e6550d3SDave Gerlach	status = "disabled";
3841e6550d3SDave Gerlach};
3851e6550d3SDave Gerlach
3861e6550d3SDave Gerlach&mcu_spi1 {
3871e6550d3SDave Gerlach	status = "disabled";
3881e6550d3SDave Gerlach};
3891e6550d3SDave Gerlach
3904fb6c046SAswath Govindraju&main_spi0 {
3914fb6c046SAswath Govindraju	pinctrl-names = "default";
3924fb6c046SAswath Govindraju	pinctrl-0 = <&main_spi0_pins_default>;
393d3f1b155SAswath Govindraju	ti,pindir-d0-out-d1-in;
3944fb6c046SAswath Govindraju	eeprom@0 {
3954fb6c046SAswath Govindraju		compatible = "microchip,93lc46b";
3964fb6c046SAswath Govindraju		reg = <0>;
3974fb6c046SAswath Govindraju		spi-max-frequency = <1000000>;
3984fb6c046SAswath Govindraju		spi-cs-high;
3994fb6c046SAswath Govindraju		data-size = <16>;
4004fb6c046SAswath Govindraju	};
4014fb6c046SAswath Govindraju};
4024fb6c046SAswath Govindraju
4031e6550d3SDave Gerlach&sdhci0 {
4041e6550d3SDave Gerlach	/* emmc */
4051e6550d3SDave Gerlach	bus-width = <8>;
4061e6550d3SDave Gerlach	non-removable;
4071e6550d3SDave Gerlach	ti,driver-strength-ohm = <50>;
4081e6550d3SDave Gerlach	disable-wp;
4091e6550d3SDave Gerlach};
4101e6550d3SDave Gerlach
4111e6550d3SDave Gerlach&sdhci1 {
4121e6550d3SDave Gerlach	/* SD/MMC */
4131e6550d3SDave Gerlach	vmmc-supply = <&vdd_mmc1>;
4141e6550d3SDave Gerlach	pinctrl-names = "default";
4151e6550d3SDave Gerlach	bus-width = <4>;
4161e6550d3SDave Gerlach	pinctrl-0 = <&main_mmc1_pins_default>;
4171e6550d3SDave Gerlach	ti,driver-strength-ohm = <50>;
4181e6550d3SDave Gerlach	disable-wp;
4191e6550d3SDave Gerlach};
420985204ecSVignesh Raghavendra
42104a80a75SAswath Govindraju&usbss0 {
42204a80a75SAswath Govindraju	ti,vbus-divider;
42304a80a75SAswath Govindraju	ti,usb2-only;
42404a80a75SAswath Govindraju};
42504a80a75SAswath Govindraju
42604a80a75SAswath Govindraju&usb0 {
42704a80a75SAswath Govindraju	dr_mode = "otg";
42804a80a75SAswath Govindraju	maximum-speed = "high-speed";
42904a80a75SAswath Govindraju	pinctrl-names = "default";
43004a80a75SAswath Govindraju	pinctrl-0 = <&main_usb0_pins_default>;
43104a80a75SAswath Govindraju};
43204a80a75SAswath Govindraju
433985204ecSVignesh Raghavendra&cpsw3g {
434985204ecSVignesh Raghavendra	pinctrl-names = "default";
435985204ecSVignesh Raghavendra	pinctrl-0 = <&mdio1_pins_default
436985204ecSVignesh Raghavendra		     &rgmii1_pins_default
437985204ecSVignesh Raghavendra		     &rgmii2_pins_default>;
438985204ecSVignesh Raghavendra};
439985204ecSVignesh Raghavendra
440985204ecSVignesh Raghavendra&cpsw_port1 {
441985204ecSVignesh Raghavendra	phy-mode = "rgmii-rxid";
442985204ecSVignesh Raghavendra	phy-handle = <&cpsw3g_phy0>;
443985204ecSVignesh Raghavendra};
444985204ecSVignesh Raghavendra
445985204ecSVignesh Raghavendra&cpsw_port2 {
446985204ecSVignesh Raghavendra	phy-mode = "rgmii-rxid";
447985204ecSVignesh Raghavendra	phy-handle = <&cpsw3g_phy3>;
448985204ecSVignesh Raghavendra};
449985204ecSVignesh Raghavendra
450985204ecSVignesh Raghavendra&cpsw3g_mdio {
451985204ecSVignesh Raghavendra	cpsw3g_phy0: ethernet-phy@0 {
452985204ecSVignesh Raghavendra		reg = <0>;
453985204ecSVignesh Raghavendra		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
454985204ecSVignesh Raghavendra		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
455985204ecSVignesh Raghavendra	};
456985204ecSVignesh Raghavendra};
457fad4e18fSVignesh Raghavendra
458fad4e18fSVignesh Raghavendra&tscadc0 {
459fad4e18fSVignesh Raghavendra	/* ADC is reserved for R5 usage */
460fad4e18fSVignesh Raghavendra	status = "reserved";
461fad4e18fSVignesh Raghavendra};
462e4e4e894SVignesh Raghavendra
463e4e4e894SVignesh Raghavendra&ospi0 {
464e4e4e894SVignesh Raghavendra	pinctrl-names = "default";
465e4e4e894SVignesh Raghavendra	pinctrl-0 = <&ospi0_pins_default>;
466e4e4e894SVignesh Raghavendra
467e4e4e894SVignesh Raghavendra	flash@0{
468e4e4e894SVignesh Raghavendra		compatible = "jedec,spi-nor";
469e4e4e894SVignesh Raghavendra		reg = <0x0>;
470e4e4e894SVignesh Raghavendra		spi-tx-bus-width = <8>;
471e4e4e894SVignesh Raghavendra		spi-rx-bus-width = <8>;
472e4e4e894SVignesh Raghavendra		spi-max-frequency = <25000000>;
473e4e4e894SVignesh Raghavendra		cdns,tshsl-ns = <60>;
474e4e4e894SVignesh Raghavendra		cdns,tsd2d-ns = <60>;
475e4e4e894SVignesh Raghavendra		cdns,tchsh-ns = <60>;
476e4e4e894SVignesh Raghavendra		cdns,tslch-ns = <60>;
477e4e4e894SVignesh Raghavendra		cdns,read-delay = <4>;
478e4e4e894SVignesh Raghavendra		#address-cells = <1>;
479e4e4e894SVignesh Raghavendra		#size-cells = <1>;
480e4e4e894SVignesh Raghavendra	};
481e4e4e894SVignesh Raghavendra};
4827dd84752SSuman Anna
4837dd84752SSuman Anna&mailbox0_cluster2 {
4847dd84752SSuman Anna	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
4857dd84752SSuman Anna		ti,mbox-rx = <0 0 2>;
4867dd84752SSuman Anna		ti,mbox-tx = <1 0 2>;
4877dd84752SSuman Anna	};
4887dd84752SSuman Anna
4897dd84752SSuman Anna	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
4907dd84752SSuman Anna		ti,mbox-rx = <2 0 2>;
4917dd84752SSuman Anna		ti,mbox-tx = <3 0 2>;
4927dd84752SSuman Anna	};
4937dd84752SSuman Anna};
4947dd84752SSuman Anna
4957dd84752SSuman Anna&mailbox0_cluster3 {
4967dd84752SSuman Anna	status = "disabled";
4977dd84752SSuman Anna};
4987dd84752SSuman Anna
4997dd84752SSuman Anna&mailbox0_cluster4 {
5007dd84752SSuman Anna	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
5017dd84752SSuman Anna		ti,mbox-rx = <0 0 2>;
5027dd84752SSuman Anna		ti,mbox-tx = <1 0 2>;
5037dd84752SSuman Anna	};
5047dd84752SSuman Anna
5057dd84752SSuman Anna	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
5067dd84752SSuman Anna		ti,mbox-rx = <2 0 2>;
5077dd84752SSuman Anna		ti,mbox-tx = <3 0 2>;
5087dd84752SSuman Anna	};
5097dd84752SSuman Anna};
5107dd84752SSuman Anna
5117dd84752SSuman Anna&mailbox0_cluster5 {
5127dd84752SSuman Anna	status = "disabled";
5137dd84752SSuman Anna};
5147dd84752SSuman Anna
5157dd84752SSuman Anna&mailbox0_cluster6 {
5167dd84752SSuman Anna	mbox_m4_0: mbox-m4-0 {
5177dd84752SSuman Anna		ti,mbox-rx = <0 0 2>;
5187dd84752SSuman Anna		ti,mbox-tx = <1 0 2>;
5197dd84752SSuman Anna	};
5207dd84752SSuman Anna};
5217dd84752SSuman Anna
5227dd84752SSuman Anna&mailbox0_cluster7 {
5237dd84752SSuman Anna	status = "disabled";
5247dd84752SSuman Anna};
525354065beSKishon Vijay Abraham I
5260afadba4SSuman Anna&main_r5fss0_core0 {
5270afadba4SSuman Anna	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
528*d71abfccSSuman Anna	memory-region = <&main_r5fss0_core0_dma_memory_region>,
529*d71abfccSSuman Anna			<&main_r5fss0_core0_memory_region>;
5300afadba4SSuman Anna};
5310afadba4SSuman Anna
5320afadba4SSuman Anna&main_r5fss0_core1 {
5330afadba4SSuman Anna	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
534*d71abfccSSuman Anna	memory-region = <&main_r5fss0_core1_dma_memory_region>,
535*d71abfccSSuman Anna			<&main_r5fss0_core1_memory_region>;
5360afadba4SSuman Anna};
5370afadba4SSuman Anna
5380afadba4SSuman Anna&main_r5fss1_core0 {
5390afadba4SSuman Anna	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
540*d71abfccSSuman Anna	memory-region = <&main_r5fss1_core0_dma_memory_region>,
541*d71abfccSSuman Anna			<&main_r5fss1_core0_memory_region>;
5420afadba4SSuman Anna};
5430afadba4SSuman Anna
5440afadba4SSuman Anna&main_r5fss1_core1 {
5450afadba4SSuman Anna	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
546*d71abfccSSuman Anna	memory-region = <&main_r5fss1_core1_dma_memory_region>,
547*d71abfccSSuman Anna			<&main_r5fss1_core1_memory_region>;
5480afadba4SSuman Anna};
5490afadba4SSuman Anna
550354065beSKishon Vijay Abraham I&serdes_ln_ctrl {
551354065beSKishon Vijay Abraham I	idle-states = <AM64_SERDES0_LANE0_PCIE0>;
552354065beSKishon Vijay Abraham I};
553354065beSKishon Vijay Abraham I
554354065beSKishon Vijay Abraham I&serdes0 {
555354065beSKishon Vijay Abraham I	serdes0_pcie_link: phy@0 {
556354065beSKishon Vijay Abraham I		reg = <0>;
557354065beSKishon Vijay Abraham I		cdns,num-lanes = <1>;
558354065beSKishon Vijay Abraham I		#phy-cells = <0>;
559354065beSKishon Vijay Abraham I		cdns,phy-type = <PHY_TYPE_PCIE>;
560354065beSKishon Vijay Abraham I		resets = <&serdes_wiz0 1>;
561354065beSKishon Vijay Abraham I	};
562354065beSKishon Vijay Abraham I};
563354065beSKishon Vijay Abraham I
564354065beSKishon Vijay Abraham I&pcie0_rc {
565354065beSKishon Vijay Abraham I	reset-gpios = <&exp1 5 GPIO_ACTIVE_HIGH>;
566354065beSKishon Vijay Abraham I	phys = <&serdes0_pcie_link>;
567354065beSKishon Vijay Abraham I	phy-names = "pcie-phy";
568354065beSKishon Vijay Abraham I	num-lanes = <1>;
569354065beSKishon Vijay Abraham I};
570354065beSKishon Vijay Abraham I
571354065beSKishon Vijay Abraham I&pcie0_ep {
572354065beSKishon Vijay Abraham I	phys = <&serdes0_pcie_link>;
573354065beSKishon Vijay Abraham I	phy-names = "pcie-phy";
574354065beSKishon Vijay Abraham I	num-lanes = <1>;
575354065beSKishon Vijay Abraham I	status = "disabled";
576354065beSKishon Vijay Abraham I};
577