xref: /openbmc/linux/arch/arm64/boot/dts/ti/k3-am642-evm.dts (revision 3e21ec289c76dbc88dc306802122214b6b053a99)
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		};
41d71abfccSSuman Anna
42d71abfccSSuman Anna		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
43d71abfccSSuman Anna			compatible = "shared-dma-pool";
44d71abfccSSuman Anna			reg = <0x00 0xa0000000 0x00 0x100000>;
45d71abfccSSuman Anna			no-map;
46d71abfccSSuman Anna		};
47d71abfccSSuman Anna
48d71abfccSSuman Anna		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
49d71abfccSSuman Anna			compatible = "shared-dma-pool";
50d71abfccSSuman Anna			reg = <0x00 0xa0100000 0x00 0xf00000>;
51d71abfccSSuman Anna			no-map;
52d71abfccSSuman Anna		};
53d71abfccSSuman Anna
54d71abfccSSuman Anna		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
55d71abfccSSuman Anna			compatible = "shared-dma-pool";
56d71abfccSSuman Anna			reg = <0x00 0xa1000000 0x00 0x100000>;
57d71abfccSSuman Anna			no-map;
58d71abfccSSuman Anna		};
59d71abfccSSuman Anna
60d71abfccSSuman Anna		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
61d71abfccSSuman Anna			compatible = "shared-dma-pool";
62d71abfccSSuman Anna			reg = <0x00 0xa1100000 0x00 0xf00000>;
63d71abfccSSuman Anna			no-map;
64d71abfccSSuman Anna		};
65d71abfccSSuman Anna
66d71abfccSSuman Anna		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
67d71abfccSSuman Anna			compatible = "shared-dma-pool";
68d71abfccSSuman Anna			reg = <0x00 0xa2000000 0x00 0x100000>;
69d71abfccSSuman Anna			no-map;
70d71abfccSSuman Anna		};
71d71abfccSSuman Anna
72d71abfccSSuman Anna		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
73d71abfccSSuman Anna			compatible = "shared-dma-pool";
74d71abfccSSuman Anna			reg = <0x00 0xa2100000 0x00 0xf00000>;
75d71abfccSSuman Anna			no-map;
76d71abfccSSuman Anna		};
77d71abfccSSuman Anna
78d71abfccSSuman Anna		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
79d71abfccSSuman Anna			compatible = "shared-dma-pool";
80d71abfccSSuman Anna			reg = <0x00 0xa3000000 0x00 0x100000>;
81d71abfccSSuman Anna			no-map;
82d71abfccSSuman Anna		};
83d71abfccSSuman Anna
84d71abfccSSuman Anna		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
85d71abfccSSuman Anna			compatible = "shared-dma-pool";
86d71abfccSSuman Anna			reg = <0x00 0xa3100000 0x00 0xf00000>;
87d71abfccSSuman Anna			no-map;
88d71abfccSSuman Anna		};
89d71abfccSSuman Anna
90d71abfccSSuman Anna		rtos_ipc_memory_region: ipc-memories@a5000000 {
91d71abfccSSuman Anna			reg = <0x00 0xa5000000 0x00 0x00800000>;
92d71abfccSSuman Anna			alignment = <0x1000>;
93d71abfccSSuman Anna			no-map;
94d71abfccSSuman 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	};
1872f474da9SAswath Govindraju
1882f474da9SAswath Govindraju	transceiver1: can-phy0 {
1892f474da9SAswath Govindraju		compatible = "ti,tcan1042";
1902f474da9SAswath Govindraju		#phy-cells = <0>;
1912f474da9SAswath Govindraju		max-bitrate = <5000000>;
1922f474da9SAswath Govindraju		standby-gpios = <&exp1 8 GPIO_ACTIVE_HIGH>;
1932f474da9SAswath Govindraju	};
1942f474da9SAswath Govindraju
1952f474da9SAswath Govindraju	transceiver2: can-phy1 {
1962f474da9SAswath Govindraju		compatible = "ti,tcan1042";
1972f474da9SAswath Govindraju		#phy-cells = <0>;
1982f474da9SAswath Govindraju		max-bitrate = <5000000>;
1992f474da9SAswath Govindraju		standby-gpios = <&exp1 9 GPIO_ACTIVE_HIGH>;
2002f474da9SAswath Govindraju	};
2011e6550d3SDave Gerlach};
2021e6550d3SDave Gerlach
2031e6550d3SDave Gerlach&main_pmx0 {
2041e6550d3SDave Gerlach	main_mmc1_pins_default: main-mmc1-pins-default {
2051e6550d3SDave Gerlach		pinctrl-single,pins = <
2061e6550d3SDave Gerlach			AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
2071e6550d3SDave Gerlach			AM64X_IOPAD(0x028c, PIN_INPUT_PULLDOWN, 0) /* (L20) MMC1_CLK */
2081e6550d3SDave Gerlach			AM64X_IOPAD(0x0288, PIN_INPUT_PULLUP, 0) /* (K21) MMC1_DAT0 */
2091e6550d3SDave Gerlach			AM64X_IOPAD(0x0284, PIN_INPUT_PULLUP, 0) /* (L21) MMC1_DAT1 */
2101e6550d3SDave Gerlach			AM64X_IOPAD(0x0280, PIN_INPUT_PULLUP, 0) /* (K19) MMC1_DAT2 */
2111e6550d3SDave Gerlach			AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* (K18) MMC1_DAT3 */
2121e6550d3SDave Gerlach			AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* (D19) MMC1_SDCD */
2131e6550d3SDave Gerlach			AM64X_IOPAD(0x029c, PIN_INPUT, 0) /* (C20) MMC1_SDWP */
2141e6550d3SDave Gerlach			AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* MMC1_CLKLB */
2151e6550d3SDave Gerlach		>;
2161e6550d3SDave Gerlach	};
2171e6550d3SDave Gerlach
2181e6550d3SDave Gerlach	main_uart0_pins_default: main-uart0-pins-default {
2191e6550d3SDave Gerlach		pinctrl-single,pins = <
2201e6550d3SDave Gerlach			AM64X_IOPAD(0x0238, PIN_INPUT, 0) /* (B16) UART0_CTSn */
2211e6550d3SDave Gerlach			AM64X_IOPAD(0x023c, PIN_OUTPUT, 0) /* (A16) UART0_RTSn */
2221e6550d3SDave Gerlach			AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
2231e6550d3SDave Gerlach			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
2241e6550d3SDave Gerlach		>;
2251e6550d3SDave Gerlach	};
2261e6550d3SDave Gerlach
2274fb6c046SAswath Govindraju	main_spi0_pins_default: main-spi0-pins-default {
2284fb6c046SAswath Govindraju		pinctrl-single,pins = <
2294fb6c046SAswath Govindraju			AM64X_IOPAD(0x0210, PIN_INPUT, 0) /* (D13) SPI0_CLK */
2304fb6c046SAswath Govindraju			AM64X_IOPAD(0x0208, PIN_OUTPUT, 0) /* (D12) SPI0_CS0 */
2314fb6c046SAswath Govindraju			AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) /* (A13) SPI0_D0 */
2324fb6c046SAswath Govindraju			AM64X_IOPAD(0x0218, PIN_INPUT, 0) /* (A14) SPI0_D1 */
2334fb6c046SAswath Govindraju		>;
2344fb6c046SAswath Govindraju	};
2354fb6c046SAswath Govindraju
2361e6550d3SDave Gerlach	main_i2c1_pins_default: main-i2c1-pins-default {
2371e6550d3SDave Gerlach		pinctrl-single,pins = <
2381e6550d3SDave Gerlach			AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
2391e6550d3SDave Gerlach			AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
2401e6550d3SDave Gerlach		>;
2411e6550d3SDave Gerlach	};
242985204ecSVignesh Raghavendra
243985204ecSVignesh Raghavendra	mdio1_pins_default: mdio1-pins-default {
244985204ecSVignesh Raghavendra		pinctrl-single,pins = <
245985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
246985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
247985204ecSVignesh Raghavendra		>;
248985204ecSVignesh Raghavendra	};
249985204ecSVignesh Raghavendra
250985204ecSVignesh Raghavendra	rgmii1_pins_default: rgmii1-pins-default {
251985204ecSVignesh Raghavendra		pinctrl-single,pins = <
252985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
253985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
254985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
255985204ecSVignesh Raghavendra			AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
256985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
257985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
258985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
259985204ecSVignesh Raghavendra			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
260985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
261985204ecSVignesh Raghavendra			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
262985204ecSVignesh Raghavendra			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
263985204ecSVignesh Raghavendra			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
264985204ecSVignesh Raghavendra		>;
265985204ecSVignesh Raghavendra	};
266985204ecSVignesh Raghavendra
267985204ecSVignesh Raghavendra       rgmii2_pins_default: rgmii2-pins-default {
268985204ecSVignesh Raghavendra		pinctrl-single,pins = <
269985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
270985204ecSVignesh Raghavendra			AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
271985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
272985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
273985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
274985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
275985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
276985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
277985204ecSVignesh Raghavendra			AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
278985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
279985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
280985204ecSVignesh Raghavendra			AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
281985204ecSVignesh Raghavendra		>;
282985204ecSVignesh Raghavendra	};
28304a80a75SAswath Govindraju
28404a80a75SAswath Govindraju	main_usb0_pins_default: main-usb0-pins-default {
28504a80a75SAswath Govindraju		pinctrl-single,pins = <
28604a80a75SAswath Govindraju			AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (E19) USB0_DRVVBUS */
28704a80a75SAswath Govindraju		>;
28804a80a75SAswath Govindraju	};
289e4e4e894SVignesh Raghavendra
290e4e4e894SVignesh Raghavendra	ospi0_pins_default: ospi0-pins-default {
291e4e4e894SVignesh Raghavendra		pinctrl-single,pins = <
292e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (N20) OSPI0_CLK */
293e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (L19) OSPI0_CSn0 */
294e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* (M19) OSPI0_D0 */
295e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* (M18) OSPI0_D1 */
296e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* (M20) OSPI0_D2 */
297e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* (M21) OSPI0_D3 */
298e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* (P21) OSPI0_D4 */
299e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* (P20) OSPI0_D5 */
300e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* (N18) OSPI0_D6 */
301e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* (M17) OSPI0_D7 */
302e4e4e894SVignesh Raghavendra			AM64X_IOPAD(0x0008, PIN_INPUT, 0) /* (N19) OSPI0_DQS */
303e4e4e894SVignesh Raghavendra		>;
304e4e4e894SVignesh Raghavendra	};
3058032affdSLokesh Vutla
3068032affdSLokesh Vutla	main_ecap0_pins_default: main-ecap0-pins-default {
3078032affdSLokesh Vutla		pinctrl-single,pins = <
3088032affdSLokesh Vutla			AM64X_IOPAD(0x0270, PIN_INPUT, 0) /* (D18) ECAP0_IN_APWM_OUT */
3098032affdSLokesh Vutla		>;
3108032affdSLokesh Vutla	};
3112f474da9SAswath Govindraju
3122f474da9SAswath Govindraju	main_mcan0_pins_default: main-mcan0-pins-default {
3132f474da9SAswath Govindraju		pinctrl-single,pins = <
3142f474da9SAswath Govindraju			AM64X_IOPAD(0x0254, PIN_INPUT, 0) /* (B17) MCAN0_RX */
3152f474da9SAswath Govindraju			AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) /* (A17) MCAN0_TX */
3162f474da9SAswath Govindraju		>;
3172f474da9SAswath Govindraju	};
3182f474da9SAswath Govindraju
3192f474da9SAswath Govindraju	main_mcan1_pins_default: main-mcan1-pins-default {
3202f474da9SAswath Govindraju		pinctrl-single,pins = <
3212f474da9SAswath Govindraju			AM64X_IOPAD(0x025c, PIN_INPUT, 0) /* (D17) MCAN1_RX */
3222f474da9SAswath Govindraju			AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (C17) MCAN1_TX */
3232f474da9SAswath Govindraju		>;
3242f474da9SAswath Govindraju	};
3251e6550d3SDave Gerlach};
3261e6550d3SDave Gerlach
3271e6550d3SDave Gerlach&main_uart0 {
328dacf4705SAndrew Davis	status = "okay";
3291e6550d3SDave Gerlach	pinctrl-names = "default";
3301e6550d3SDave Gerlach	pinctrl-0 = <&main_uart0_pins_default>;
3311e6550d3SDave Gerlach};
3321e6550d3SDave Gerlach
3331e6550d3SDave Gerlach/* main_uart1 is reserved for firmware usage */
3341e6550d3SDave Gerlach&main_uart1 {
3351e6550d3SDave Gerlach	status = "reserved";
3361e6550d3SDave Gerlach};
3371e6550d3SDave Gerlach
3381e6550d3SDave Gerlach&main_i2c1 {
339b80f75d8SAndrew Davis	status = "okay";
3401e6550d3SDave Gerlach	pinctrl-names = "default";
3411e6550d3SDave Gerlach	pinctrl-0 = <&main_i2c1_pins_default>;
3421e6550d3SDave Gerlach	clock-frequency = <400000>;
3431e6550d3SDave Gerlach
3441e6550d3SDave Gerlach	exp1: gpio@22 {
3451e6550d3SDave Gerlach		compatible = "ti,tca6424";
3461e6550d3SDave Gerlach		reg = <0x22>;
3471e6550d3SDave Gerlach		gpio-controller;
3481e6550d3SDave Gerlach		#gpio-cells = <2>;
3491e6550d3SDave Gerlach		gpio-line-names = "GPIO_eMMC_RSTn", "CAN_MUX_SEL",
3501e6550d3SDave Gerlach				  "GPIO_CPSW1_RST", "GPIO_RGMII1_RST",
3511e6550d3SDave Gerlach				  "GPIO_RGMII2_RST", "GPIO_PCIe_RST_OUT",
3521e6550d3SDave Gerlach				  "MMC1_SD_EN", "FSI_FET_SEL",
3531e6550d3SDave Gerlach				  "MCAN0_STB_3V3", "MCAN1_STB_3V3",
3541e6550d3SDave Gerlach				  "CPSW_FET_SEL", "CPSW_FET2_SEL",
3551e6550d3SDave Gerlach				  "PRG1_RGMII2_FET_SEL", "TEST_GPIO2",
3561e6550d3SDave Gerlach				  "GPIO_OLED_RESETn", "VPP_LDO_EN",
3571e6550d3SDave Gerlach				  "TEST_LED1", "TP92", "TP90", "TP88",
3581e6550d3SDave Gerlach				  "TP87", "TP86", "TP89", "TP91";
3591e6550d3SDave Gerlach	};
3601e6550d3SDave Gerlach
3611e6550d3SDave Gerlach	/* osd9616p0899-10 */
3621e6550d3SDave Gerlach	display@3c {
3631e6550d3SDave Gerlach		compatible = "solomon,ssd1306fb-i2c";
3641e6550d3SDave Gerlach		reg = <0x3c>;
3651e6550d3SDave Gerlach		reset-gpios = <&exp1 14 GPIO_ACTIVE_LOW>;
3661e6550d3SDave Gerlach		vbat-supply = <&vddb>;
3671e6550d3SDave Gerlach		solomon,height = <16>;
3681e6550d3SDave Gerlach		solomon,width = <96>;
3691e6550d3SDave Gerlach		solomon,com-seq;
3701e6550d3SDave Gerlach		solomon,com-invdir;
3711e6550d3SDave Gerlach		solomon,page-offset = <0>;
3721e6550d3SDave Gerlach		solomon,prechargep1 = <2>;
3731e6550d3SDave Gerlach		solomon,prechargep2 = <13>;
3741e6550d3SDave Gerlach	};
3751e6550d3SDave Gerlach};
3761e6550d3SDave Gerlach
377d5a4d541SAswath Govindraju/* mcu_gpio0 is reserved for mcu firmware usage */
378d5a4d541SAswath Govindraju&mcu_gpio0 {
379d5a4d541SAswath Govindraju	status = "reserved";
380d5a4d541SAswath Govindraju};
381d5a4d541SAswath Govindraju
3824fb6c046SAswath Govindraju&main_spi0 {
38379d4aa62SAndrew Davis	status = "okay";
3844fb6c046SAswath Govindraju	pinctrl-names = "default";
3854fb6c046SAswath Govindraju	pinctrl-0 = <&main_spi0_pins_default>;
386d3f1b155SAswath Govindraju	ti,pindir-d0-out-d1-in;
3874fb6c046SAswath Govindraju	eeprom@0 {
3884fb6c046SAswath Govindraju		compatible = "microchip,93lc46b";
3894fb6c046SAswath Govindraju		reg = <0>;
3904fb6c046SAswath Govindraju		spi-max-frequency = <1000000>;
3914fb6c046SAswath Govindraju		spi-cs-high;
3924fb6c046SAswath Govindraju		data-size = <16>;
3934fb6c046SAswath Govindraju	};
3944fb6c046SAswath Govindraju};
3954fb6c046SAswath Govindraju
3961e6550d3SDave Gerlach&sdhci0 {
3971e6550d3SDave Gerlach	/* emmc */
3981e6550d3SDave Gerlach	bus-width = <8>;
3991e6550d3SDave Gerlach	non-removable;
4001e6550d3SDave Gerlach	ti,driver-strength-ohm = <50>;
4011e6550d3SDave Gerlach	disable-wp;
4021e6550d3SDave Gerlach};
4031e6550d3SDave Gerlach
4041e6550d3SDave Gerlach&sdhci1 {
4051e6550d3SDave Gerlach	/* SD/MMC */
4061e6550d3SDave Gerlach	vmmc-supply = <&vdd_mmc1>;
4071e6550d3SDave Gerlach	pinctrl-names = "default";
4081e6550d3SDave Gerlach	bus-width = <4>;
4091e6550d3SDave Gerlach	pinctrl-0 = <&main_mmc1_pins_default>;
4101e6550d3SDave Gerlach	ti,driver-strength-ohm = <50>;
4111e6550d3SDave Gerlach	disable-wp;
4121e6550d3SDave Gerlach};
413985204ecSVignesh Raghavendra
41404a80a75SAswath Govindraju&usbss0 {
41504a80a75SAswath Govindraju	ti,vbus-divider;
41604a80a75SAswath Govindraju	ti,usb2-only;
41704a80a75SAswath Govindraju};
41804a80a75SAswath Govindraju
41904a80a75SAswath Govindraju&usb0 {
42004a80a75SAswath Govindraju	dr_mode = "otg";
42104a80a75SAswath Govindraju	maximum-speed = "high-speed";
42204a80a75SAswath Govindraju	pinctrl-names = "default";
42304a80a75SAswath Govindraju	pinctrl-0 = <&main_usb0_pins_default>;
42404a80a75SAswath Govindraju};
42504a80a75SAswath Govindraju
426985204ecSVignesh Raghavendra&cpsw3g {
427985204ecSVignesh Raghavendra	pinctrl-names = "default";
428985204ecSVignesh Raghavendra	pinctrl-0 = <&mdio1_pins_default
429985204ecSVignesh Raghavendra		     &rgmii1_pins_default
430985204ecSVignesh Raghavendra		     &rgmii2_pins_default>;
431985204ecSVignesh Raghavendra};
432985204ecSVignesh Raghavendra
433985204ecSVignesh Raghavendra&cpsw_port1 {
434985204ecSVignesh Raghavendra	phy-mode = "rgmii-rxid";
435985204ecSVignesh Raghavendra	phy-handle = <&cpsw3g_phy0>;
436985204ecSVignesh Raghavendra};
437985204ecSVignesh Raghavendra
438985204ecSVignesh Raghavendra&cpsw_port2 {
439985204ecSVignesh Raghavendra	phy-mode = "rgmii-rxid";
440985204ecSVignesh Raghavendra	phy-handle = <&cpsw3g_phy3>;
441985204ecSVignesh Raghavendra};
442985204ecSVignesh Raghavendra
443985204ecSVignesh Raghavendra&cpsw3g_mdio {
444985204ecSVignesh Raghavendra	cpsw3g_phy0: ethernet-phy@0 {
445985204ecSVignesh Raghavendra		reg = <0>;
446985204ecSVignesh Raghavendra		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
447985204ecSVignesh Raghavendra		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
448985204ecSVignesh Raghavendra	};
449985204ecSVignesh Raghavendra};
450fad4e18fSVignesh Raghavendra
451fad4e18fSVignesh Raghavendra&tscadc0 {
452fad4e18fSVignesh Raghavendra	/* ADC is reserved for R5 usage */
453fad4e18fSVignesh Raghavendra	status = "reserved";
454fad4e18fSVignesh Raghavendra};
455e4e4e894SVignesh Raghavendra
456e4e4e894SVignesh Raghavendra&ospi0 {
457e4e4e894SVignesh Raghavendra	pinctrl-names = "default";
458e4e4e894SVignesh Raghavendra	pinctrl-0 = <&ospi0_pins_default>;
459e4e4e894SVignesh Raghavendra
460e4e4e894SVignesh Raghavendra	flash@0 {
461e4e4e894SVignesh Raghavendra		compatible = "jedec,spi-nor";
462e4e4e894SVignesh Raghavendra		reg = <0x0>;
463e4e4e894SVignesh Raghavendra		spi-tx-bus-width = <8>;
464e4e4e894SVignesh Raghavendra		spi-rx-bus-width = <8>;
465e4e4e894SVignesh Raghavendra		spi-max-frequency = <25000000>;
466e4e4e894SVignesh Raghavendra		cdns,tshsl-ns = <60>;
467e4e4e894SVignesh Raghavendra		cdns,tsd2d-ns = <60>;
468e4e4e894SVignesh Raghavendra		cdns,tchsh-ns = <60>;
469e4e4e894SVignesh Raghavendra		cdns,tslch-ns = <60>;
470e4e4e894SVignesh Raghavendra		cdns,read-delay = <4>;
471e4e4e894SVignesh Raghavendra	};
472e4e4e894SVignesh Raghavendra};
4737dd84752SSuman Anna
4747dd84752SSuman Anna&mailbox0_cluster2 {
4757dd84752SSuman Anna	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
4767dd84752SSuman Anna		ti,mbox-rx = <0 0 2>;
4777dd84752SSuman Anna		ti,mbox-tx = <1 0 2>;
4787dd84752SSuman Anna	};
4797dd84752SSuman Anna
4807dd84752SSuman Anna	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
4817dd84752SSuman Anna		ti,mbox-rx = <2 0 2>;
4827dd84752SSuman Anna		ti,mbox-tx = <3 0 2>;
4837dd84752SSuman Anna	};
4847dd84752SSuman Anna};
4857dd84752SSuman Anna
4867dd84752SSuman Anna&mailbox0_cluster3 {
4877dd84752SSuman Anna	status = "disabled";
4887dd84752SSuman Anna};
4897dd84752SSuman Anna
4907dd84752SSuman Anna&mailbox0_cluster4 {
4917dd84752SSuman Anna	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
4927dd84752SSuman Anna		ti,mbox-rx = <0 0 2>;
4937dd84752SSuman Anna		ti,mbox-tx = <1 0 2>;
4947dd84752SSuman Anna	};
4957dd84752SSuman Anna
4967dd84752SSuman Anna	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
4977dd84752SSuman Anna		ti,mbox-rx = <2 0 2>;
4987dd84752SSuman Anna		ti,mbox-tx = <3 0 2>;
4997dd84752SSuman Anna	};
5007dd84752SSuman Anna};
5017dd84752SSuman Anna
5027dd84752SSuman Anna&mailbox0_cluster5 {
5037dd84752SSuman Anna	status = "disabled";
5047dd84752SSuman Anna};
5057dd84752SSuman Anna
5067dd84752SSuman Anna&mailbox0_cluster6 {
5077dd84752SSuman Anna	mbox_m4_0: mbox-m4-0 {
5087dd84752SSuman Anna		ti,mbox-rx = <0 0 2>;
5097dd84752SSuman Anna		ti,mbox-tx = <1 0 2>;
5107dd84752SSuman Anna	};
5117dd84752SSuman Anna};
5127dd84752SSuman Anna
5137dd84752SSuman Anna&mailbox0_cluster7 {
5147dd84752SSuman Anna	status = "disabled";
5157dd84752SSuman Anna};
516354065beSKishon Vijay Abraham I
5170afadba4SSuman Anna&main_r5fss0_core0 {
5180afadba4SSuman Anna	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
519d71abfccSSuman Anna	memory-region = <&main_r5fss0_core0_dma_memory_region>,
520d71abfccSSuman Anna			<&main_r5fss0_core0_memory_region>;
5210afadba4SSuman Anna};
5220afadba4SSuman Anna
5230afadba4SSuman Anna&main_r5fss0_core1 {
5240afadba4SSuman Anna	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
525d71abfccSSuman Anna	memory-region = <&main_r5fss0_core1_dma_memory_region>,
526d71abfccSSuman Anna			<&main_r5fss0_core1_memory_region>;
5270afadba4SSuman Anna};
5280afadba4SSuman Anna
5290afadba4SSuman Anna&main_r5fss1_core0 {
5300afadba4SSuman Anna	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
531d71abfccSSuman Anna	memory-region = <&main_r5fss1_core0_dma_memory_region>,
532d71abfccSSuman Anna			<&main_r5fss1_core0_memory_region>;
5330afadba4SSuman Anna};
5340afadba4SSuman Anna
5350afadba4SSuman Anna&main_r5fss1_core1 {
5360afadba4SSuman Anna	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
537d71abfccSSuman Anna	memory-region = <&main_r5fss1_core1_dma_memory_region>,
538d71abfccSSuman Anna			<&main_r5fss1_core1_memory_region>;
5390afadba4SSuman Anna};
5400afadba4SSuman Anna
541354065beSKishon Vijay Abraham I&serdes_ln_ctrl {
542354065beSKishon Vijay Abraham I	idle-states = <AM64_SERDES0_LANE0_PCIE0>;
543354065beSKishon Vijay Abraham I};
544354065beSKishon Vijay Abraham I
545354065beSKishon Vijay Abraham I&serdes0 {
546354065beSKishon Vijay Abraham I	serdes0_pcie_link: phy@0 {
547354065beSKishon Vijay Abraham I		reg = <0>;
548354065beSKishon Vijay Abraham I		cdns,num-lanes = <1>;
549354065beSKishon Vijay Abraham I		#phy-cells = <0>;
550354065beSKishon Vijay Abraham I		cdns,phy-type = <PHY_TYPE_PCIE>;
551354065beSKishon Vijay Abraham I		resets = <&serdes_wiz0 1>;
552354065beSKishon Vijay Abraham I	};
553354065beSKishon Vijay Abraham I};
554354065beSKishon Vijay Abraham I
555354065beSKishon Vijay Abraham I&pcie0_rc {
556*3e21ec28SAndrew Davis	status = "okay";
557354065beSKishon Vijay Abraham I	reset-gpios = <&exp1 5 GPIO_ACTIVE_HIGH>;
558354065beSKishon Vijay Abraham I	phys = <&serdes0_pcie_link>;
559354065beSKishon Vijay Abraham I	phy-names = "pcie-phy";
560354065beSKishon Vijay Abraham I	num-lanes = <1>;
561354065beSKishon Vijay Abraham I};
562354065beSKishon Vijay Abraham I
563354065beSKishon Vijay Abraham I&pcie0_ep {
564354065beSKishon Vijay Abraham I	phys = <&serdes0_pcie_link>;
565354065beSKishon Vijay Abraham I	phy-names = "pcie-phy";
566354065beSKishon Vijay Abraham I	num-lanes = <1>;
567354065beSKishon Vijay Abraham I};
5688032affdSLokesh Vutla
5698032affdSLokesh Vutla&ecap0 {
570dcac8eaaSAndrew Davis	status = "okay";
5718032affdSLokesh Vutla	/* PWM is available on Pin 1 of header J12 */
5728032affdSLokesh Vutla	pinctrl-names = "default";
5738032affdSLokesh Vutla	pinctrl-0 = <&main_ecap0_pins_default>;
5748032affdSLokesh Vutla};
5758032affdSLokesh Vutla
576c9087e38SSuman Anna&icssg0_mdio {
577c9087e38SSuman Anna	status = "disabled";
578c9087e38SSuman Anna};
579c9087e38SSuman Anna
580c9087e38SSuman Anna&icssg1_mdio {
581c9087e38SSuman Anna	status = "disabled";
582c9087e38SSuman Anna};
5832f474da9SAswath Govindraju
5842f474da9SAswath Govindraju&main_mcan0 {
5852f474da9SAswath Govindraju	pinctrl-names = "default";
5862f474da9SAswath Govindraju	pinctrl-0 = <&main_mcan0_pins_default>;
5872f474da9SAswath Govindraju	phys = <&transceiver1>;
5882f474da9SAswath Govindraju};
5892f474da9SAswath Govindraju
5902f474da9SAswath Govindraju&main_mcan1 {
5912f474da9SAswath Govindraju	pinctrl-names = "default";
5922f474da9SAswath Govindraju	pinctrl-0 = <&main_mcan1_pins_default>;
5932f474da9SAswath Govindraju	phys = <&transceiver2>;
5942f474da9SAswath Govindraju};
5955ec06904SRoger Quadros
5965ec06904SRoger Quadros&gpmc0 {
5975ec06904SRoger Quadros	status = "disabled";
5985ec06904SRoger Quadros};
599c920a6caSRoger Quadros
600c920a6caSRoger Quadros&elm0 {
601c920a6caSRoger Quadros	status = "disabled";
602c920a6caSRoger Quadros};
603