xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62x-sk-common.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2fac71e4eSEmmanuel Vadot/*
3fac71e4eSEmmanuel Vadot * Common dtsi for AM62x SK and derivatives
4fac71e4eSEmmanuel Vadot *
5fac71e4eSEmmanuel Vadot * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
6fac71e4eSEmmanuel Vadot */
7fac71e4eSEmmanuel Vadot
8fac71e4eSEmmanuel Vadot#include <dt-bindings/leds/common.h>
9fac71e4eSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10fac71e4eSEmmanuel Vadot#include <dt-bindings/net/ti-dp83867.h>
11fac71e4eSEmmanuel Vadot#include "k3-am625.dtsi"
12fac71e4eSEmmanuel Vadot
13fac71e4eSEmmanuel Vadot/ {
14fac71e4eSEmmanuel Vadot	aliases {
15fac71e4eSEmmanuel Vadot		serial2 = &main_uart0;
16fac71e4eSEmmanuel Vadot		mmc0 = &sdhci0;
17fac71e4eSEmmanuel Vadot		mmc1 = &sdhci1;
18fac71e4eSEmmanuel Vadot		mmc2 = &sdhci2;
19fac71e4eSEmmanuel Vadot		spi0 = &ospi0;
20fac71e4eSEmmanuel Vadot		ethernet0 = &cpsw_port1;
21fac71e4eSEmmanuel Vadot		ethernet1 = &cpsw_port2;
22fac71e4eSEmmanuel Vadot		usb0 = &usb0;
23fac71e4eSEmmanuel Vadot		usb1 = &usb1;
24fac71e4eSEmmanuel Vadot	};
25fac71e4eSEmmanuel Vadot
26fac71e4eSEmmanuel Vadot	chosen {
27fac71e4eSEmmanuel Vadot		stdout-path = "serial2:115200n8";
28fac71e4eSEmmanuel Vadot	};
29fac71e4eSEmmanuel Vadot
30fac71e4eSEmmanuel Vadot	memory@80000000 {
3184943d6fSEmmanuel Vadot		bootph-pre-ram;
32fac71e4eSEmmanuel Vadot		device_type = "memory";
33fac71e4eSEmmanuel Vadot		/* 2G RAM */
34fac71e4eSEmmanuel Vadot		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
35fac71e4eSEmmanuel Vadot	};
36fac71e4eSEmmanuel Vadot
37fac71e4eSEmmanuel Vadot	reserved-memory {
38fac71e4eSEmmanuel Vadot		#address-cells = <2>;
39fac71e4eSEmmanuel Vadot		#size-cells = <2>;
40fac71e4eSEmmanuel Vadot		ranges;
41fac71e4eSEmmanuel Vadot
42fac71e4eSEmmanuel Vadot		ramoops@9ca00000 {
43fac71e4eSEmmanuel Vadot			compatible = "ramoops";
44fac71e4eSEmmanuel Vadot			reg = <0x00 0x9ca00000 0x00 0x00100000>;
45fac71e4eSEmmanuel Vadot			record-size = <0x8000>;
46fac71e4eSEmmanuel Vadot			console-size = <0x8000>;
47fac71e4eSEmmanuel Vadot			ftrace-size = <0x00>;
48fac71e4eSEmmanuel Vadot			pmsg-size = <0x8000>;
49fac71e4eSEmmanuel Vadot		};
50fac71e4eSEmmanuel Vadot
51fac71e4eSEmmanuel Vadot		secure_tfa_ddr: tfa@9e780000 {
52fac71e4eSEmmanuel Vadot			reg = <0x00 0x9e780000 0x00 0x80000>;
53fac71e4eSEmmanuel Vadot			alignment = <0x1000>;
54fac71e4eSEmmanuel Vadot			no-map;
55fac71e4eSEmmanuel Vadot		};
56fac71e4eSEmmanuel Vadot
57fac71e4eSEmmanuel Vadot		secure_ddr: optee@9e800000 {
58fac71e4eSEmmanuel Vadot			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
59fac71e4eSEmmanuel Vadot			alignment = <0x1000>;
60fac71e4eSEmmanuel Vadot			no-map;
61fac71e4eSEmmanuel Vadot		};
62fac71e4eSEmmanuel Vadot
63fac71e4eSEmmanuel Vadot		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
64fac71e4eSEmmanuel Vadot			compatible = "shared-dma-pool";
65fac71e4eSEmmanuel Vadot			reg = <0x00 0x9db00000 0x00 0xc00000>;
66fac71e4eSEmmanuel Vadot			no-map;
67fac71e4eSEmmanuel Vadot		};
68fac71e4eSEmmanuel Vadot	};
69fac71e4eSEmmanuel Vadot
70fac71e4eSEmmanuel Vadot	leds {
71fac71e4eSEmmanuel Vadot		compatible = "gpio-leds";
72fac71e4eSEmmanuel Vadot		pinctrl-names = "default";
73fac71e4eSEmmanuel Vadot		pinctrl-0 = <&usr_led_pins_default>;
74fac71e4eSEmmanuel Vadot
75fac71e4eSEmmanuel Vadot		led-0 {
76fac71e4eSEmmanuel Vadot			label = "am62-sk:green:heartbeat";
77fac71e4eSEmmanuel Vadot			gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
78fac71e4eSEmmanuel Vadot			linux,default-trigger = "heartbeat";
79fac71e4eSEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
80fac71e4eSEmmanuel Vadot			default-state = "off";
81fac71e4eSEmmanuel Vadot		};
82fac71e4eSEmmanuel Vadot	};
83fac71e4eSEmmanuel Vadot
84fac71e4eSEmmanuel Vadot	tlv320_mclk: clk-0 {
85fac71e4eSEmmanuel Vadot		#clock-cells = <0>;
86fac71e4eSEmmanuel Vadot		compatible = "fixed-clock";
87fac71e4eSEmmanuel Vadot		clock-frequency = <12288000>;
88fac71e4eSEmmanuel Vadot	};
89fac71e4eSEmmanuel Vadot
90fac71e4eSEmmanuel Vadot	codec_audio: sound {
91fac71e4eSEmmanuel Vadot		compatible = "simple-audio-card";
92fac71e4eSEmmanuel Vadot		simple-audio-card,name = "AM62x-SKEVM";
93fac71e4eSEmmanuel Vadot		simple-audio-card,widgets =
94fac71e4eSEmmanuel Vadot			"Headphone",	"Headphone Jack",
95fac71e4eSEmmanuel Vadot			"Line",		"Line In",
96fac71e4eSEmmanuel Vadot			"Microphone",	"Microphone Jack";
97fac71e4eSEmmanuel Vadot		simple-audio-card,routing =
98fac71e4eSEmmanuel Vadot			"Headphone Jack",	"HPLOUT",
99fac71e4eSEmmanuel Vadot			"Headphone Jack",	"HPROUT",
100fac71e4eSEmmanuel Vadot			"LINE1L",		"Line In",
101fac71e4eSEmmanuel Vadot			"LINE1R",		"Line In",
102fac71e4eSEmmanuel Vadot			"MIC3R",		"Microphone Jack",
103fac71e4eSEmmanuel Vadot			"Microphone Jack",	"Mic Bias";
104fac71e4eSEmmanuel Vadot		simple-audio-card,format = "dsp_b";
105fac71e4eSEmmanuel Vadot		simple-audio-card,bitclock-master = <&sound_master>;
106fac71e4eSEmmanuel Vadot		simple-audio-card,frame-master = <&sound_master>;
107fac71e4eSEmmanuel Vadot		simple-audio-card,bitclock-inversion;
108fac71e4eSEmmanuel Vadot
109fac71e4eSEmmanuel Vadot		simple-audio-card,cpu {
110fac71e4eSEmmanuel Vadot			sound-dai = <&mcasp1>;
111fac71e4eSEmmanuel Vadot		};
112fac71e4eSEmmanuel Vadot
113fac71e4eSEmmanuel Vadot		sound_master: simple-audio-card,codec {
114fac71e4eSEmmanuel Vadot			sound-dai = <&tlv320aic3106>;
115fac71e4eSEmmanuel Vadot			clocks = <&tlv320_mclk>;
116fac71e4eSEmmanuel Vadot		};
117fac71e4eSEmmanuel Vadot	};
118aa1a8ff2SEmmanuel Vadot
119aa1a8ff2SEmmanuel Vadot	hdmi0: connector-hdmi {
120aa1a8ff2SEmmanuel Vadot		compatible = "hdmi-connector";
121aa1a8ff2SEmmanuel Vadot		label = "hdmi";
122aa1a8ff2SEmmanuel Vadot		type = "a";
123aa1a8ff2SEmmanuel Vadot		port {
124aa1a8ff2SEmmanuel Vadot			hdmi_connector_in: endpoint {
125aa1a8ff2SEmmanuel Vadot				remote-endpoint = <&sii9022_out>;
126aa1a8ff2SEmmanuel Vadot			};
127aa1a8ff2SEmmanuel Vadot		};
128aa1a8ff2SEmmanuel Vadot	};
129fac71e4eSEmmanuel Vadot};
130fac71e4eSEmmanuel Vadot
131fac71e4eSEmmanuel Vadot&main_pmx0 {
132fac71e4eSEmmanuel Vadot	/* First pad number is ALW package and second is AMC package */
133f126890aSEmmanuel Vadot	main_uart0_pins_default: main-uart0-default-pins {
13484943d6fSEmmanuel Vadot		bootph-all;
135fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
136fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14/A13) UART0_RXD */
137fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14/E11) UART0_TXD */
138fac71e4eSEmmanuel Vadot		>;
139fac71e4eSEmmanuel Vadot	};
140fac71e4eSEmmanuel Vadot
141f126890aSEmmanuel Vadot	main_uart1_pins_default: main-uart1-default-pins {
14284943d6fSEmmanuel Vadot		bootph-pre-ram;
143f126890aSEmmanuel Vadot		pinctrl-single,pins = <
144f126890aSEmmanuel Vadot			AM62X_IOPAD(0x194, PIN_INPUT, 2) /* (B19/B18) MCASP0_AXR3.UART1_CTSn */
145f126890aSEmmanuel Vadot			AM62X_IOPAD(0x198, PIN_OUTPUT, 2) /* (A19/B17) MCASP0_AXR2.UART1_RTSn */
146f126890aSEmmanuel Vadot			AM62X_IOPAD(0x1ac, PIN_INPUT, 2) /* (E19/D15) MCASP0_AFSR.UART1_RXD */
147f126890aSEmmanuel Vadot			AM62X_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (A20/D16) MCASP0_ACLKR.UART1_TXD */
148f126890aSEmmanuel Vadot		>;
149f126890aSEmmanuel Vadot	};
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot	main_i2c0_pins_default: main-i2c0-default-pins {
152fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
153fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16/E12) I2C0_SCL */
154fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16/D14) I2C0_SDA */
155fac71e4eSEmmanuel Vadot		>;
156fac71e4eSEmmanuel Vadot	};
157fac71e4eSEmmanuel Vadot
158f126890aSEmmanuel Vadot	main_i2c1_pins_default: main-i2c1-default-pins {
159fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
160fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17/A17) I2C1_SCL */
161fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17/A16) I2C1_SDA */
162fac71e4eSEmmanuel Vadot		>;
163fac71e4eSEmmanuel Vadot	};
164fac71e4eSEmmanuel Vadot
165f126890aSEmmanuel Vadot	main_i2c2_pins_default: main-i2c2-default-pins {
166fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
167fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22/H18) GPMC0_CSn2.I2C2_SCL */
168fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24/H19) GPMC0_CSn3.I2C2_SDA */
169fac71e4eSEmmanuel Vadot		>;
170fac71e4eSEmmanuel Vadot	};
171fac71e4eSEmmanuel Vadot
172f126890aSEmmanuel Vadot	main_mmc0_pins_default: main-mmc0-default-pins {
17384943d6fSEmmanuel Vadot		bootph-all;
174fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
175fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3/V3) MMC0_CMD */
176fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1/Y1) MMC0_CLK */
177fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2/V2) MMC0_DAT0 */
178fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1/V1) MMC0_DAT1 */
179fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3/W2) MMC0_DAT2 */
180fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4/W1) MMC0_DAT3 */
181fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2/Y2) MMC0_DAT4 */
182fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1/W3) MMC0_DAT5 */
183fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2/W4) MMC0_DAT6 */
184fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2/V4) MMC0_DAT7 */
185fac71e4eSEmmanuel Vadot		>;
186fac71e4eSEmmanuel Vadot	};
187fac71e4eSEmmanuel Vadot
188f126890aSEmmanuel Vadot	main_mmc1_pins_default: main-mmc1-default-pins {
18984943d6fSEmmanuel Vadot		bootph-all;
190fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
191fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21/C18) MMC1_CMD */
192fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x234, PIN_INPUT, 0) /* (B22/A20) MMC1_CLK */
193fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22/A19) MMC1_DAT0 */
194fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21/B19) MMC1_DAT1 */
195fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21/B20) MMC1_DAT2 */
196fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22/C19) MMC1_DAT3 */
197fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x240, PIN_INPUT, 0) /* (D17/C15) MMC1_SDCD */
198fac71e4eSEmmanuel Vadot		>;
199fac71e4eSEmmanuel Vadot	};
200fac71e4eSEmmanuel Vadot
201f126890aSEmmanuel Vadot	usr_led_pins_default: usr-led-default-pins {
202fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
203fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x244, PIN_OUTPUT, 7) /* (C17/B15) MMC1_SDWP.GPIO1_49 */
204fac71e4eSEmmanuel Vadot		>;
205fac71e4eSEmmanuel Vadot	};
206fac71e4eSEmmanuel Vadot
207f126890aSEmmanuel Vadot	main_mdio1_pins_default: main-mdio1-default-pins {
208fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
209fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24/V17) MDIO0_MDC */
210fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22/U16) MDIO0_MDIO */
211fac71e4eSEmmanuel Vadot		>;
212fac71e4eSEmmanuel Vadot	};
213fac71e4eSEmmanuel Vadot
214f126890aSEmmanuel Vadot	main_rgmii1_pins_default: main-rgmii1-default-pins {
21584943d6fSEmmanuel Vadot		bootph-all;
216fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
217fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17/W15) RGMII1_RD0 */
218fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17/Y16) RGMII1_RD1 */
219fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16/AA17) RGMII1_RD2 */
220fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15/Y15) RGMII1_RD3 */
221fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17/AA16) RGMII1_RXC */
222fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17/W14) RGMII1_RX_CTL */
223fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20/U14) RGMII1_TD0 */
224fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20/AA19) RGMII1_TD1 */
225fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18/Y17) RGMII1_TD2 */
226fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18/AA18) RGMII1_TD3 */
227fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19/W16) RGMII1_TXC */
228fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19/V15) RGMII1_TX_CTL */
229fac71e4eSEmmanuel Vadot		>;
230fac71e4eSEmmanuel Vadot	};
231fac71e4eSEmmanuel Vadot
232f126890aSEmmanuel Vadot	main_usb1_pins_default: main-usb1-default-pins {
233fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
234fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18/E16) USB1_DRVVBUS */
235fac71e4eSEmmanuel Vadot		>;
236fac71e4eSEmmanuel Vadot	};
237fac71e4eSEmmanuel Vadot
238f126890aSEmmanuel Vadot	main_mcasp1_pins_default: main-mcasp1-default-pins {
239fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
240f126890aSEmmanuel Vadot			AM62X_IOPAD(0x090, PIN_INPUT, 2) /* (M24/K17) GPMC0_BE0N_CLE.MCASP1_ACLKX */
241f126890aSEmmanuel Vadot			AM62X_IOPAD(0x098, PIN_INPUT, 2) /* (U23/P21) GPMC0_WAIT0.MCASP1_AFSX */
242f126890aSEmmanuel Vadot			AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25/J17) GPMC0_WEN.MCASP1_AXR0 */
243f126890aSEmmanuel Vadot			AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23/K20) GPMC0_ADVN_ALE.MCASP1_AXR2 */
244f126890aSEmmanuel Vadot		>;
245f126890aSEmmanuel Vadot	};
246aa1a8ff2SEmmanuel Vadot
247aa1a8ff2SEmmanuel Vadot	main_dss0_pins_default: main-dss0-default-pins {
248aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
249aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
250aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
251aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
252aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
253aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
254aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
255aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
256aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
257aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
258aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
259aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
260aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
261aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
262aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
263aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
264aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
265aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
266aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
267aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
268aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x0f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
269aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x05c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */
270aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */
271aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x064, PIN_OUTPUT, 1) /* (T25) GPMC0_AD10.VOUT0_DATA18 */
272aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x068, PIN_OUTPUT, 1) /* (R21) GPMC0_AD11.VOUT0_DATA19 */
273aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x06c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */
274aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x070, PIN_OUTPUT, 1) /* (T24) GPMC0_AD13.VOUT0_DATA21 */
275aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x074, PIN_OUTPUT, 1) /* (U25) GPMC0_AD14.VOUT0_DATA22 */
276aa1a8ff2SEmmanuel Vadot			AM62X_IOPAD(0x078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */
277aa1a8ff2SEmmanuel Vadot		>;
278aa1a8ff2SEmmanuel Vadot	};
279f126890aSEmmanuel Vadot};
280f126890aSEmmanuel Vadot
281f126890aSEmmanuel Vadot&mcu_pmx0 {
282f126890aSEmmanuel Vadot	wkup_uart0_pins_default: wkup-uart0-default-pins {
28384943d6fSEmmanuel Vadot		bootph-pre-ram;
284f126890aSEmmanuel Vadot		pinctrl-single,pins = <
285f126890aSEmmanuel Vadot			AM62X_MCU_IOPAD(0x02c, PIN_INPUT, 0) /* (C6/A7) WKUP_UART0_CTSn */
286f126890aSEmmanuel Vadot			AM62X_MCU_IOPAD(0x030, PIN_OUTPUT, 0) /* (A4/B4) WKUP_UART0_RTSn */
287f126890aSEmmanuel Vadot			AM62X_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (B4/B5) WKUP_UART0_RXD */
288f126890aSEmmanuel Vadot			AM62X_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (C5/C6) WKUP_UART0_TXD */
289fac71e4eSEmmanuel Vadot		>;
290fac71e4eSEmmanuel Vadot	};
291fac71e4eSEmmanuel Vadot};
292fac71e4eSEmmanuel Vadot
293fac71e4eSEmmanuel Vadot&wkup_uart0 {
294fac71e4eSEmmanuel Vadot	/* WKUP UART0 is used by DM firmware */
29584943d6fSEmmanuel Vadot	bootph-pre-ram;
296fac71e4eSEmmanuel Vadot	status = "reserved";
297f126890aSEmmanuel Vadot	pinctrl-names = "default";
298f126890aSEmmanuel Vadot	pinctrl-0 = <&wkup_uart0_pins_default>;
299fac71e4eSEmmanuel Vadot};
300fac71e4eSEmmanuel Vadot
301fac71e4eSEmmanuel Vadot&main_uart0 {
30284943d6fSEmmanuel Vadot	bootph-all;
303fac71e4eSEmmanuel Vadot	status = "okay";
304fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
305fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_uart0_pins_default>;
306fac71e4eSEmmanuel Vadot};
307fac71e4eSEmmanuel Vadot
308fac71e4eSEmmanuel Vadot&main_uart1 {
309fac71e4eSEmmanuel Vadot	/* Main UART1 is used by TIFS firmware */
31084943d6fSEmmanuel Vadot	bootph-pre-ram;
311fac71e4eSEmmanuel Vadot	status = "reserved";
312f126890aSEmmanuel Vadot	pinctrl-names = "default";
313f126890aSEmmanuel Vadot	pinctrl-0 = <&main_uart1_pins_default>;
314fac71e4eSEmmanuel Vadot};
315fac71e4eSEmmanuel Vadot
316fac71e4eSEmmanuel Vadot&main_i2c0 {
317fac71e4eSEmmanuel Vadot	status = "okay";
318fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
319fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_i2c0_pins_default>;
320fac71e4eSEmmanuel Vadot	clock-frequency = <400000>;
321f126890aSEmmanuel Vadot
322f126890aSEmmanuel Vadot	eeprom@51 {
323f126890aSEmmanuel Vadot		/* AT24C512C-MAHM-T or M24512-DFMC6TG */
324f126890aSEmmanuel Vadot		compatible = "atmel,24c512";
325f126890aSEmmanuel Vadot		reg = <0x51>;
326f126890aSEmmanuel Vadot	};
327f126890aSEmmanuel Vadot
328f126890aSEmmanuel Vadot	typec_pd0: tps6598x@3f {
329f126890aSEmmanuel Vadot		compatible = "ti,tps6598x";
330f126890aSEmmanuel Vadot		reg = <0x3f>;
331f126890aSEmmanuel Vadot
332f126890aSEmmanuel Vadot		connector {
333f126890aSEmmanuel Vadot			compatible = "usb-c-connector";
334f126890aSEmmanuel Vadot			label = "USB-C";
335f126890aSEmmanuel Vadot			self-powered;
336f126890aSEmmanuel Vadot			data-role = "dual";
337f126890aSEmmanuel Vadot			power-role = "sink";
338f126890aSEmmanuel Vadot			ports {
339f126890aSEmmanuel Vadot				#address-cells = <1>;
340f126890aSEmmanuel Vadot				#size-cells = <0>;
341f126890aSEmmanuel Vadot
342f126890aSEmmanuel Vadot				port@0 {
343f126890aSEmmanuel Vadot					reg = <0>;
344f126890aSEmmanuel Vadot					usb_con_hs: endpoint {
345f126890aSEmmanuel Vadot						remote-endpoint = <&usb0_hs_ep>;
346f126890aSEmmanuel Vadot					};
347f126890aSEmmanuel Vadot				};
348f126890aSEmmanuel Vadot			};
349f126890aSEmmanuel Vadot		};
350f126890aSEmmanuel Vadot	};
351fac71e4eSEmmanuel Vadot};
352fac71e4eSEmmanuel Vadot
353fac71e4eSEmmanuel Vadot&main_i2c1 {
354fac71e4eSEmmanuel Vadot	status = "okay";
355fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
356fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_i2c1_pins_default>;
357aa1a8ff2SEmmanuel Vadot	clock-frequency = <100000>;
358fac71e4eSEmmanuel Vadot
359fac71e4eSEmmanuel Vadot	tlv320aic3106: audio-codec@1b {
360fac71e4eSEmmanuel Vadot		#sound-dai-cells = <0>;
361fac71e4eSEmmanuel Vadot		compatible = "ti,tlv320aic3106";
362fac71e4eSEmmanuel Vadot		reg = <0x1b>;
363fac71e4eSEmmanuel Vadot		ai3x-micbias-vg = <1>;	/* 2.0V */
364fac71e4eSEmmanuel Vadot
365fac71e4eSEmmanuel Vadot		/* Regulators */
366fac71e4eSEmmanuel Vadot		AVDD-supply = <&vcc_3v3_sys>;
367fac71e4eSEmmanuel Vadot		IOVDD-supply = <&vcc_3v3_sys>;
368fac71e4eSEmmanuel Vadot		DRVDD-supply = <&vcc_3v3_sys>;
369fac71e4eSEmmanuel Vadot	};
370aa1a8ff2SEmmanuel Vadot
371aa1a8ff2SEmmanuel Vadot	sii9022: bridge-hdmi@3b {
372aa1a8ff2SEmmanuel Vadot		compatible = "sil,sii9022";
373aa1a8ff2SEmmanuel Vadot		reg = <0x3b>;
374aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&exp1>;
375aa1a8ff2SEmmanuel Vadot		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
376aa1a8ff2SEmmanuel Vadot		#sound-dai-cells = <0>;
377aa1a8ff2SEmmanuel Vadot		sil,i2s-data-lanes = < 0 >;
378aa1a8ff2SEmmanuel Vadot
379aa1a8ff2SEmmanuel Vadot		ports {
380aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
381aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
382aa1a8ff2SEmmanuel Vadot
383aa1a8ff2SEmmanuel Vadot			port@0 {
384aa1a8ff2SEmmanuel Vadot				reg = <0>;
385aa1a8ff2SEmmanuel Vadot
386aa1a8ff2SEmmanuel Vadot				sii9022_in: endpoint {
387aa1a8ff2SEmmanuel Vadot					remote-endpoint = <&dpi1_out>;
388aa1a8ff2SEmmanuel Vadot				};
389aa1a8ff2SEmmanuel Vadot			};
390aa1a8ff2SEmmanuel Vadot
391aa1a8ff2SEmmanuel Vadot			port@1 {
392aa1a8ff2SEmmanuel Vadot				reg = <1>;
393aa1a8ff2SEmmanuel Vadot
394aa1a8ff2SEmmanuel Vadot				sii9022_out: endpoint {
395aa1a8ff2SEmmanuel Vadot					remote-endpoint = <&hdmi_connector_in>;
396aa1a8ff2SEmmanuel Vadot				};
397aa1a8ff2SEmmanuel Vadot			};
398aa1a8ff2SEmmanuel Vadot		};
399aa1a8ff2SEmmanuel Vadot	};
400fac71e4eSEmmanuel Vadot};
401fac71e4eSEmmanuel Vadot
402*8d13bc63SEmmanuel Vadot&main_i2c2 {
403*8d13bc63SEmmanuel Vadot	status = "okay";
404*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
405*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&main_i2c2_pins_default>;
406*8d13bc63SEmmanuel Vadot	clock-frequency = <400000>;
407*8d13bc63SEmmanuel Vadot};
408*8d13bc63SEmmanuel Vadot
409fac71e4eSEmmanuel Vadot&sdhci0 {
41084943d6fSEmmanuel Vadot	bootph-all;
411fac71e4eSEmmanuel Vadot	status = "okay";
412fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
413fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_mmc0_pins_default>;
414fac71e4eSEmmanuel Vadot	ti,driver-strength-ohm = <50>;
415fac71e4eSEmmanuel Vadot	disable-wp;
416fac71e4eSEmmanuel Vadot};
417fac71e4eSEmmanuel Vadot
418fac71e4eSEmmanuel Vadot&sdhci1 {
419fac71e4eSEmmanuel Vadot	/* SD/MMC */
42084943d6fSEmmanuel Vadot	bootph-all;
421fac71e4eSEmmanuel Vadot	status = "okay";
422fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
423fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_mmc1_pins_default>;
424fac71e4eSEmmanuel Vadot	ti,driver-strength-ohm = <50>;
425fac71e4eSEmmanuel Vadot	disable-wp;
426fac71e4eSEmmanuel Vadot};
427fac71e4eSEmmanuel Vadot
428fac71e4eSEmmanuel Vadot&cpsw3g {
42984943d6fSEmmanuel Vadot	bootph-all;
430fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
431fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_rgmii1_pins_default>;
432fac71e4eSEmmanuel Vadot};
433fac71e4eSEmmanuel Vadot
434fac71e4eSEmmanuel Vadot&cpsw_port1 {
43584943d6fSEmmanuel Vadot	bootph-all;
436fac71e4eSEmmanuel Vadot	phy-mode = "rgmii-rxid";
437fac71e4eSEmmanuel Vadot	phy-handle = <&cpsw3g_phy0>;
438fac71e4eSEmmanuel Vadot};
439fac71e4eSEmmanuel Vadot
440fac71e4eSEmmanuel Vadot&cpsw3g_mdio {
44184943d6fSEmmanuel Vadot	bootph-all;
442fac71e4eSEmmanuel Vadot	status = "okay";
443fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
444fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_mdio1_pins_default>;
445fac71e4eSEmmanuel Vadot
446fac71e4eSEmmanuel Vadot	cpsw3g_phy0: ethernet-phy@0 {
44784943d6fSEmmanuel Vadot		bootph-all;
448fac71e4eSEmmanuel Vadot		reg = <0>;
449fac71e4eSEmmanuel Vadot		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
450fac71e4eSEmmanuel Vadot		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
451fac71e4eSEmmanuel Vadot		ti,min-output-impedance;
452fac71e4eSEmmanuel Vadot	};
453fac71e4eSEmmanuel Vadot};
454fac71e4eSEmmanuel Vadot
455fac71e4eSEmmanuel Vadot&mailbox0_cluster0 {
456fac71e4eSEmmanuel Vadot	mbox_m4_0: mbox-m4-0 {
457fac71e4eSEmmanuel Vadot		ti,mbox-rx = <0 0 0>;
458fac71e4eSEmmanuel Vadot		ti,mbox-tx = <1 0 0>;
459fac71e4eSEmmanuel Vadot	};
460fac71e4eSEmmanuel Vadot};
461fac71e4eSEmmanuel Vadot
462fac71e4eSEmmanuel Vadot&usbss0 {
463fac71e4eSEmmanuel Vadot	status = "okay";
464fac71e4eSEmmanuel Vadot	ti,vbus-divider;
465fac71e4eSEmmanuel Vadot};
466fac71e4eSEmmanuel Vadot
467fac71e4eSEmmanuel Vadot&usbss1 {
468fac71e4eSEmmanuel Vadot	status = "okay";
469fac71e4eSEmmanuel Vadot	ti,vbus-divider;
470fac71e4eSEmmanuel Vadot};
471fac71e4eSEmmanuel Vadot
472fac71e4eSEmmanuel Vadot&usb0 {
473f126890aSEmmanuel Vadot	#address-cells = <1>;
474f126890aSEmmanuel Vadot	#size-cells = <0>;
475f126890aSEmmanuel Vadot	usb-role-switch;
476f126890aSEmmanuel Vadot
477f126890aSEmmanuel Vadot	port@0 {
478f126890aSEmmanuel Vadot		reg = <0>;
479f126890aSEmmanuel Vadot		usb0_hs_ep: endpoint {
480f126890aSEmmanuel Vadot		    remote-endpoint = <&usb_con_hs>;
481f126890aSEmmanuel Vadot	       };
482f126890aSEmmanuel Vadot	};
483fac71e4eSEmmanuel Vadot};
484fac71e4eSEmmanuel Vadot
485fac71e4eSEmmanuel Vadot&usb1 {
486fac71e4eSEmmanuel Vadot	dr_mode = "host";
487fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
488fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_usb1_pins_default>;
489fac71e4eSEmmanuel Vadot};
490fac71e4eSEmmanuel Vadot
491fac71e4eSEmmanuel Vadot&mcasp1 {
492fac71e4eSEmmanuel Vadot	status = "okay";
493fac71e4eSEmmanuel Vadot	#sound-dai-cells = <0>;
494fac71e4eSEmmanuel Vadot
495fac71e4eSEmmanuel Vadot	pinctrl-names = "default";
496fac71e4eSEmmanuel Vadot	pinctrl-0 = <&main_mcasp1_pins_default>;
497fac71e4eSEmmanuel Vadot
498fac71e4eSEmmanuel Vadot	op-mode = <0>;          /* MCASP_IIS_MODE */
499fac71e4eSEmmanuel Vadot	tdm-slots = <2>;
500fac71e4eSEmmanuel Vadot
501fac71e4eSEmmanuel Vadot	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
502fac71e4eSEmmanuel Vadot	       1 0 2 0
503fac71e4eSEmmanuel Vadot	       0 0 0 0
504fac71e4eSEmmanuel Vadot	       0 0 0 0
505fac71e4eSEmmanuel Vadot	       0 0 0 0
506fac71e4eSEmmanuel Vadot	>;
507fac71e4eSEmmanuel Vadot	tx-num-evt = <32>;
508fac71e4eSEmmanuel Vadot	rx-num-evt = <32>;
509fac71e4eSEmmanuel Vadot};
510aa1a8ff2SEmmanuel Vadot
511aa1a8ff2SEmmanuel Vadot&dss {
512aa1a8ff2SEmmanuel Vadot	status = "okay";
513aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
514aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_dss0_pins_default>;
515aa1a8ff2SEmmanuel Vadot};
516aa1a8ff2SEmmanuel Vadot
517aa1a8ff2SEmmanuel Vadot&dss_ports {
518aa1a8ff2SEmmanuel Vadot	/* VP2: DPI Output */
519aa1a8ff2SEmmanuel Vadot	port@1 {
520aa1a8ff2SEmmanuel Vadot		reg = <1>;
521aa1a8ff2SEmmanuel Vadot
522aa1a8ff2SEmmanuel Vadot		dpi1_out: endpoint {
523aa1a8ff2SEmmanuel Vadot			remote-endpoint = <&sii9022_in>;
524aa1a8ff2SEmmanuel Vadot		};
525aa1a8ff2SEmmanuel Vadot	};
526aa1a8ff2SEmmanuel Vadot};
527*8d13bc63SEmmanuel Vadot
528*8d13bc63SEmmanuel Vadot/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
529*8d13bc63SEmmanuel Vadot&mcu_gpio0 {
530*8d13bc63SEmmanuel Vadot	status = "reserved";
531*8d13bc63SEmmanuel Vadot};
532*8d13bc63SEmmanuel Vadot
533*8d13bc63SEmmanuel Vadot&mcu_gpio_intr {
534*8d13bc63SEmmanuel Vadot	status = "reserved";
535*8d13bc63SEmmanuel Vadot};
536