xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am68-sk-base-board.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
101950c46SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR MIT
2cb7aa33aSEmmanuel Vadot/*
301950c46SEmmanuel Vadot * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
4cb7aa33aSEmmanuel Vadot *
5cb7aa33aSEmmanuel Vadot * Base Board: https://www.ti.com/lit/zip/SPRR463
6cb7aa33aSEmmanuel Vadot */
7cb7aa33aSEmmanuel Vadot
8cb7aa33aSEmmanuel Vadot/dts-v1/;
9cb7aa33aSEmmanuel Vadot
10cb7aa33aSEmmanuel Vadot#include "k3-am68-sk-som.dtsi"
11cb7aa33aSEmmanuel Vadot#include <dt-bindings/net/ti-dp83867.h>
12cb7aa33aSEmmanuel Vadot#include <dt-bindings/phy/phy-cadence.h>
13cb7aa33aSEmmanuel Vadot#include <dt-bindings/phy/phy.h>
14aa1a8ff2SEmmanuel Vadot
15aa1a8ff2SEmmanuel Vadot#include "k3-serdes.h"
16cb7aa33aSEmmanuel Vadot
17cb7aa33aSEmmanuel Vadot/ {
18cb7aa33aSEmmanuel Vadot	compatible = "ti,am68-sk", "ti,j721s2";
19cb7aa33aSEmmanuel Vadot	model = "Texas Instruments AM68 SK";
20cb7aa33aSEmmanuel Vadot
21cb7aa33aSEmmanuel Vadot	chosen {
22cb7aa33aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
23cb7aa33aSEmmanuel Vadot	};
24cb7aa33aSEmmanuel Vadot
25cb7aa33aSEmmanuel Vadot	aliases {
26f126890aSEmmanuel Vadot		serial0 = &wkup_uart0;
27f126890aSEmmanuel Vadot		serial1 = &mcu_uart0;
28cb7aa33aSEmmanuel Vadot		serial2 = &main_uart8;
29cb7aa33aSEmmanuel Vadot		mmc1 = &main_sdhci1;
30cb7aa33aSEmmanuel Vadot		can0 = &mcu_mcan0;
31cb7aa33aSEmmanuel Vadot		can1 = &mcu_mcan1;
32cb7aa33aSEmmanuel Vadot		can2 = &main_mcan6;
33cb7aa33aSEmmanuel Vadot		can3 = &main_mcan7;
348d13bc63SEmmanuel Vadot		ethernet0 = &cpsw_port1;
35cb7aa33aSEmmanuel Vadot	};
36cb7aa33aSEmmanuel Vadot
37cb7aa33aSEmmanuel Vadot	vusb_main: regulator-vusb-main5v0 {
38cb7aa33aSEmmanuel Vadot		/* USB MAIN INPUT 5V DC */
39cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
40cb7aa33aSEmmanuel Vadot		regulator-name = "vusb-main5v0";
41cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
42cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
43cb7aa33aSEmmanuel Vadot		regulator-always-on;
44cb7aa33aSEmmanuel Vadot		regulator-boot-on;
45cb7aa33aSEmmanuel Vadot	};
46cb7aa33aSEmmanuel Vadot
47cb7aa33aSEmmanuel Vadot	vsys_3v3: regulator-vsys3v3 {
48cb7aa33aSEmmanuel Vadot		/* Output of LM5141 */
49cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
50cb7aa33aSEmmanuel Vadot		regulator-name = "vsys_3v3";
51cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
52cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
53cb7aa33aSEmmanuel Vadot		vin-supply = <&vusb_main>;
54cb7aa33aSEmmanuel Vadot		regulator-always-on;
55cb7aa33aSEmmanuel Vadot		regulator-boot-on;
56cb7aa33aSEmmanuel Vadot	};
57cb7aa33aSEmmanuel Vadot
58cb7aa33aSEmmanuel Vadot	vdd_mmc1: regulator-sd {
59cb7aa33aSEmmanuel Vadot		/* Output of TPS22918 */
60cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
61cb7aa33aSEmmanuel Vadot		regulator-name = "vdd_mmc1";
62cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
63cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
64cb7aa33aSEmmanuel Vadot		regulator-boot-on;
65cb7aa33aSEmmanuel Vadot		enable-active-high;
66cb7aa33aSEmmanuel Vadot		vin-supply = <&vsys_3v3>;
67fac71e4eSEmmanuel Vadot		gpio = <&exp1 8 GPIO_ACTIVE_HIGH>;
68cb7aa33aSEmmanuel Vadot	};
69cb7aa33aSEmmanuel Vadot
70cb7aa33aSEmmanuel Vadot	vdd_sd_dv: regulator-tlv71033 {
71cb7aa33aSEmmanuel Vadot		/* Output of TLV71033 */
72cb7aa33aSEmmanuel Vadot		compatible = "regulator-gpio";
73cb7aa33aSEmmanuel Vadot		regulator-name = "tlv71033";
74cb7aa33aSEmmanuel Vadot		pinctrl-names = "default";
75cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&vdd_sd_dv_pins_default>;
76cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
77cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
78cb7aa33aSEmmanuel Vadot		regulator-boot-on;
79cb7aa33aSEmmanuel Vadot		vin-supply = <&vsys_3v3>;
80cb7aa33aSEmmanuel Vadot		gpios = <&main_gpio0 49 GPIO_ACTIVE_HIGH>;
81cb7aa33aSEmmanuel Vadot		states = <1800000 0x0>,
82cb7aa33aSEmmanuel Vadot			 <3300000 0x1>;
83cb7aa33aSEmmanuel Vadot	};
84cb7aa33aSEmmanuel Vadot
85cb7aa33aSEmmanuel Vadot	vsys_io_1v8: regulator-vsys-io-1v8 {
86cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
87cb7aa33aSEmmanuel Vadot		regulator-name = "vsys_io_1v8";
88cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
89cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
90cb7aa33aSEmmanuel Vadot		regulator-always-on;
91cb7aa33aSEmmanuel Vadot		regulator-boot-on;
92cb7aa33aSEmmanuel Vadot	};
93cb7aa33aSEmmanuel Vadot
94cb7aa33aSEmmanuel Vadot	vsys_io_1v2: regulator-vsys-io-1v2 {
95cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
96cb7aa33aSEmmanuel Vadot		regulator-name = "vsys_io_1v2";
97cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1200000>;
98cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
99cb7aa33aSEmmanuel Vadot		regulator-always-on;
100cb7aa33aSEmmanuel Vadot		regulator-boot-on;
101cb7aa33aSEmmanuel Vadot	};
102cb7aa33aSEmmanuel Vadot
103cb7aa33aSEmmanuel Vadot	transceiver1: can-phy0 {
104cb7aa33aSEmmanuel Vadot		compatible = "ti,tcan1042";
105cb7aa33aSEmmanuel Vadot		#phy-cells = <0>;
106cb7aa33aSEmmanuel Vadot		max-bitrate = <5000000>;
107cb7aa33aSEmmanuel Vadot	};
108cb7aa33aSEmmanuel Vadot
109cb7aa33aSEmmanuel Vadot	transceiver2: can-phy1 {
110cb7aa33aSEmmanuel Vadot		compatible = "ti,tcan1042";
111cb7aa33aSEmmanuel Vadot		#phy-cells = <0>;
112cb7aa33aSEmmanuel Vadot		max-bitrate = <5000000>;
113cb7aa33aSEmmanuel Vadot	};
114cb7aa33aSEmmanuel Vadot
115cb7aa33aSEmmanuel Vadot	transceiver3: can-phy2 {
116cb7aa33aSEmmanuel Vadot		compatible = "ti,tcan1042";
117cb7aa33aSEmmanuel Vadot		#phy-cells = <0>;
118cb7aa33aSEmmanuel Vadot		max-bitrate = <5000000>;
119cb7aa33aSEmmanuel Vadot	};
120cb7aa33aSEmmanuel Vadot
121cb7aa33aSEmmanuel Vadot	transceiver4: can-phy3 {
122cb7aa33aSEmmanuel Vadot		compatible = "ti,tcan1042";
123cb7aa33aSEmmanuel Vadot		#phy-cells = <0>;
124cb7aa33aSEmmanuel Vadot		max-bitrate = <5000000>;
125cb7aa33aSEmmanuel Vadot	};
126aa1a8ff2SEmmanuel Vadot
127aa1a8ff2SEmmanuel Vadot	connector-hdmi {
128aa1a8ff2SEmmanuel Vadot		compatible = "hdmi-connector";
129aa1a8ff2SEmmanuel Vadot		label = "hdmi";
130aa1a8ff2SEmmanuel Vadot		type = "a";
131aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
132aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&hdmi_hpd_pins_default>;
133aa1a8ff2SEmmanuel Vadot		ddc-i2c-bus = <&mcu_i2c1>;
134aa1a8ff2SEmmanuel Vadot		/* HDMI_HPD */
135aa1a8ff2SEmmanuel Vadot		hpd-gpios = <&main_gpio0 0 GPIO_ACTIVE_HIGH>;
136aa1a8ff2SEmmanuel Vadot
137aa1a8ff2SEmmanuel Vadot		port {
138aa1a8ff2SEmmanuel Vadot			hdmi_connector_in: endpoint {
139aa1a8ff2SEmmanuel Vadot				remote-endpoint = <&tfp410_out>;
140aa1a8ff2SEmmanuel Vadot			};
141aa1a8ff2SEmmanuel Vadot		};
142aa1a8ff2SEmmanuel Vadot	};
143aa1a8ff2SEmmanuel Vadot
144aa1a8ff2SEmmanuel Vadot	bridge-dvi {
145aa1a8ff2SEmmanuel Vadot		compatible = "ti,tfp410";
146aa1a8ff2SEmmanuel Vadot		/* HDMI_PDn */
147aa1a8ff2SEmmanuel Vadot		powerdown-gpios = <&exp2 0 GPIO_ACTIVE_LOW>;
148aa1a8ff2SEmmanuel Vadot		ti,deskew = <0>;
149aa1a8ff2SEmmanuel Vadot
150aa1a8ff2SEmmanuel Vadot		ports {
151aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
152aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
153aa1a8ff2SEmmanuel Vadot
154aa1a8ff2SEmmanuel Vadot			port@0 {
155aa1a8ff2SEmmanuel Vadot				reg = <0>;
156aa1a8ff2SEmmanuel Vadot
157aa1a8ff2SEmmanuel Vadot				tfp410_in: endpoint {
158aa1a8ff2SEmmanuel Vadot					remote-endpoint = <&dpi_out0>;
159aa1a8ff2SEmmanuel Vadot					pclk-sample = <1>;
160aa1a8ff2SEmmanuel Vadot				};
161aa1a8ff2SEmmanuel Vadot			};
162aa1a8ff2SEmmanuel Vadot
163aa1a8ff2SEmmanuel Vadot			port@1 {
164aa1a8ff2SEmmanuel Vadot				reg = <1>;
165aa1a8ff2SEmmanuel Vadot
166aa1a8ff2SEmmanuel Vadot				tfp410_out: endpoint {
167aa1a8ff2SEmmanuel Vadot					remote-endpoint = <&hdmi_connector_in>;
168aa1a8ff2SEmmanuel Vadot				};
169aa1a8ff2SEmmanuel Vadot			};
170aa1a8ff2SEmmanuel Vadot		};
171aa1a8ff2SEmmanuel Vadot	};
17201950c46SEmmanuel Vadot
17301950c46SEmmanuel Vadot	csi_mux: mux-controller {
17401950c46SEmmanuel Vadot		compatible = "gpio-mux";
17501950c46SEmmanuel Vadot		#mux-state-cells = <1>;
17601950c46SEmmanuel Vadot		mux-gpios = <&exp3 1 GPIO_ACTIVE_HIGH>;
17701950c46SEmmanuel Vadot		idle-state = <0>;
17801950c46SEmmanuel Vadot	};
179cb7aa33aSEmmanuel Vadot};
180cb7aa33aSEmmanuel Vadot
181cb7aa33aSEmmanuel Vadot&main_pmx0 {
182f126890aSEmmanuel Vadot	main_uart8_pins_default: main-uart8-default-pins {
183cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
184cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0d0, PIN_INPUT, 11) /* (AF26) SPI0_CS1.UART8_RXD */
185cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0d4, PIN_OUTPUT, 11) /* (AH27) SPI0_CLK.UART8_TXD */
186cb7aa33aSEmmanuel Vadot		>;
187cb7aa33aSEmmanuel Vadot	};
188cb7aa33aSEmmanuel Vadot
189f126890aSEmmanuel Vadot	main_i2c0_pins_default: main-i2c0-default-pins {
190cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
191cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0e0, PIN_INPUT, 0) /* (AH25) I2C0_SCL */
192cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0e4, PIN_INPUT, 0) /* (AE24) I2C0_SDA */
193cb7aa33aSEmmanuel Vadot		>;
194cb7aa33aSEmmanuel Vadot	};
195cb7aa33aSEmmanuel Vadot
19601950c46SEmmanuel Vadot	main_i2c1_pins_default: main-i2c1-default-pins {
19701950c46SEmmanuel Vadot		pinctrl-single,pins = <
19801950c46SEmmanuel Vadot			J721S2_IOPAD(0x0ac, PIN_INPUT, 13) /* (AC25) MCASP0_AXR15.I2C1_SCL */
19901950c46SEmmanuel Vadot			J721S2_IOPAD(0x0b0, PIN_INPUT, 13) /* (AD26) MCASP1_AXR3.I2C1_SDA */
20001950c46SEmmanuel Vadot		>;
20101950c46SEmmanuel Vadot	};
20201950c46SEmmanuel Vadot
203f126890aSEmmanuel Vadot	main_mmc1_pins_default: main-mmc1-default-pins {
204cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
205cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x104, PIN_INPUT, 0) /* (P23) MMC1_CLK */
206cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x108, PIN_INPUT, 0) /* (N24) MMC1_CMD */
207*b2d2a78aSEmmanuel Vadot			J721S2_IOPAD(0x100, PIN_INPUT, 0) /* (###) MMC1_CLKLB */
208cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0fc, PIN_INPUT, 0) /* (M23) MMC1_DAT0 */
209cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0f8, PIN_INPUT, 0) /* (P24) MMC1_DAT1 */
210cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0f4, PIN_INPUT, 0) /* (R24) MMC1_DAT2 */
211cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0f0, PIN_INPUT, 0) /* (R22) MMC1_DAT3 */
212cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0e8, PIN_INPUT, 8) /* (AE25) TIMER_IO0.MMC1_SDCD */
213cb7aa33aSEmmanuel Vadot		>;
214cb7aa33aSEmmanuel Vadot	};
215cb7aa33aSEmmanuel Vadot
216f126890aSEmmanuel Vadot	vdd_sd_dv_pins_default: vdd-sd-dv-default-pins {
217cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
218cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0c4, PIN_INPUT, 7) /* (AB26) ECAP0_IN_APWM_OUT.GPIO0_49 */
219cb7aa33aSEmmanuel Vadot		>;
220cb7aa33aSEmmanuel Vadot	};
221cb7aa33aSEmmanuel Vadot
222f126890aSEmmanuel Vadot	main_usbss0_pins_default: main-usbss0-default-pins {
223cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
224cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0ec, PIN_OUTPUT, 6) /* (AG25) TIMER_IO1.USB0_DRVVBUS */
225cb7aa33aSEmmanuel Vadot		>;
226cb7aa33aSEmmanuel Vadot	};
227cb7aa33aSEmmanuel Vadot
228f126890aSEmmanuel Vadot	main_mcan6_pins_default: main-mcan6-default-pins {
229cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
230cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x098, PIN_INPUT, 0) /* (V25) MCASP0_AXR10.MCAN6_RX */
231cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x094, PIN_INPUT, 0) /* (AA25) MCASP0_AXR9.MCAN6_TX */
232cb7aa33aSEmmanuel Vadot		>;
233cb7aa33aSEmmanuel Vadot	};
234cb7aa33aSEmmanuel Vadot
235f126890aSEmmanuel Vadot	main_mcan7_pins_default: main-mcan7-default-pins {
236cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
237cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x0a0, PIN_INPUT, 0) /* (AB25) MCASP0_AXR12.MCAN7_RX */
238cb7aa33aSEmmanuel Vadot			J721S2_IOPAD(0x09c, PIN_INPUT, 0) /* (T24) MCASP0_AXR11.MCAN7_TX */
239cb7aa33aSEmmanuel Vadot		>;
240cb7aa33aSEmmanuel Vadot	};
241cb7aa33aSEmmanuel Vadot
242f126890aSEmmanuel Vadot	main_i2c4_pins_default: main-i2c4-default-pins {
243cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
244f126890aSEmmanuel Vadot			J721S2_IOPAD(0x010, PIN_INPUT_PULLUP, 8) /* (AF28) MCAN13_RX.I2C4_SDA */
245f126890aSEmmanuel Vadot			J721S2_IOPAD(0x014, PIN_INPUT_PULLUP, 8) /* (AD25) MCAN14_TX.I2C4_SCL */
246cb7aa33aSEmmanuel Vadot		>;
247cb7aa33aSEmmanuel Vadot	};
248cb7aa33aSEmmanuel Vadot
249f126890aSEmmanuel Vadot	rpi_header_gpio0_pins_default: rpi-header-gpio0-default-pins {
250cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
251f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0a8, PIN_INPUT, 7) /* (U24)  MCASP0_AXR14.GPIO0_42 */
252f126890aSEmmanuel Vadot			J721S2_IOPAD(0x090, PIN_INPUT, 7) /* (W24) MCASP0_AXR8.GPIO0_36 */
253f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0bc, PIN_INPUT, 7) /* (V28) MCASP1_AFSX.GPIO0_47 */
254f126890aSEmmanuel Vadot			J721S2_IOPAD(0x06c, PIN_INPUT, 7) /* (V26) MCAN1_TX.GPIO0_27 */
255f126890aSEmmanuel Vadot			J721S2_IOPAD(0x004, PIN_INPUT, 7) /* (W25) MCAN12_TX.GPIO0_1 */
256f126890aSEmmanuel Vadot			J721S2_IOPAD(0x008, PIN_INPUT, 7) /* (AC24) MCAN12_RX.GPIO0_2 */
257f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0b8, PIN_INPUT, 7) /* (AA24) MCASP1_ACLKX.GPIO0_46 */
258f126890aSEmmanuel Vadot			J721S2_IOPAD(0x00c, PIN_INPUT, 7) /* (AE28) MCAN13_TX.GPIO0_3 */
259f126890aSEmmanuel Vadot			J721S2_IOPAD(0x034, PIN_INPUT, 7) /* (AD24) PMIC_WAKE0.GPIO0_13 */
260f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0a4, PIN_INPUT, 7) /* (T23) MCASP0_AXR13.GPIO0_41 */
261f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0c0, PIN_INPUT, 7) /* (T28) MCASP1_AXR0.GPIO0_48 */
262f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0b4, PIN_INPUT, 7) /* (U25) MCASP1_AXR4.GPIO0_45 */
263f126890aSEmmanuel Vadot			J721S2_IOPAD(0x0cc, PIN_INPUT, 7) /* (AE27) SPI0_CS0.GPIO0_51 */
264f126890aSEmmanuel Vadot			J721S2_IOPAD(0x08c, PIN_INPUT, 7) /* (T25) MCASP0_AXR7.GPIO0_35 */
265f126890aSEmmanuel Vadot		>;
266f126890aSEmmanuel Vadot	};
267aa1a8ff2SEmmanuel Vadot
268aa1a8ff2SEmmanuel Vadot	dss_vout0_pins_default: dss-vout0-default-pins {
269aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
270aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x074, PIN_OUTPUT, 2) /* (R28) MCAN2_TX.VOUT0_DATA0 */
271aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x070, PIN_OUTPUT, 2) /* (R27) MCAN1_RX.VOUT0_DATA1 */
272aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x04c, PIN_OUTPUT, 2) /* (V27) MCASP1_AXR1.VOUT0_DATA10 */
273aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x048, PIN_OUTPUT, 2) /* (AB27) MCASP0_AXR2.VOUT0_DATA11 */
274aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x044, PIN_OUTPUT, 2) /* (Y26) MCASP0_AXR1.VOUT0_DATA12 */
275aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x040, PIN_OUTPUT, 2) /* (AC28) MCASP0_AXR0.VOUT0_DATA13 */
276aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x03c, PIN_OUTPUT, 2) /* (U27) MCASP0_AFSX.VOUT0_DATA14 */
277aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x038, PIN_OUTPUT, 2) /* (AB28) MCASP0_ACLKX.VOUT0_DATA15 */
278aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x0c8, PIN_OUTPUT, 2) /* (AD28) EXT_REFCLK1.VOUT0_DATA16 */
279aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x030, PIN_OUTPUT, 2) /* (T26) GPIO0_12.VOUT0_DATA17 */
280aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x02c, PIN_OUTPUT, 2) /* (V23) GPIO0_11.VOUT0_DATA18 */
281aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x028, PIN_OUTPUT, 2) /* (AB24) MCAN16_RX.VOUT0_DATA19 */
282aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x07c, PIN_OUTPUT, 2) /* (T27) MCASP0_AXR3.VOUT0_DATA2 */
283aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x024, PIN_OUTPUT, 2) /* (Y28) MCAN16_TX.VOUT0_DATA20 */
284aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x020, PIN_OUTPUT, 2) /* (AA23) MCAN15_RX.VOUT0_DATA21 */
285aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x01c, PIN_OUTPUT, 2) /* (Y24) MCAN15_TX.VOUT0_DATA22 */
286aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x018, PIN_OUTPUT, 2) /* (W23) MCAN14_RX.VOUT0_DATA23 */
287aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x068, PIN_OUTPUT, 2) /* (U28) MCAN0_RX.VOUT0_DATA3 */
288aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x064, PIN_OUTPUT, 2) /* (W28) MCAN0_TX.VOUT0_DATA4 */
289aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x060, PIN_OUTPUT, 2) /* (AC27) MCASP2_AXR1.VOUT0_DATA5 */
290aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x05c, PIN_OUTPUT, 2) /* (AA26) MCASP2_AXR0.VOUT0_DATA6 */
291aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x058, PIN_OUTPUT, 2) /* (AA27) MCASP2_AFSX.VOUT0_DATA7 */
292aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x054, PIN_OUTPUT, 2) /* (Y27) MCASP2_ACLKX.VOUT0_DATA8 */
293aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x050, PIN_OUTPUT, 2) /* (W27) MCASP1_AXR2.VOUT0_DATA9 */
294aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x084, PIN_OUTPUT, 2) /* (AA28) MCASP0_AXR5.VOUT0_DE */
295aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x080, PIN_OUTPUT, 2) /* (U26) MCASP0_AXR4.VOUT0_HSYNC */
296aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x078, PIN_OUTPUT, 2) /* (Y25) MCAN2_RX.VOUT0_PCLK */
297aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x088, PIN_OUTPUT, 2) /* (AD27) MCASP0_AXR6.VOUT0_VP0_VSYNC */
298aa1a8ff2SEmmanuel Vadot		>;
299aa1a8ff2SEmmanuel Vadot	};
300aa1a8ff2SEmmanuel Vadot
301aa1a8ff2SEmmanuel Vadot	hdmi_hpd_pins_default: hdmi-hpd-default-pins {
302aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
303aa1a8ff2SEmmanuel Vadot			J721S2_IOPAD(0x000, PIN_INPUT, 7) /* (AG24) EXTINTN.GPIO0_0  */
304aa1a8ff2SEmmanuel Vadot		>;
305aa1a8ff2SEmmanuel Vadot	};
306f126890aSEmmanuel Vadot};
307f126890aSEmmanuel Vadot
308f126890aSEmmanuel Vadot&wkup_pmx2 {
309f126890aSEmmanuel Vadot	wkup_uart0_pins_default: wkup-uart0-default-pins {
310f126890aSEmmanuel Vadot		pinctrl-single,pins = <
311f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x070, PIN_INPUT, 0) /* (E25) WKUP_GPIO0_6.WKUP_UART0_CTSn */
312f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x074, PIN_OUTPUT, 0) /* (F28) WKUP_GPIO0_7.WKUP_UART0_RTSn */
313f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x048, PIN_INPUT, 0) /* (D28) WKUP_UART0_RXD */
314f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x04c, PIN_OUTPUT, 0) /* (D27) WKUP_UART0_TXD */
315cb7aa33aSEmmanuel Vadot		>;
316cb7aa33aSEmmanuel Vadot	};
317cb7aa33aSEmmanuel Vadot
318f126890aSEmmanuel Vadot	mcu_cpsw_pins_default: mcu-cpsw-default-pins {
319cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
320f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x02C, PIN_INPUT, 0) /* (B22) MCU_RGMII1_RD0 */
321f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x028, PIN_INPUT, 0) /* (B21) MCU_RGMII1_RD1 */
322f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x024, PIN_INPUT, 0) /* (C22) MCU_RGMII1_RD2 */
323f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x020, PIN_INPUT, 0) /* (D23) MCU_RGMII1_RD3 */
324f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x01C, PIN_INPUT, 0) /* (D22) MCU_RGMII1_RXC */
325f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x004, PIN_INPUT, 0) /* (E23) MCU_RGMII1_RX_CTL */
326f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x014, PIN_OUTPUT, 0) /* (F23) MCU_RGMII1_TD0 */
327f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x010, PIN_OUTPUT, 0) /* (G22) MCU_RGMII1_TD1 */
328f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x00C, PIN_OUTPUT, 0) /* (E21) MCU_RGMII1_TD2 */
329f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x008, PIN_OUTPUT, 0) /* (E22) MCU_RGMII1_TD3 */
330f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x018, PIN_OUTPUT, 0) /* (F21) MCU_RGMII1_TXC */
331f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (F22) MCU_RGMII1_TX_CTL */
332cb7aa33aSEmmanuel Vadot		>;
333cb7aa33aSEmmanuel Vadot	};
334cb7aa33aSEmmanuel Vadot
335f126890aSEmmanuel Vadot	mcu_mdio_pins_default: mcu-mdio-default-pins {
336cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
337f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x034, PIN_OUTPUT, 0) /* (A21) MCU_MDIO0_MDC */
338f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x030, PIN_INPUT, 0) /* (A22) MCU_MDIO0_MDIO */
339cb7aa33aSEmmanuel Vadot		>;
340cb7aa33aSEmmanuel Vadot	};
341cb7aa33aSEmmanuel Vadot
342f126890aSEmmanuel Vadot	mcu_mcan0_pins_default: mcu-mcan0-default-pins {
343cb7aa33aSEmmanuel Vadot		pinctrl-single,pins = <
344f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x054, PIN_INPUT, 0) /* (E28) MCU_MCAN0_RX */
345f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x050, PIN_OUTPUT, 0) /* (E27) MCU_MCAN0_TX */
346cb7aa33aSEmmanuel Vadot		>;
347cb7aa33aSEmmanuel Vadot	};
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot	mcu_mcan1_pins_default: mcu-mcan1-default-pins {
350f126890aSEmmanuel Vadot		pinctrl-single,pins = <
351f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x06C, PIN_INPUT, 0) /* (F26) WKUP_GPIO0_5.MCU_MCAN1_RX */
352f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x068, PIN_OUTPUT, 0) /* (C23) WKUP_GPIO0_4.MCU_MCAN1_TX*/
353f126890aSEmmanuel Vadot		>;
354f126890aSEmmanuel Vadot	};
355f126890aSEmmanuel Vadot
356f126890aSEmmanuel Vadot	mcu_i2c0_pins_default: mcu-i2c0-default-pins {
357f126890aSEmmanuel Vadot		pinctrl-single,pins = <
358f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x0a0, PIN_INPUT, 0) /* (G24) MCU_I2C0_SCL */
359f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x0a4, PIN_INPUT, 0) /* (J25) MCU_I2C0_SDA */
360f126890aSEmmanuel Vadot		>;
361f126890aSEmmanuel Vadot	};
362f126890aSEmmanuel Vadot
363f126890aSEmmanuel Vadot	mcu_i2c1_pins_default: mcu-i2c1-default-pins {
364f126890aSEmmanuel Vadot		pinctrl-single,pins = <
365f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x078, PIN_INPUT, 0) /* (F24) WKUP_GPIO0_8.MCU_I2C1_SCL */
366f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x07c, PIN_INPUT, 0) /* (H26) WKUP_GPIO0_9.MCU_I2C1_SDA */
367f126890aSEmmanuel Vadot		>;
368f126890aSEmmanuel Vadot	};
369f126890aSEmmanuel Vadot
370f126890aSEmmanuel Vadot	mcu_uart0_pins_default: mcu-uart0-default-pins {
371f126890aSEmmanuel Vadot		pinctrl-single,pins = <
372f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x08c, PIN_INPUT, 0) /* (C24) WKUP_GPIO0_13.MCU_UART0_RXD */
373f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x088, PIN_OUTPUT, 0) /* (C25) WKUP_GPIO0_12.MCU_UART0_TXD */
374f126890aSEmmanuel Vadot		>;
375f126890aSEmmanuel Vadot	};
376f126890aSEmmanuel Vadot
377aa1a8ff2SEmmanuel Vadot	mcu_rpi_header_gpio0_pins0_default: mcu-rpi-header-gpio0-default-pins-0 {
378f126890aSEmmanuel Vadot		pinctrl-single,pins = <
379f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x118, PIN_INPUT, 7) /* (G25) WKUP_GPIO0_66 */
380f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x05C, PIN_INPUT, 7) /* (E24) MCU_SPI1_D0.WKUP_GPIO0_1 */
381f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x060, PIN_INPUT, 7) /* (C28) MCU_SPI1_D1.WKUP_GPIO0_2 */
382f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x058, PIN_INPUT, 7) /* (D26) MCU_SPI1_CLK.WKUP_GPIO0_0 */
383f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x094, PIN_INPUT, 7) /* (D25) MCU_SPI1_CS2.WKUP_GPIO0_15*/
384f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x0B8, PIN_INPUT, 7) /* (G27) WKUP_GPIO0_56 */
385f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x114, PIN_INPUT, 7) /* (J26) WKUP_GPIO0_57 */
386f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x11C, PIN_INPUT, 7) /* (J27) WKUP_GPIO0_67 */
387f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x064, PIN_INPUT, 7) /* (C27) MCU_SPI1_CS0.WKUP_GPIO0_3 */
388f126890aSEmmanuel Vadot		>;
389f126890aSEmmanuel Vadot	};
390f126890aSEmmanuel Vadot};
391f126890aSEmmanuel Vadot
392f126890aSEmmanuel Vadot&wkup_pmx3 {
393aa1a8ff2SEmmanuel Vadot	mcu_rpi_header_gpio0_pins1_default: mcu-rpi-header-gpio0-default-pins-1 {
394f126890aSEmmanuel Vadot		pinctrl-single,pins = <
395f126890aSEmmanuel Vadot			J721S2_WKUP_IOPAD(0x000, PIN_INPUT, 7) /* (K26) WKUP_GPIO0_49 */
396f126890aSEmmanuel Vadot		>;
397f126890aSEmmanuel Vadot	};
398f126890aSEmmanuel Vadot};
399f126890aSEmmanuel Vadot
400f126890aSEmmanuel Vadot&main_gpio0 {
401aa1a8ff2SEmmanuel Vadot	status = "okay";
402f126890aSEmmanuel Vadot	pinctrl-names = "default";
403f126890aSEmmanuel Vadot	pinctrl-0 = <&rpi_header_gpio0_pins_default>;
404cb7aa33aSEmmanuel Vadot};
405cb7aa33aSEmmanuel Vadot
406cb7aa33aSEmmanuel Vadot&wkup_gpio0 {
407aa1a8ff2SEmmanuel Vadot	status = "okay";
408f126890aSEmmanuel Vadot	pinctrl-names = "default";
409f126890aSEmmanuel Vadot	pinctrl-0 = <&mcu_rpi_header_gpio0_pins0_default>, <&mcu_rpi_header_gpio0_pins1_default>;
410cb7aa33aSEmmanuel Vadot};
411cb7aa33aSEmmanuel Vadot
412cb7aa33aSEmmanuel Vadot&wkup_uart0 {
413cb7aa33aSEmmanuel Vadot	status = "reserved";
414f126890aSEmmanuel Vadot	pinctrl-names = "default";
415f126890aSEmmanuel Vadot	pinctrl-0 = <&wkup_uart0_pins_default>;
416f126890aSEmmanuel Vadot};
417f126890aSEmmanuel Vadot
4180e8011faSEmmanuel Vadot&wkup_i2c0 {
4190e8011faSEmmanuel Vadot	bootph-all;
4200e8011faSEmmanuel Vadot	clock-frequency = <400000>;
4210e8011faSEmmanuel Vadot	pinctrl-names = "default";
4220e8011faSEmmanuel Vadot	pinctrl-0 = <&wkup_i2c0_pins_default>;
4230e8011faSEmmanuel Vadot	status = "okay";
4240e8011faSEmmanuel Vadot
4250e8011faSEmmanuel Vadot	lp8733: pmic@60 {
4260e8011faSEmmanuel Vadot		compatible = "ti,lp8733";
4270e8011faSEmmanuel Vadot		reg = <0x60>;
4280e8011faSEmmanuel Vadot		buck0-in-supply = <&vsys_3v3>;
4290e8011faSEmmanuel Vadot		buck1-in-supply = <&vsys_3v3>;
4300e8011faSEmmanuel Vadot		ldo0-in-supply = <&vsys_3v3>;
4310e8011faSEmmanuel Vadot		ldo1-in-supply = <&vsys_3v3>;
4320e8011faSEmmanuel Vadot
4330e8011faSEmmanuel Vadot		lp8733_regulators: regulators {
4340e8011faSEmmanuel Vadot			lp8733_buck0_reg: buck0 {
4350e8011faSEmmanuel Vadot				/* FB_B0 -> LP8733-BUCK1 - VDD_MCU_0V85 */
4360e8011faSEmmanuel Vadot				regulator-name = "lp8733-buck0";
4370e8011faSEmmanuel Vadot				regulator-min-microvolt = <850000>;
4380e8011faSEmmanuel Vadot				regulator-max-microvolt = <850000>;
4390e8011faSEmmanuel Vadot				regulator-always-on;
4400e8011faSEmmanuel Vadot				regulator-boot-on;
4410e8011faSEmmanuel Vadot			};
4420e8011faSEmmanuel Vadot
4430e8011faSEmmanuel Vadot			lp8733_buck1_reg: buck1 {
4440e8011faSEmmanuel Vadot				/* FB_B1 -> LP8733-BUCK2 - VDD_DDR_1V1 */
4450e8011faSEmmanuel Vadot				regulator-name = "lp8733-buck1";
4460e8011faSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
4470e8011faSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
4480e8011faSEmmanuel Vadot				regulator-always-on;
4490e8011faSEmmanuel Vadot				regulator-boot-on;
4500e8011faSEmmanuel Vadot			};
4510e8011faSEmmanuel Vadot
4520e8011faSEmmanuel Vadot			lp8733_ldo0_reg: ldo0 {
4530e8011faSEmmanuel Vadot				/* LDO0 -> LP8733-LDO1 - VDA_DLL_0V8 */
4540e8011faSEmmanuel Vadot				regulator-name = "lp8733-ldo0";
4550e8011faSEmmanuel Vadot				regulator-min-microvolt = <800000>;
4560e8011faSEmmanuel Vadot				regulator-max-microvolt = <800000>;
4570e8011faSEmmanuel Vadot				regulator-boot-on;
4580e8011faSEmmanuel Vadot				regulator-always-on;
4590e8011faSEmmanuel Vadot			};
4600e8011faSEmmanuel Vadot
4610e8011faSEmmanuel Vadot			lp8733_ldo1_reg: ldo1 {
4620e8011faSEmmanuel Vadot				/* LDO1 -> LP8733-LDO2 - VDA_LN_1V8 */
4630e8011faSEmmanuel Vadot				regulator-name = "lp8733-ldo1";
4640e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
4650e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
4660e8011faSEmmanuel Vadot				regulator-always-on;
4670e8011faSEmmanuel Vadot				regulator-boot-on;
4680e8011faSEmmanuel Vadot			};
4690e8011faSEmmanuel Vadot		};
4700e8011faSEmmanuel Vadot	};
4710e8011faSEmmanuel Vadot
4720e8011faSEmmanuel Vadot	tps62873a: regulator@40 {
4730e8011faSEmmanuel Vadot		compatible = "ti,tps62873";
4740e8011faSEmmanuel Vadot		reg = <0x40>;
4750e8011faSEmmanuel Vadot		bootph-pre-ram;
4760e8011faSEmmanuel Vadot		regulator-name = "VDD_CPU_AVS";
4770e8011faSEmmanuel Vadot		regulator-min-microvolt = <600000>;
4780e8011faSEmmanuel Vadot		regulator-max-microvolt = <900000>;
4790e8011faSEmmanuel Vadot		regulator-boot-on;
4800e8011faSEmmanuel Vadot		regulator-always-on;
4810e8011faSEmmanuel Vadot	};
4820e8011faSEmmanuel Vadot
4830e8011faSEmmanuel Vadot	tps62873b: regulator@43 {
4840e8011faSEmmanuel Vadot		compatible = "ti,tps62873";
4850e8011faSEmmanuel Vadot		reg = <0x43>;
4860e8011faSEmmanuel Vadot		regulator-name = "VDD_CORE_0V8";
4870e8011faSEmmanuel Vadot		regulator-min-microvolt = <800000>;
4880e8011faSEmmanuel Vadot		regulator-max-microvolt = <800000>;
4890e8011faSEmmanuel Vadot		regulator-boot-on;
4900e8011faSEmmanuel Vadot		regulator-always-on;
4910e8011faSEmmanuel Vadot	};
4920e8011faSEmmanuel Vadot};
4930e8011faSEmmanuel Vadot
494f126890aSEmmanuel Vadot&mcu_uart0 {
495f126890aSEmmanuel Vadot	status = "okay";
496f126890aSEmmanuel Vadot	pinctrl-names = "default";
497f126890aSEmmanuel Vadot	pinctrl-0 = <&mcu_uart0_pins_default>;
498cb7aa33aSEmmanuel Vadot};
499cb7aa33aSEmmanuel Vadot
500cb7aa33aSEmmanuel Vadot&main_uart8 {
501cb7aa33aSEmmanuel Vadot	status = "okay";
502cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
503cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&main_uart8_pins_default>;
504cb7aa33aSEmmanuel Vadot	/* Shared with TFA on this platform */
505cb7aa33aSEmmanuel Vadot	power-domains = <&k3_pds 357 TI_SCI_PD_SHARED>;
506cb7aa33aSEmmanuel Vadot};
507cb7aa33aSEmmanuel Vadot
508cb7aa33aSEmmanuel Vadot&main_i2c0 {
509cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
510cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&main_i2c0_pins_default>;
511cb7aa33aSEmmanuel Vadot	clock-frequency = <400000>;
512cb7aa33aSEmmanuel Vadot
513cb7aa33aSEmmanuel Vadot	exp1: gpio@21 {
514cb7aa33aSEmmanuel Vadot		compatible = "ti,tca6416";
515cb7aa33aSEmmanuel Vadot		reg = <0x21>;
516cb7aa33aSEmmanuel Vadot		gpio-controller;
517cb7aa33aSEmmanuel Vadot		#gpio-cells = <2>;
518fac71e4eSEmmanuel Vadot		gpio-line-names = " ", " ", " ", " ", " ",
519fac71e4eSEmmanuel Vadot				  "BOARDID_EEPROM_WP", "CAN_STB", " ",
520fac71e4eSEmmanuel Vadot				  "GPIO_uSD_PWR_EN", " ", "IO_EXP_PCIe1_M.2_RTSz",
521fac71e4eSEmmanuel Vadot				  "IO_EXP_MCU_RGMII_RST#", " ", " ", " ", " ";
522cb7aa33aSEmmanuel Vadot	};
523cb7aa33aSEmmanuel Vadot};
524cb7aa33aSEmmanuel Vadot
52501950c46SEmmanuel Vadot&main_i2c1 {
52601950c46SEmmanuel Vadot	pinctrl-names = "default";
52701950c46SEmmanuel Vadot	pinctrl-0 = <&main_i2c1_pins_default>;
52801950c46SEmmanuel Vadot	status = "okay";
52901950c46SEmmanuel Vadot
53001950c46SEmmanuel Vadot	exp3: gpio@20 {
53101950c46SEmmanuel Vadot		compatible = "ti,tca6408";
53201950c46SEmmanuel Vadot		reg = <0x20>;
53301950c46SEmmanuel Vadot		gpio-controller;
53401950c46SEmmanuel Vadot		#gpio-cells = <2>;
53501950c46SEmmanuel Vadot		gpio-line-names = "CSI_VIO_SEL", "CSI_SEL_FPC_EXPn",
53601950c46SEmmanuel Vadot				  "IO_EXP_CSI2_EXP_RSTz","CSI0_B_GPIO1",
53701950c46SEmmanuel Vadot				  "CSI1_B_GPIO1";
53801950c46SEmmanuel Vadot	};
53901950c46SEmmanuel Vadot
54001950c46SEmmanuel Vadot	i2c-mux@70 {
54101950c46SEmmanuel Vadot		compatible = "nxp,pca9543";
54201950c46SEmmanuel Vadot		#address-cells = <1>;
54301950c46SEmmanuel Vadot		#size-cells = <0>;
54401950c46SEmmanuel Vadot		reg = <0x70>;
54501950c46SEmmanuel Vadot
54601950c46SEmmanuel Vadot		cam0_i2c: i2c@0 {
54701950c46SEmmanuel Vadot			#address-cells = <1>;
54801950c46SEmmanuel Vadot			#size-cells = <0>;
54901950c46SEmmanuel Vadot			reg = <0>;
55001950c46SEmmanuel Vadot		};
55101950c46SEmmanuel Vadot
55201950c46SEmmanuel Vadot		cam1_i2c: i2c@1 {
55301950c46SEmmanuel Vadot			#address-cells = <1>;
55401950c46SEmmanuel Vadot			#size-cells = <0>;
55501950c46SEmmanuel Vadot			reg = <1>;
55601950c46SEmmanuel Vadot		};
55701950c46SEmmanuel Vadot
55801950c46SEmmanuel Vadot	};
55901950c46SEmmanuel Vadot};
56001950c46SEmmanuel Vadot
561f126890aSEmmanuel Vadot&main_i2c4 {
562f126890aSEmmanuel Vadot	status = "okay";
563f126890aSEmmanuel Vadot	pinctrl-names = "default";
564f126890aSEmmanuel Vadot	pinctrl-0 = <&main_i2c4_pins_default>;
565f126890aSEmmanuel Vadot	clock-frequency = <400000>;
566f126890aSEmmanuel Vadot};
567f126890aSEmmanuel Vadot
568f126890aSEmmanuel Vadot&mcu_i2c0 {
569f126890aSEmmanuel Vadot	status = "okay";
570f126890aSEmmanuel Vadot	pinctrl-names = "default";
571f126890aSEmmanuel Vadot	pinctrl-0 = <&mcu_i2c0_pins_default>;
572f126890aSEmmanuel Vadot	clock-frequency = <400000>;
573f126890aSEmmanuel Vadot};
574f126890aSEmmanuel Vadot
575aa1a8ff2SEmmanuel Vadot&mcu_i2c1 {
576aa1a8ff2SEmmanuel Vadot	status = "okay";
577aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
578aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&mcu_i2c1_pins_default>;
579aa1a8ff2SEmmanuel Vadot	/* i2c1 is used for DVI DDC, so we need to use 100kHz */
580aa1a8ff2SEmmanuel Vadot	clock-frequency = <100000>;
581aa1a8ff2SEmmanuel Vadot
582aa1a8ff2SEmmanuel Vadot	exp2: gpio@20 {
583aa1a8ff2SEmmanuel Vadot		compatible = "ti,tca6408";
584aa1a8ff2SEmmanuel Vadot		reg = <0x20>;
585aa1a8ff2SEmmanuel Vadot		gpio-controller;
586aa1a8ff2SEmmanuel Vadot		#gpio-cells = <2>;
587aa1a8ff2SEmmanuel Vadot		gpio-line-names = "HDMI_PDn","HDMI_LS_OE",
588aa1a8ff2SEmmanuel Vadot				  "DP0_3V3_EN","eDP_ENABLE";
589aa1a8ff2SEmmanuel Vadot	};
590cb7aa33aSEmmanuel Vadot};
591cb7aa33aSEmmanuel Vadot
592cb7aa33aSEmmanuel Vadot&main_sdhci1 {
593cb7aa33aSEmmanuel Vadot	/* SD card */
594aa1a8ff2SEmmanuel Vadot	status = "okay";
595cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&main_mmc1_pins_default>;
596cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
597cb7aa33aSEmmanuel Vadot	disable-wp;
598cb7aa33aSEmmanuel Vadot	vmmc-supply = <&vdd_mmc1>;
599cb7aa33aSEmmanuel Vadot	vqmmc-supply = <&vdd_sd_dv>;
600cb7aa33aSEmmanuel Vadot};
601cb7aa33aSEmmanuel Vadot
602cb7aa33aSEmmanuel Vadot&mcu_cpsw {
603cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
604f126890aSEmmanuel Vadot	pinctrl-0 = <&mcu_cpsw_pins_default>, <&mcu_mdio_pins_default>;
605cb7aa33aSEmmanuel Vadot};
606cb7aa33aSEmmanuel Vadot
607cb7aa33aSEmmanuel Vadot&davinci_mdio {
608cb7aa33aSEmmanuel Vadot	phy0: ethernet-phy@0 {
609cb7aa33aSEmmanuel Vadot		reg = <0>;
610cb7aa33aSEmmanuel Vadot		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
611cb7aa33aSEmmanuel Vadot		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
612cb7aa33aSEmmanuel Vadot		ti,min-output-impedance;
613cb7aa33aSEmmanuel Vadot	};
614cb7aa33aSEmmanuel Vadot};
615cb7aa33aSEmmanuel Vadot
616cb7aa33aSEmmanuel Vadot&cpsw_port1 {
617cb7aa33aSEmmanuel Vadot	phy-mode = "rgmii-rxid";
618cb7aa33aSEmmanuel Vadot	phy-handle = <&phy0>;
619cb7aa33aSEmmanuel Vadot};
620cb7aa33aSEmmanuel Vadot
621cb7aa33aSEmmanuel Vadot&mcu_mcan0 {
622cb7aa33aSEmmanuel Vadot	status = "okay";
623cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
624cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&mcu_mcan0_pins_default>;
625cb7aa33aSEmmanuel Vadot	phys = <&transceiver1>;
626cb7aa33aSEmmanuel Vadot};
627cb7aa33aSEmmanuel Vadot
628cb7aa33aSEmmanuel Vadot&mcu_mcan1 {
629cb7aa33aSEmmanuel Vadot	status = "okay";
630cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
631cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&mcu_mcan1_pins_default>;
632cb7aa33aSEmmanuel Vadot	phys = <&transceiver2>;
633cb7aa33aSEmmanuel Vadot};
634cb7aa33aSEmmanuel Vadot
635cb7aa33aSEmmanuel Vadot&main_mcan6 {
636cb7aa33aSEmmanuel Vadot	status = "okay";
637cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
638cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&main_mcan6_pins_default>;
639cb7aa33aSEmmanuel Vadot	phys = <&transceiver3>;
640cb7aa33aSEmmanuel Vadot};
641cb7aa33aSEmmanuel Vadot
642cb7aa33aSEmmanuel Vadot&main_mcan7 {
643cb7aa33aSEmmanuel Vadot	status = "okay";
644cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
645cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&main_mcan7_pins_default>;
646cb7aa33aSEmmanuel Vadot	phys = <&transceiver4>;
647cb7aa33aSEmmanuel Vadot};
648aa1a8ff2SEmmanuel Vadot
649aa1a8ff2SEmmanuel Vadot&dss {
650aa1a8ff2SEmmanuel Vadot	status = "okay";
651aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
652aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&dss_vout0_pins_default>;
653aa1a8ff2SEmmanuel Vadot	/*
654aa1a8ff2SEmmanuel Vadot	 * These clock assignments are chosen to enable the following outputs:
655aa1a8ff2SEmmanuel Vadot	 *
656aa1a8ff2SEmmanuel Vadot	 * VP0 - DisplayPort SST
657aa1a8ff2SEmmanuel Vadot	 * VP1 - DPI0
658aa1a8ff2SEmmanuel Vadot	 * VP2 - DSI
659aa1a8ff2SEmmanuel Vadot	 * VP3 - DPI1
660aa1a8ff2SEmmanuel Vadot	 */
661aa1a8ff2SEmmanuel Vadot	assigned-clocks = <&k3_clks 158 2>,
662aa1a8ff2SEmmanuel Vadot			  <&k3_clks 158 5>,
663aa1a8ff2SEmmanuel Vadot			  <&k3_clks 158 14>,
664aa1a8ff2SEmmanuel Vadot			  <&k3_clks 158 18>;
665aa1a8ff2SEmmanuel Vadot	assigned-clock-parents = <&k3_clks 158 3>,
666aa1a8ff2SEmmanuel Vadot				 <&k3_clks 158 7>,
667aa1a8ff2SEmmanuel Vadot				 <&k3_clks 158 16>,
668aa1a8ff2SEmmanuel Vadot				 <&k3_clks 158 22>;
669aa1a8ff2SEmmanuel Vadot};
670aa1a8ff2SEmmanuel Vadot
671aa1a8ff2SEmmanuel Vadot&dss_ports {
672aa1a8ff2SEmmanuel Vadot	#address-cells = <1>;
673aa1a8ff2SEmmanuel Vadot	#size-cells = <0>;
674aa1a8ff2SEmmanuel Vadot
675aa1a8ff2SEmmanuel Vadot	/* HDMI */
676aa1a8ff2SEmmanuel Vadot	port@1 {
677aa1a8ff2SEmmanuel Vadot		reg = <1>;
678aa1a8ff2SEmmanuel Vadot
679aa1a8ff2SEmmanuel Vadot		dpi_out0: endpoint {
680aa1a8ff2SEmmanuel Vadot			remote-endpoint = <&tfp410_in>;
681aa1a8ff2SEmmanuel Vadot		};
682aa1a8ff2SEmmanuel Vadot	};
683aa1a8ff2SEmmanuel Vadot};
68484943d6fSEmmanuel Vadot
68584943d6fSEmmanuel Vadot&serdes_ln_ctrl {
68684943d6fSEmmanuel Vadot	idle-states = <J721S2_SERDES0_LANE0_PCIE1_LANE0>, <J721S2_SERDES0_LANE1_PCIE1_LANE1>,
68784943d6fSEmmanuel Vadot		      <J721S2_SERDES0_LANE2_USB_SWAP>, <J721S2_SERDES0_LANE3_USB>;
68884943d6fSEmmanuel Vadot};
68984943d6fSEmmanuel Vadot
69084943d6fSEmmanuel Vadot&serdes_refclk {
69184943d6fSEmmanuel Vadot	clock-frequency = <100000000>;
69284943d6fSEmmanuel Vadot};
69384943d6fSEmmanuel Vadot
69484943d6fSEmmanuel Vadot&serdes0 {
69584943d6fSEmmanuel Vadot	status = "okay";
69684943d6fSEmmanuel Vadot
69784943d6fSEmmanuel Vadot	serdes0_pcie_link: phy@0 {
69884943d6fSEmmanuel Vadot		reg = <0>;
69984943d6fSEmmanuel Vadot		cdns,num-lanes = <2>;
70084943d6fSEmmanuel Vadot		#phy-cells = <0>;
70184943d6fSEmmanuel Vadot		cdns,phy-type = <PHY_TYPE_PCIE>;
70284943d6fSEmmanuel Vadot		resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>;
70384943d6fSEmmanuel Vadot	};
70484943d6fSEmmanuel Vadot
70584943d6fSEmmanuel Vadot	serdes0_usb_link: phy@2 {
70684943d6fSEmmanuel Vadot		status = "okay";
70784943d6fSEmmanuel Vadot		reg = <2>;
70884943d6fSEmmanuel Vadot		cdns,num-lanes = <1>;
70984943d6fSEmmanuel Vadot		#phy-cells = <0>;
71084943d6fSEmmanuel Vadot		cdns,phy-type = <PHY_TYPE_USB3>;
71184943d6fSEmmanuel Vadot		resets = <&serdes_wiz0 3>;
71284943d6fSEmmanuel Vadot	};
71384943d6fSEmmanuel Vadot};
71484943d6fSEmmanuel Vadot
71584943d6fSEmmanuel Vadot&pcie1_rc {
71684943d6fSEmmanuel Vadot	status = "okay";
71784943d6fSEmmanuel Vadot	reset-gpios = <&exp1 10 GPIO_ACTIVE_HIGH>;
71884943d6fSEmmanuel Vadot	phys = <&serdes0_pcie_link>;
71984943d6fSEmmanuel Vadot	phy-names = "pcie-phy";
72084943d6fSEmmanuel Vadot	num-lanes = <2>;
72184943d6fSEmmanuel Vadot};
72284943d6fSEmmanuel Vadot
72384943d6fSEmmanuel Vadot&usb_serdes_mux {
72484943d6fSEmmanuel Vadot	idle-states = <0>; /* USB0 to SERDES lane 2 */
72584943d6fSEmmanuel Vadot};
72684943d6fSEmmanuel Vadot
72784943d6fSEmmanuel Vadot&usbss0 {
72884943d6fSEmmanuel Vadot	status = "okay";
72984943d6fSEmmanuel Vadot	pinctrl-0 = <&main_usbss0_pins_default>;
73084943d6fSEmmanuel Vadot	pinctrl-names = "default";
73184943d6fSEmmanuel Vadot	ti,vbus-divider;
73284943d6fSEmmanuel Vadot};
73384943d6fSEmmanuel Vadot
73484943d6fSEmmanuel Vadot&usb0 {
73584943d6fSEmmanuel Vadot	dr_mode = "host";
73684943d6fSEmmanuel Vadot	maximum-speed = "super-speed";
73784943d6fSEmmanuel Vadot	phys = <&serdes0_usb_link>;
73884943d6fSEmmanuel Vadot	phy-names = "cdns3,usb3-phy";
73984943d6fSEmmanuel Vadot};
740