xref: /linux/arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*39ac6623SParth Pancholi// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*39ac6623SParth Pancholi/*
3*39ac6623SParth Pancholi * Copyright (C) 2025 Toradex
4*39ac6623SParth Pancholi *
5*39ac6623SParth Pancholi * https://www.toradex.com/computer-on-modules/aquila-arm-family/ti-am69
6*39ac6623SParth Pancholi * https://www.toradex.com/products/carrier-board/aquila-development-board-kit
7*39ac6623SParth Pancholi */
8*39ac6623SParth Pancholi
9*39ac6623SParth Pancholi/dts-v1/;
10*39ac6623SParth Pancholi
11*39ac6623SParth Pancholi#include <dt-bindings/pwm/pwm.h>
12*39ac6623SParth Pancholi#include "k3-am69-aquila.dtsi"
13*39ac6623SParth Pancholi
14*39ac6623SParth Pancholi/ {
15*39ac6623SParth Pancholi	model = "Toradex Aquila AM69 on Aquila Development Board";
16*39ac6623SParth Pancholi	compatible = "toradex,aquila-am69-dev",
17*39ac6623SParth Pancholi		     "toradex,aquila-am69",
18*39ac6623SParth Pancholi		     "ti,j784s4";
19*39ac6623SParth Pancholi
20*39ac6623SParth Pancholi	aliases {
21*39ac6623SParth Pancholi		eeprom1 = &carrier_eeprom;
22*39ac6623SParth Pancholi	};
23*39ac6623SParth Pancholi
24*39ac6623SParth Pancholi	reg_1v8_sw: regulator-1v8-sw {
25*39ac6623SParth Pancholi		compatible = "regulator-fixed";
26*39ac6623SParth Pancholi		regulator-max-microvolt = <1800000>;
27*39ac6623SParth Pancholi		regulator-min-microvolt = <1800000>;
28*39ac6623SParth Pancholi		regulator-name = "Carrier_1V8";
29*39ac6623SParth Pancholi	};
30*39ac6623SParth Pancholi
31*39ac6623SParth Pancholi	reg_3v3_dp: regulator-3v3-dp {
32*39ac6623SParth Pancholi		compatible = "regulator-fixed";
33*39ac6623SParth Pancholi		pinctrl-names = "default";
34*39ac6623SParth Pancholi		pinctrl-0 = <&pinctrl_gpio_21_dp>;
35*39ac6623SParth Pancholi		/* Aquila GPIO_21_DP (AQUILA B57) */
36*39ac6623SParth Pancholi		gpio = <&main_gpio0 37 GPIO_ACTIVE_HIGH>;
37*39ac6623SParth Pancholi		enable-active-high;
38*39ac6623SParth Pancholi		regulator-max-microvolt = <3300000>;
39*39ac6623SParth Pancholi		regulator-min-microvolt = <3300000>;
40*39ac6623SParth Pancholi		regulator-name = "DP_3V3";
41*39ac6623SParth Pancholi		startup-delay-us = <10000>;
42*39ac6623SParth Pancholi	};
43*39ac6623SParth Pancholi
44*39ac6623SParth Pancholi	dp0-connector {
45*39ac6623SParth Pancholi		compatible = "dp-connector";
46*39ac6623SParth Pancholi		dp-pwr-supply = <&reg_3v3_dp>;
47*39ac6623SParth Pancholi		label = "Display Port";
48*39ac6623SParth Pancholi		type = "full-size";
49*39ac6623SParth Pancholi
50*39ac6623SParth Pancholi		port {
51*39ac6623SParth Pancholi			dp0_connector_in: endpoint {
52*39ac6623SParth Pancholi				remote-endpoint = <&dp0_out>;
53*39ac6623SParth Pancholi			};
54*39ac6623SParth Pancholi		};
55*39ac6623SParth Pancholi	};
56*39ac6623SParth Pancholi
57*39ac6623SParth Pancholi	sound {
58*39ac6623SParth Pancholi		compatible = "simple-audio-card";
59*39ac6623SParth Pancholi		simple-audio-card,bitclock-master = <&codec_dai>;
60*39ac6623SParth Pancholi		simple-audio-card,format = "i2s";
61*39ac6623SParth Pancholi		simple-audio-card,frame-master = <&codec_dai>;
62*39ac6623SParth Pancholi		simple-audio-card,name = "aquila-wm8904";
63*39ac6623SParth Pancholi		simple-audio-card,mclk-fs = <256>;
64*39ac6623SParth Pancholi		simple-audio-card,routing =
65*39ac6623SParth Pancholi			"Headphone Jack", "HPOUTL",
66*39ac6623SParth Pancholi			"Headphone Jack", "HPOUTR",
67*39ac6623SParth Pancholi			"IN2L", "Line In Jack",
68*39ac6623SParth Pancholi			"IN2R", "Line In Jack",
69*39ac6623SParth Pancholi			"Microphone Jack", "MICBIAS",
70*39ac6623SParth Pancholi			"IN1L", "Microphone Jack",
71*39ac6623SParth Pancholi			"IN1R", "Digital Mic";
72*39ac6623SParth Pancholi		simple-audio-card,widgets =
73*39ac6623SParth Pancholi			"Microphone", "Microphone Jack",
74*39ac6623SParth Pancholi			"Microphone", "Digital Mic",
75*39ac6623SParth Pancholi			"Headphone", "Headphone Jack",
76*39ac6623SParth Pancholi			"Line", "Line In Jack";
77*39ac6623SParth Pancholi
78*39ac6623SParth Pancholi		codec_dai: simple-audio-card,codec {
79*39ac6623SParth Pancholi			sound-dai = <&wm8904_1a>;
80*39ac6623SParth Pancholi		};
81*39ac6623SParth Pancholi
82*39ac6623SParth Pancholi		simple-audio-card,cpu {
83*39ac6623SParth Pancholi			sound-dai = <&mcasp4>;
84*39ac6623SParth Pancholi		};
85*39ac6623SParth Pancholi	};
86*39ac6623SParth Pancholi};
87*39ac6623SParth Pancholi
88*39ac6623SParth Pancholi/* Aquila CTRL_PWR_BTN_MICO# */
89*39ac6623SParth Pancholi&aquila_key_power {
90*39ac6623SParth Pancholi	status = "okay";
91*39ac6623SParth Pancholi};
92*39ac6623SParth Pancholi
93*39ac6623SParth Pancholi/* Aquila CTRL_WAKE1_MICO# */
94*39ac6623SParth Pancholi&aquila_key_wake {
95*39ac6623SParth Pancholi	status = "okay";
96*39ac6623SParth Pancholi};
97*39ac6623SParth Pancholi
98*39ac6623SParth Pancholi/* On-module ETH_1 MDIO */
99*39ac6623SParth Pancholi&davinci_mdio {
100*39ac6623SParth Pancholi	status = "okay";
101*39ac6623SParth Pancholi};
102*39ac6623SParth Pancholi
103*39ac6623SParth Pancholi&dp0_ports {
104*39ac6623SParth Pancholi	port@4 {
105*39ac6623SParth Pancholi		reg = <4>;
106*39ac6623SParth Pancholi		dp0_out: endpoint {
107*39ac6623SParth Pancholi			remote-endpoint = <&dp0_connector_in>;
108*39ac6623SParth Pancholi		};
109*39ac6623SParth Pancholi	};
110*39ac6623SParth Pancholi};
111*39ac6623SParth Pancholi
112*39ac6623SParth Pancholi&dss {
113*39ac6623SParth Pancholi	status = "okay";
114*39ac6623SParth Pancholi};
115*39ac6623SParth Pancholi
116*39ac6623SParth Pancholi&main0_thermal {
117*39ac6623SParth Pancholi	cooling-maps {
118*39ac6623SParth Pancholi		map0 {
119*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
120*39ac6623SParth Pancholi			trip = <&main0_alert0>;
121*39ac6623SParth Pancholi		};
122*39ac6623SParth Pancholi
123*39ac6623SParth Pancholi		map1 {
124*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
125*39ac6623SParth Pancholi			trip = <&main0_alert1>;
126*39ac6623SParth Pancholi		};
127*39ac6623SParth Pancholi	};
128*39ac6623SParth Pancholi};
129*39ac6623SParth Pancholi
130*39ac6623SParth Pancholi&main1_thermal {
131*39ac6623SParth Pancholi	cooling-maps {
132*39ac6623SParth Pancholi		map0 {
133*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
134*39ac6623SParth Pancholi			trip = <&main1_alert0>;
135*39ac6623SParth Pancholi		};
136*39ac6623SParth Pancholi
137*39ac6623SParth Pancholi		map1 {
138*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
139*39ac6623SParth Pancholi			trip = <&main1_alert1>;
140*39ac6623SParth Pancholi		};
141*39ac6623SParth Pancholi	};
142*39ac6623SParth Pancholi};
143*39ac6623SParth Pancholi
144*39ac6623SParth Pancholi&main2_thermal {
145*39ac6623SParth Pancholi	cooling-maps {
146*39ac6623SParth Pancholi		map0 {
147*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
148*39ac6623SParth Pancholi			trip = <&main2_alert0>;
149*39ac6623SParth Pancholi		};
150*39ac6623SParth Pancholi
151*39ac6623SParth Pancholi		map1 {
152*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
153*39ac6623SParth Pancholi			trip = <&main2_alert1>;
154*39ac6623SParth Pancholi		};
155*39ac6623SParth Pancholi	};
156*39ac6623SParth Pancholi};
157*39ac6623SParth Pancholi
158*39ac6623SParth Pancholi&main3_thermal {
159*39ac6623SParth Pancholi	cooling-maps {
160*39ac6623SParth Pancholi		map0 {
161*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
162*39ac6623SParth Pancholi			trip = <&main3_alert0>;
163*39ac6623SParth Pancholi		};
164*39ac6623SParth Pancholi
165*39ac6623SParth Pancholi		map1 {
166*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
167*39ac6623SParth Pancholi			trip = <&main3_alert1>;
168*39ac6623SParth Pancholi		};
169*39ac6623SParth Pancholi	};
170*39ac6623SParth Pancholi};
171*39ac6623SParth Pancholi
172*39ac6623SParth Pancholi&main4_thermal {
173*39ac6623SParth Pancholi	cooling-maps {
174*39ac6623SParth Pancholi		map0 {
175*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
176*39ac6623SParth Pancholi			trip = <&main4_alert0>;
177*39ac6623SParth Pancholi		};
178*39ac6623SParth Pancholi
179*39ac6623SParth Pancholi		map1 {
180*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
181*39ac6623SParth Pancholi			trip = <&main4_alert1>;
182*39ac6623SParth Pancholi		};
183*39ac6623SParth Pancholi	};
184*39ac6623SParth Pancholi};
185*39ac6623SParth Pancholi
186*39ac6623SParth Pancholi/* Aquila ETH_2 */
187*39ac6623SParth Pancholi&main_cpsw0 {
188*39ac6623SParth Pancholi	status = "okay";
189*39ac6623SParth Pancholi};
190*39ac6623SParth Pancholi
191*39ac6623SParth Pancholi/* Aquila ETH_2 SGMII PHY */
192*39ac6623SParth Pancholi&main_cpsw0_port8 {
193*39ac6623SParth Pancholi	phy-handle = <&cpsw0_port8_phy4>;
194*39ac6623SParth Pancholi	status = "okay";
195*39ac6623SParth Pancholi};
196*39ac6623SParth Pancholi
197*39ac6623SParth Pancholi/* Aquila ETH_2_XGMII_MDIO */
198*39ac6623SParth Pancholi&main_cpsw0_mdio {
199*39ac6623SParth Pancholi	status = "okay";
200*39ac6623SParth Pancholi
201*39ac6623SParth Pancholi	cpsw0_port8_phy4: ethernet-phy@4 {
202*39ac6623SParth Pancholi		reg = <4>;
203*39ac6623SParth Pancholi		pinctrl-names = "default";
204*39ac6623SParth Pancholi		pinctrl-0 = <&pinctrl_eth2_int>;
205*39ac6623SParth Pancholi		interrupt-parent = <&main_gpio0>;
206*39ac6623SParth Pancholi		interrupts = <44 IRQ_TYPE_EDGE_FALLING>;
207*39ac6623SParth Pancholi	};
208*39ac6623SParth Pancholi};
209*39ac6623SParth Pancholi
210*39ac6623SParth Pancholi/* Aquila PWM_1 */
211*39ac6623SParth Pancholi&main_ehrpwm0 {
212*39ac6623SParth Pancholi	status = "okay";
213*39ac6623SParth Pancholi};
214*39ac6623SParth Pancholi
215*39ac6623SParth Pancholi/* Aquila PWM_4_DP */
216*39ac6623SParth Pancholi&main_ehrpwm2 {
217*39ac6623SParth Pancholi	status = "okay";
218*39ac6623SParth Pancholi};
219*39ac6623SParth Pancholi
220*39ac6623SParth Pancholi/* Aquila PWM_2 */
221*39ac6623SParth Pancholi&main_ehrpwm1 {
222*39ac6623SParth Pancholi	status = "okay";
223*39ac6623SParth Pancholi};
224*39ac6623SParth Pancholi
225*39ac6623SParth Pancholi/* Aquila PWM_3_DSI */
226*39ac6623SParth Pancholi&main_ehrpwm5 {
227*39ac6623SParth Pancholi	status = "okay";
228*39ac6623SParth Pancholi};
229*39ac6623SParth Pancholi
230*39ac6623SParth Pancholi&main_gpio0 {
231*39ac6623SParth Pancholi	pinctrl-names = "default";
232*39ac6623SParth Pancholi	pinctrl-0 = <&pinctrl_gpio_01>,  /* Aquila GPIO_01 */
233*39ac6623SParth Pancholi		    <&pinctrl_gpio_02>,  /* Aquila GPIO_02 */
234*39ac6623SParth Pancholi		    <&pinctrl_gpio_03>;  /* Aquila GPIO_03 */
235*39ac6623SParth Pancholi};
236*39ac6623SParth Pancholi
237*39ac6623SParth Pancholi/* Aquila I2C_3_DSI1 */
238*39ac6623SParth Pancholi&main_i2c0 {
239*39ac6623SParth Pancholi	status = "okay";
240*39ac6623SParth Pancholi
241*39ac6623SParth Pancholi	i2c-mux@70 {
242*39ac6623SParth Pancholi		compatible = "nxp,pca9543";
243*39ac6623SParth Pancholi		reg = <0x70>;
244*39ac6623SParth Pancholi		#address-cells = <1>;
245*39ac6623SParth Pancholi		#size-cells = <0>;
246*39ac6623SParth Pancholi
247*39ac6623SParth Pancholi		/* I2C on DSI Connector Pin #4 and #6 */
248*39ac6623SParth Pancholi		i2c_dsi_0: i2c@0 {
249*39ac6623SParth Pancholi			reg = <0>;
250*39ac6623SParth Pancholi			#address-cells = <1>;
251*39ac6623SParth Pancholi			#size-cells = <0>;
252*39ac6623SParth Pancholi		};
253*39ac6623SParth Pancholi
254*39ac6623SParth Pancholi		/* I2C on DSI Connector Pin #52 and #54 */
255*39ac6623SParth Pancholi		i2c_dsi_1: i2c@1 {
256*39ac6623SParth Pancholi			reg = <1>;
257*39ac6623SParth Pancholi			#address-cells = <1>;
258*39ac6623SParth Pancholi			#size-cells = <0>;
259*39ac6623SParth Pancholi		};
260*39ac6623SParth Pancholi	};
261*39ac6623SParth Pancholi};
262*39ac6623SParth Pancholi
263*39ac6623SParth Pancholi/* Aquila I2C_4_CSI1 */
264*39ac6623SParth Pancholi&main_i2c1 {
265*39ac6623SParth Pancholi	status = "okay";
266*39ac6623SParth Pancholi};
267*39ac6623SParth Pancholi
268*39ac6623SParth Pancholi/* Aquila I2C_5_CSI2 */
269*39ac6623SParth Pancholi&main_i2c2 {
270*39ac6623SParth Pancholi	status = "okay";
271*39ac6623SParth Pancholi};
272*39ac6623SParth Pancholi
273*39ac6623SParth Pancholi/* Aquila I2C_6 */
274*39ac6623SParth Pancholi&main_i2c5 {
275*39ac6623SParth Pancholi	status = "okay";
276*39ac6623SParth Pancholi};
277*39ac6623SParth Pancholi
278*39ac6623SParth Pancholi/* Aquila CAN_1 */
279*39ac6623SParth Pancholi&main_mcan10 {
280*39ac6623SParth Pancholi	status = "okay";
281*39ac6623SParth Pancholi};
282*39ac6623SParth Pancholi
283*39ac6623SParth Pancholi/* Aquila CAN_3 */
284*39ac6623SParth Pancholi&main_mcan13 {
285*39ac6623SParth Pancholi	status = "okay";
286*39ac6623SParth Pancholi};
287*39ac6623SParth Pancholi
288*39ac6623SParth Pancholi/* Aquila SD_1 */
289*39ac6623SParth Pancholi&main_sdhci1 {
290*39ac6623SParth Pancholi	status = "okay";
291*39ac6623SParth Pancholi};
292*39ac6623SParth Pancholi
293*39ac6623SParth Pancholi/* Aquila SPI_2 */
294*39ac6623SParth Pancholi&main_spi0 {
295*39ac6623SParth Pancholi	status = "okay";
296*39ac6623SParth Pancholi};
297*39ac6623SParth Pancholi
298*39ac6623SParth Pancholi/* Aquila SPI_1 */
299*39ac6623SParth Pancholi&main_spi2 {
300*39ac6623SParth Pancholi	status = "okay";
301*39ac6623SParth Pancholi};
302*39ac6623SParth Pancholi
303*39ac6623SParth Pancholi/* Aquila UART_1 */
304*39ac6623SParth Pancholi&main_uart4 {
305*39ac6623SParth Pancholi	status = "okay";
306*39ac6623SParth Pancholi};
307*39ac6623SParth Pancholi
308*39ac6623SParth Pancholi/* Aquila UART_3, used as the Linux console */
309*39ac6623SParth Pancholi&main_uart8 {
310*39ac6623SParth Pancholi	status = "okay";
311*39ac6623SParth Pancholi};
312*39ac6623SParth Pancholi
313*39ac6623SParth Pancholi/* Aquila I2S_1 */
314*39ac6623SParth Pancholi&mcasp4 {
315*39ac6623SParth Pancholi	status = "okay";
316*39ac6623SParth Pancholi};
317*39ac6623SParth Pancholi
318*39ac6623SParth Pancholi&mcu_cpsw {
319*39ac6623SParth Pancholi	status = "okay";
320*39ac6623SParth Pancholi};
321*39ac6623SParth Pancholi
322*39ac6623SParth Pancholi/* On-module ETH_1 RGMII */
323*39ac6623SParth Pancholi&mcu_cpsw_port1 {
324*39ac6623SParth Pancholi	status = "okay";
325*39ac6623SParth Pancholi};
326*39ac6623SParth Pancholi
327*39ac6623SParth Pancholi/* Aquila I2C_1 */
328*39ac6623SParth Pancholi&mcu_i2c0 {
329*39ac6623SParth Pancholi	clock-frequency = <100000>;
330*39ac6623SParth Pancholi	status = "okay";
331*39ac6623SParth Pancholi
332*39ac6623SParth Pancholi	fan_controller: fan@18 {
333*39ac6623SParth Pancholi		compatible = "ti,amc6821";
334*39ac6623SParth Pancholi		reg = <0x18>;
335*39ac6623SParth Pancholi		#pwm-cells = <2>;
336*39ac6623SParth Pancholi
337*39ac6623SParth Pancholi		fan: fan {
338*39ac6623SParth Pancholi			cooling-levels = <102 179 255>;
339*39ac6623SParth Pancholi			#cooling-cells = <2>;
340*39ac6623SParth Pancholi			pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>;
341*39ac6623SParth Pancholi		};
342*39ac6623SParth Pancholi	};
343*39ac6623SParth Pancholi
344*39ac6623SParth Pancholi	wm8904_1a: audio-codec@1a {
345*39ac6623SParth Pancholi		compatible = "wlf,wm8904";
346*39ac6623SParth Pancholi		reg = <0x1a>;
347*39ac6623SParth Pancholi		pinctrl-names = "default";
348*39ac6623SParth Pancholi		pinctrl-0 = <&pinctrl_audio_extrefclk1>;
349*39ac6623SParth Pancholi		#sound-dai-cells = <0>;
350*39ac6623SParth Pancholi		clocks = <&audio_refclk1>;
351*39ac6623SParth Pancholi		clock-names = "mclk";
352*39ac6623SParth Pancholi		AVDD-supply = <&reg_1v8_sw>;
353*39ac6623SParth Pancholi		CPVDD-supply = <&reg_1v8_sw>;
354*39ac6623SParth Pancholi		DBVDD-supply = <&reg_1v8_sw>;
355*39ac6623SParth Pancholi		DCVDD-supply = <&reg_1v8_sw>;
356*39ac6623SParth Pancholi		MICVDD-supply = <&reg_1v8_sw>;
357*39ac6623SParth Pancholi
358*39ac6623SParth Pancholi		wlf,drc-cfg-names = "default", "peaklimiter";
359*39ac6623SParth Pancholi		/*
360*39ac6623SParth Pancholi		 * Config registers per name, respectively:
361*39ac6623SParth Pancholi		 * KNEE_IP = 0,   KNEE_OP = 0,     HI_COMP = 1,   LO_COMP = 1
362*39ac6623SParth Pancholi		 * KNEE_IP = -24, KNEE_OP = -6,    HI_COMP = 1/4, LO_COMP = 1
363*39ac6623SParth Pancholi		 */
364*39ac6623SParth Pancholi		wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>,
365*39ac6623SParth Pancholi				   /bits/ 16 <0x04af 0x324b 0x0010 0x0408>;
366*39ac6623SParth Pancholi
367*39ac6623SParth Pancholi		/* GPIO1 = DMIC_CLK, don't touch others */
368*39ac6623SParth Pancholi		wlf,gpio-cfg = <0x0018>, <0xffff>, <0xffff>, <0xffff>;
369*39ac6623SParth Pancholi
370*39ac6623SParth Pancholi		wlf,in1r-as-dmicdat2;
371*39ac6623SParth Pancholi	};
372*39ac6623SParth Pancholi
373*39ac6623SParth Pancholi	/* Current measurement into module VCC */
374*39ac6623SParth Pancholi	hwmon@41 {
375*39ac6623SParth Pancholi		compatible = "ti,ina226";
376*39ac6623SParth Pancholi		reg = <0x41>;
377*39ac6623SParth Pancholi		shunt-resistor = <5000>;
378*39ac6623SParth Pancholi	};
379*39ac6623SParth Pancholi
380*39ac6623SParth Pancholi	temperature-sensor@4f {
381*39ac6623SParth Pancholi		compatible = "ti,tmp1075";
382*39ac6623SParth Pancholi		reg = <0x4f>;
383*39ac6623SParth Pancholi	};
384*39ac6623SParth Pancholi
385*39ac6623SParth Pancholi	/* USB-C OTG (TCPC USB PD PHY) */
386*39ac6623SParth Pancholi	tcpc@52 {
387*39ac6623SParth Pancholi		compatible = "nxp,ptn5110", "tcpci";
388*39ac6623SParth Pancholi		reg = <0x52>;
389*39ac6623SParth Pancholi		pinctrl-names = "default";
390*39ac6623SParth Pancholi		pinctrl-0 = <&pinctrl_usb1_int>;
391*39ac6623SParth Pancholi		interrupt-parent = <&main_gpio0>;
392*39ac6623SParth Pancholi		interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
393*39ac6623SParth Pancholi
394*39ac6623SParth Pancholi		connector {
395*39ac6623SParth Pancholi			compatible = "usb-c-connector";
396*39ac6623SParth Pancholi			data-role = "dual";
397*39ac6623SParth Pancholi			label = "USB-C OTG";
398*39ac6623SParth Pancholi			power-role = "dual";
399*39ac6623SParth Pancholi			try-power-role = "sink";
400*39ac6623SParth Pancholi			self-powered;
401*39ac6623SParth Pancholi			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
402*39ac6623SParth Pancholi			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
403*39ac6623SParth Pancholi			op-sink-microwatt = <1000000>;
404*39ac6623SParth Pancholi
405*39ac6623SParth Pancholi			ports {
406*39ac6623SParth Pancholi				#address-cells = <1>;
407*39ac6623SParth Pancholi				#size-cells = <0>;
408*39ac6623SParth Pancholi
409*39ac6623SParth Pancholi				port@0 {
410*39ac6623SParth Pancholi					reg = <0>;
411*39ac6623SParth Pancholi
412*39ac6623SParth Pancholi					usb_1_con_hs: endpoint {
413*39ac6623SParth Pancholi						remote-endpoint = <&usb0_hs>;
414*39ac6623SParth Pancholi					};
415*39ac6623SParth Pancholi				};
416*39ac6623SParth Pancholi
417*39ac6623SParth Pancholi				port@1 {
418*39ac6623SParth Pancholi					reg = <1>;
419*39ac6623SParth Pancholi
420*39ac6623SParth Pancholi					usb_1_con_ss: endpoint {
421*39ac6623SParth Pancholi						remote-endpoint = <&usb0_ss_mux>;
422*39ac6623SParth Pancholi					};
423*39ac6623SParth Pancholi				};
424*39ac6623SParth Pancholi			};
425*39ac6623SParth Pancholi		};
426*39ac6623SParth Pancholi	};
427*39ac6623SParth Pancholi
428*39ac6623SParth Pancholi	carrier_eeprom: eeprom@57 {
429*39ac6623SParth Pancholi		compatible = "st,24c02", "atmel,24c02";
430*39ac6623SParth Pancholi		reg = <0x57>;
431*39ac6623SParth Pancholi		pagesize = <16>;
432*39ac6623SParth Pancholi	};
433*39ac6623SParth Pancholi};
434*39ac6623SParth Pancholi
435*39ac6623SParth Pancholi/* Aquila I2C_2 */
436*39ac6623SParth Pancholi&mcu_i2c1 {
437*39ac6623SParth Pancholi	status = "okay";
438*39ac6623SParth Pancholi};
439*39ac6623SParth Pancholi
440*39ac6623SParth Pancholi/* Aquila CAN_2 */
441*39ac6623SParth Pancholi&mcu_mcan0 {
442*39ac6623SParth Pancholi	status = "okay";
443*39ac6623SParth Pancholi};
444*39ac6623SParth Pancholi
445*39ac6623SParth Pancholi/* Aquila CAN_4 */
446*39ac6623SParth Pancholi&mcu_mcan1 {
447*39ac6623SParth Pancholi	status = "okay";
448*39ac6623SParth Pancholi};
449*39ac6623SParth Pancholi
450*39ac6623SParth Pancholi/* Aquila UART_4 */
451*39ac6623SParth Pancholi&mcu_uart0 {
452*39ac6623SParth Pancholi	status = "okay";
453*39ac6623SParth Pancholi};
454*39ac6623SParth Pancholi
455*39ac6623SParth Pancholi&mhdp {
456*39ac6623SParth Pancholi	status = "okay";
457*39ac6623SParth Pancholi};
458*39ac6623SParth Pancholi
459*39ac6623SParth Pancholi/* Aquila QSPI_1 */
460*39ac6623SParth Pancholi&ospi0 {
461*39ac6623SParth Pancholi	pinctrl-names = "default";
462*39ac6623SParth Pancholi	pinctrl-0 = <&pinctrl_mcu_ospi0_4bit>, <&pinctrl_mcu_ospi0_cs0>;
463*39ac6623SParth Pancholi	status = "okay";
464*39ac6623SParth Pancholi
465*39ac6623SParth Pancholi	flash@0 {
466*39ac6623SParth Pancholi		compatible = "jedec,spi-nor";
467*39ac6623SParth Pancholi		reg = <0x0>;
468*39ac6623SParth Pancholi		spi-max-frequency = <66000000>;
469*39ac6623SParth Pancholi		spi-rx-bus-width = <4>;
470*39ac6623SParth Pancholi		spi-tx-bus-width = <4>;
471*39ac6623SParth Pancholi		cdns,read-delay = <0>;
472*39ac6623SParth Pancholi		cdns,tchsh-ns = <3>;
473*39ac6623SParth Pancholi		cdns,tsd2d-ns = <10>;
474*39ac6623SParth Pancholi		cdns,tshsl-ns = <30>;
475*39ac6623SParth Pancholi		cdns,tslch-ns = <8>;
476*39ac6623SParth Pancholi	};
477*39ac6623SParth Pancholi};
478*39ac6623SParth Pancholi
479*39ac6623SParth Pancholi/* Aquila PCIE_1 */
480*39ac6623SParth Pancholi&pcie0_rc {
481*39ac6623SParth Pancholi	status = "okay";
482*39ac6623SParth Pancholi};
483*39ac6623SParth Pancholi
484*39ac6623SParth Pancholi/* Aquila PCIE_2 */
485*39ac6623SParth Pancholi&pcie1_rc {
486*39ac6623SParth Pancholi	status = "okay";
487*39ac6623SParth Pancholi};
488*39ac6623SParth Pancholi
489*39ac6623SParth Pancholi&serdes2 {
490*39ac6623SParth Pancholi	status = "okay";
491*39ac6623SParth Pancholi};
492*39ac6623SParth Pancholi
493*39ac6623SParth Pancholi&serdes4 {
494*39ac6623SParth Pancholi	status = "okay";
495*39ac6623SParth Pancholi};
496*39ac6623SParth Pancholi
497*39ac6623SParth Pancholi&serdes_wiz2 {
498*39ac6623SParth Pancholi	status = "okay";
499*39ac6623SParth Pancholi};
500*39ac6623SParth Pancholi
501*39ac6623SParth Pancholi&serdes_wiz4 {
502*39ac6623SParth Pancholi	status = "okay";
503*39ac6623SParth Pancholi};
504*39ac6623SParth Pancholi
505*39ac6623SParth Pancholi/* Aquila ADC_[1-4] */
506*39ac6623SParth Pancholi&tscadc0 {
507*39ac6623SParth Pancholi	status = "okay";
508*39ac6623SParth Pancholi};
509*39ac6623SParth Pancholi
510*39ac6623SParth Pancholi&usbss0 {
511*39ac6623SParth Pancholi	status = "okay";
512*39ac6623SParth Pancholi};
513*39ac6623SParth Pancholi
514*39ac6623SParth Pancholi&usb0ss_mux {
515*39ac6623SParth Pancholi	status = "okay";
516*39ac6623SParth Pancholi
517*39ac6623SParth Pancholi	port {
518*39ac6623SParth Pancholi		usb0_ss_mux: endpoint {
519*39ac6623SParth Pancholi			remote-endpoint = <&usb_1_con_ss>;
520*39ac6623SParth Pancholi		};
521*39ac6623SParth Pancholi	};
522*39ac6623SParth Pancholi};
523*39ac6623SParth Pancholi
524*39ac6623SParth Pancholi&usb0 {
525*39ac6623SParth Pancholi	status = "okay";
526*39ac6623SParth Pancholi
527*39ac6623SParth Pancholi	port {
528*39ac6623SParth Pancholi		usb0_hs: endpoint {
529*39ac6623SParth Pancholi			remote-endpoint = <&usb_1_con_hs>;
530*39ac6623SParth Pancholi		};
531*39ac6623SParth Pancholi	};
532*39ac6623SParth Pancholi};
533*39ac6623SParth Pancholi
534*39ac6623SParth Pancholi&wkup0_thermal {
535*39ac6623SParth Pancholi	cooling-maps {
536*39ac6623SParth Pancholi		map0 {
537*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
538*39ac6623SParth Pancholi			trip = <&wkup0_alert0>;
539*39ac6623SParth Pancholi		};
540*39ac6623SParth Pancholi
541*39ac6623SParth Pancholi		map1 {
542*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
543*39ac6623SParth Pancholi			trip = <&wkup0_alert1>;
544*39ac6623SParth Pancholi		};
545*39ac6623SParth Pancholi	};
546*39ac6623SParth Pancholi};
547*39ac6623SParth Pancholi
548*39ac6623SParth Pancholi&wkup1_thermal {
549*39ac6623SParth Pancholi	cooling-maps {
550*39ac6623SParth Pancholi		map0 {
551*39ac6623SParth Pancholi			cooling-device = <&fan 1 1>;
552*39ac6623SParth Pancholi			trip = <&wkup1_alert0>;
553*39ac6623SParth Pancholi		};
554*39ac6623SParth Pancholi
555*39ac6623SParth Pancholi		map1 {
556*39ac6623SParth Pancholi			cooling-device = <&fan 2 2>;
557*39ac6623SParth Pancholi			trip = <&wkup1_alert1>;
558*39ac6623SParth Pancholi		};
559*39ac6623SParth Pancholi	};
560*39ac6623SParth Pancholi};
561*39ac6623SParth Pancholi
562*39ac6623SParth Pancholi&wkup_gpio0 {
563*39ac6623SParth Pancholi	pinctrl-names = "default";
564*39ac6623SParth Pancholi	pinctrl-0 = <&pinctrl_gpio_04>,       /* Aquila GPIO_04 */
565*39ac6623SParth Pancholi		    <&pinctrl_gpio_05>,       /* Aquila GPIO_05 */
566*39ac6623SParth Pancholi		    <&pinctrl_gpio_06>,       /* Aquila GPIO_06 */
567*39ac6623SParth Pancholi		    <&pinctrl_gpio_07>,       /* Aquila GPIO_07 */
568*39ac6623SParth Pancholi		    <&pinctrl_gpio_08>;       /* Aquila GPIO_08 */
569*39ac6623SParth Pancholi};
570*39ac6623SParth Pancholi
571*39ac6623SParth Pancholi/* Aquila UART_2, through RS485 transceiver */
572*39ac6623SParth Pancholi&wkup_uart0 {
573*39ac6623SParth Pancholi	linux,rs485-enabled-at-boot-time;
574*39ac6623SParth Pancholi	rs485-rx-during-tx;
575*39ac6623SParth Pancholi	status = "okay";
576*39ac6623SParth Pancholi};
577