xref: /linux/arch/arm64/boot/dts/freescale/imx95-aquila-dev.dts (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*d5c082baSJoão Paulo Gonçalves// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*d5c082baSJoão Paulo Gonçalves/*
3*d5c082baSJoão Paulo Gonçalves * Copyright (c) Toradex
4*d5c082baSJoão Paulo Gonçalves *
5*d5c082baSJoão Paulo Gonçalves * https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95
6*d5c082baSJoão Paulo Gonçalves * https://www.toradex.com/products/carrier-board/aquila-development-board-kit
7*d5c082baSJoão Paulo Gonçalves */
8*d5c082baSJoão Paulo Gonçalves
9*d5c082baSJoão Paulo Gonçalves/dts-v1/;
10*d5c082baSJoão Paulo Gonçalves
11*d5c082baSJoão Paulo Gonçalves#include <dt-bindings/pwm/pwm.h>
12*d5c082baSJoão Paulo Gonçalves#include <dt-bindings/usb/pd.h>
13*d5c082baSJoão Paulo Gonçalves#include "imx95-aquila.dtsi"
14*d5c082baSJoão Paulo Gonçalves
15*d5c082baSJoão Paulo Gonçalves/ {
16*d5c082baSJoão Paulo Gonçalves	model = "Aquila iMX95 on Aquila Development Board";
17*d5c082baSJoão Paulo Gonçalves	compatible = "toradex,aquila-imx95-dev",
18*d5c082baSJoão Paulo Gonçalves		     "toradex,aquila-imx95",
19*d5c082baSJoão Paulo Gonçalves		     "fsl,imx95";
20*d5c082baSJoão Paulo Gonçalves
21*d5c082baSJoão Paulo Gonçalves	aliases {
22*d5c082baSJoão Paulo Gonçalves		eeprom1 = &carrier_eeprom;
23*d5c082baSJoão Paulo Gonçalves	};
24*d5c082baSJoão Paulo Gonçalves
25*d5c082baSJoão Paulo Gonçalves	dp_1_connector: dp0-connector {
26*d5c082baSJoão Paulo Gonçalves		compatible = "dp-connector";
27*d5c082baSJoão Paulo Gonçalves		dp-pwr-supply = <&reg_dp_3p3v>;
28*d5c082baSJoão Paulo Gonçalves		type = "full-size";
29*d5c082baSJoão Paulo Gonçalves
30*d5c082baSJoão Paulo Gonçalves		port {
31*d5c082baSJoão Paulo Gonçalves			dp_1_connector_in: endpoint {
32*d5c082baSJoão Paulo Gonçalves				remote-endpoint = <&dsi2dp_out>;
33*d5c082baSJoão Paulo Gonçalves			};
34*d5c082baSJoão Paulo Gonçalves		};
35*d5c082baSJoão Paulo Gonçalves	};
36*d5c082baSJoão Paulo Gonçalves
37*d5c082baSJoão Paulo Gonçalves	reg_carrier_1p8v: regulator-carrier-1p8v {
38*d5c082baSJoão Paulo Gonçalves		compatible = "regulator-fixed";
39*d5c082baSJoão Paulo Gonçalves		regulator-max-microvolt = <1800000>;
40*d5c082baSJoão Paulo Gonçalves		regulator-min-microvolt = <1800000>;
41*d5c082baSJoão Paulo Gonçalves		regulator-name = "On-carrier 1V8";
42*d5c082baSJoão Paulo Gonçalves	};
43*d5c082baSJoão Paulo Gonçalves
44*d5c082baSJoão Paulo Gonçalves	reg_dp_3p3v: regulator-dp-3p3v {
45*d5c082baSJoão Paulo Gonçalves		compatible = "regulator-fixed";
46*d5c082baSJoão Paulo Gonçalves		pinctrl-names = "default";
47*d5c082baSJoão Paulo Gonçalves		pinctrl-0 = <&pinctrl_gpio_21_dp>;
48*d5c082baSJoão Paulo Gonçalves		/* Aquila GPIO_21_DP */
49*d5c082baSJoão Paulo Gonçalves		gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
50*d5c082baSJoão Paulo Gonçalves		enable-active-high;
51*d5c082baSJoão Paulo Gonçalves		regulator-max-microvolt = <3300000>;
52*d5c082baSJoão Paulo Gonçalves		regulator-min-microvolt = <3300000>;
53*d5c082baSJoão Paulo Gonçalves		regulator-name = "DP_3V3";
54*d5c082baSJoão Paulo Gonçalves		startup-delay-us = <10000>;
55*d5c082baSJoão Paulo Gonçalves	};
56*d5c082baSJoão Paulo Gonçalves
57*d5c082baSJoão Paulo Gonçalves	sound {
58*d5c082baSJoão Paulo Gonçalves		compatible = "simple-audio-card";
59*d5c082baSJoão Paulo Gonçalves		simple-audio-card,bitclock-master = <&codec_dai>;
60*d5c082baSJoão Paulo Gonçalves		simple-audio-card,format = "i2s";
61*d5c082baSJoão Paulo Gonçalves		simple-audio-card,frame-master = <&codec_dai>;
62*d5c082baSJoão Paulo Gonçalves		simple-audio-card,mclk-fs = <256>;
63*d5c082baSJoão Paulo Gonçalves		simple-audio-card,name = "aquila-wm8904";
64*d5c082baSJoão Paulo Gonçalves		simple-audio-card,routing =
65*d5c082baSJoão Paulo Gonçalves			"Headphone Jack", "HPOUTL",
66*d5c082baSJoão Paulo Gonçalves			"Headphone Jack", "HPOUTR",
67*d5c082baSJoão Paulo Gonçalves			"IN2L", "Line In Jack",
68*d5c082baSJoão Paulo Gonçalves			"IN2R", "Line In Jack",
69*d5c082baSJoão Paulo Gonçalves			"Microphone Jack", "MICBIAS",
70*d5c082baSJoão Paulo Gonçalves			"IN1L", "Microphone Jack",
71*d5c082baSJoão Paulo Gonçalves			"IN1R", "Digital Mic";
72*d5c082baSJoão Paulo Gonçalves		simple-audio-card,widgets =
73*d5c082baSJoão Paulo Gonçalves			"Microphone", "Microphone Jack",
74*d5c082baSJoão Paulo Gonçalves			"Microphone", "Digital Mic",
75*d5c082baSJoão Paulo Gonçalves			"Headphone", "Headphone Jack",
76*d5c082baSJoão Paulo Gonçalves			"Line", "Line In Jack";
77*d5c082baSJoão Paulo Gonçalves
78*d5c082baSJoão Paulo Gonçalves		codec_dai: simple-audio-card,codec {
79*d5c082baSJoão Paulo Gonçalves			sound-dai = <&wm8904_1a>;
80*d5c082baSJoão Paulo Gonçalves		};
81*d5c082baSJoão Paulo Gonçalves
82*d5c082baSJoão Paulo Gonçalves		simple-audio-card,cpu {
83*d5c082baSJoão Paulo Gonçalves			sound-dai = <&sai2>;
84*d5c082baSJoão Paulo Gonçalves		};
85*d5c082baSJoão Paulo Gonçalves	};
86*d5c082baSJoão Paulo Gonçalves};
87*d5c082baSJoão Paulo Gonçalves
88*d5c082baSJoão Paulo Gonçalves/* Aquila ADC_[1-4] */
89*d5c082baSJoão Paulo Gonçalves&adc1 {
90*d5c082baSJoão Paulo Gonçalves	status = "okay";
91*d5c082baSJoão Paulo Gonçalves};
92*d5c082baSJoão Paulo Gonçalves
93*d5c082baSJoão Paulo Gonçalves/* Aquila CTRL_WAKE1_MICO# */
94*d5c082baSJoão Paulo Gonçalves&aquila_key_wake {
95*d5c082baSJoão Paulo Gonçalves	status = "okay";
96*d5c082baSJoão Paulo Gonçalves};
97*d5c082baSJoão Paulo Gonçalves
98*d5c082baSJoão Paulo Gonçalves&dsi2dp_out {
99*d5c082baSJoão Paulo Gonçalves	remote-endpoint = <&dp_1_connector_in>;
100*d5c082baSJoão Paulo Gonçalves};
101*d5c082baSJoão Paulo Gonçalves
102*d5c082baSJoão Paulo Gonçalves/* Aquila ETH_1 */
103*d5c082baSJoão Paulo Gonçalves&enetc_port0 {
104*d5c082baSJoão Paulo Gonçalves	status = "okay";
105*d5c082baSJoão Paulo Gonçalves};
106*d5c082baSJoão Paulo Gonçalves
107*d5c082baSJoão Paulo Gonçalves/* Aquila CAN_1 */
108*d5c082baSJoão Paulo Gonçalves&flexcan1 {
109*d5c082baSJoão Paulo Gonçalves	status = "okay";
110*d5c082baSJoão Paulo Gonçalves};
111*d5c082baSJoão Paulo Gonçalves
112*d5c082baSJoão Paulo Gonçalves/* Aquila CAN_2 */
113*d5c082baSJoão Paulo Gonçalves&flexcan2 {
114*d5c082baSJoão Paulo Gonçalves	status = "okay";
115*d5c082baSJoão Paulo Gonçalves};
116*d5c082baSJoão Paulo Gonçalves
117*d5c082baSJoão Paulo Gonçalves/* Aquila CAN_3 */
118*d5c082baSJoão Paulo Gonçalves&flexcan3 {
119*d5c082baSJoão Paulo Gonçalves	status = "okay";
120*d5c082baSJoão Paulo Gonçalves};
121*d5c082baSJoão Paulo Gonçalves
122*d5c082baSJoão Paulo Gonçalves/* Aquila CAN_4 */
123*d5c082baSJoão Paulo Gonçalves&flexcan4 {
124*d5c082baSJoão Paulo Gonçalves	status = "okay";
125*d5c082baSJoão Paulo Gonçalves};
126*d5c082baSJoão Paulo Gonçalves
127*d5c082baSJoão Paulo Gonçalves/* Aquila QSPI_1 */
128*d5c082baSJoão Paulo Gonçalves&flexspi1 {
129*d5c082baSJoão Paulo Gonçalves	pinctrl-0 = <&pinctrl_flexspi1_4bit>,
130*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_qspi_cs1>;
131*d5c082baSJoão Paulo Gonçalves
132*d5c082baSJoão Paulo Gonçalves	status = "okay";
133*d5c082baSJoão Paulo Gonçalves
134*d5c082baSJoão Paulo Gonçalves	flash@0 {
135*d5c082baSJoão Paulo Gonçalves		compatible = "jedec,spi-nor";
136*d5c082baSJoão Paulo Gonçalves		reg = <0x0>;
137*d5c082baSJoão Paulo Gonçalves		spi-max-frequency = <66000000>;
138*d5c082baSJoão Paulo Gonçalves		spi-rx-bus-width = <4>;
139*d5c082baSJoão Paulo Gonçalves		spi-tx-bus-width = <4>;
140*d5c082baSJoão Paulo Gonçalves	};
141*d5c082baSJoão Paulo Gonçalves};
142*d5c082baSJoão Paulo Gonçalves
143*d5c082baSJoão Paulo Gonçalves&gpio1 {
144*d5c082baSJoão Paulo Gonçalves	pinctrl-names = "default";
145*d5c082baSJoão Paulo Gonçalves	pinctrl-0 = <&pinctrl_gpio_8>;
146*d5c082baSJoão Paulo Gonçalves};
147*d5c082baSJoão Paulo Gonçalves
148*d5c082baSJoão Paulo Gonçalves&gpio4 {
149*d5c082baSJoão Paulo Gonçalves	pinctrl-names = "default";
150*d5c082baSJoão Paulo Gonçalves	pinctrl-0 = <&pinctrl_gpio_1>,
151*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_gpio_2>,
152*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_gpio_3>,
153*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_gpio_4>,
154*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_gpio_5>,
155*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_gpio_6>,
156*d5c082baSJoão Paulo Gonçalves		    <&pinctrl_gpio_7>;
157*d5c082baSJoão Paulo Gonçalves};
158*d5c082baSJoão Paulo Gonçalves
159*d5c082baSJoão Paulo Gonçalves/* Aquila I2C_1 */
160*d5c082baSJoão Paulo Gonçalves&lpi2c2 {
161*d5c082baSJoão Paulo Gonçalves	status = "okay";
162*d5c082baSJoão Paulo Gonçalves
163*d5c082baSJoão Paulo Gonçalves	fan_controller: fan@18 {
164*d5c082baSJoão Paulo Gonçalves		compatible = "ti,amc6821";
165*d5c082baSJoão Paulo Gonçalves		reg = <0x18>;
166*d5c082baSJoão Paulo Gonçalves		#pwm-cells = <2>;
167*d5c082baSJoão Paulo Gonçalves
168*d5c082baSJoão Paulo Gonçalves		fan {
169*d5c082baSJoão Paulo Gonçalves			cooling-levels = <255>;
170*d5c082baSJoão Paulo Gonçalves			pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>;
171*d5c082baSJoão Paulo Gonçalves		};
172*d5c082baSJoão Paulo Gonçalves	};
173*d5c082baSJoão Paulo Gonçalves
174*d5c082baSJoão Paulo Gonçalves	wm8904_1a: audio-codec@1a {
175*d5c082baSJoão Paulo Gonçalves		compatible = "wlf,wm8904";
176*d5c082baSJoão Paulo Gonçalves		reg = <0x1a>;
177*d5c082baSJoão Paulo Gonçalves		pinctrl-names = "default";
178*d5c082baSJoão Paulo Gonçalves		pinctrl-0 = <&pinctrl_sai2_mclk>;
179*d5c082baSJoão Paulo Gonçalves		clocks = <&scmi_clk IMX95_CLK_SAI2>;
180*d5c082baSJoão Paulo Gonçalves		clock-names = "mclk";
181*d5c082baSJoão Paulo Gonçalves		#sound-dai-cells = <0>;
182*d5c082baSJoão Paulo Gonçalves		AVDD-supply = <&reg_carrier_1p8v>;
183*d5c082baSJoão Paulo Gonçalves		CPVDD-supply = <&reg_carrier_1p8v>;
184*d5c082baSJoão Paulo Gonçalves		DBVDD-supply = <&reg_carrier_1p8v>;
185*d5c082baSJoão Paulo Gonçalves		DCVDD-supply = <&reg_carrier_1p8v>;
186*d5c082baSJoão Paulo Gonçalves		MICVDD-supply = <&reg_carrier_1p8v>;
187*d5c082baSJoão Paulo Gonçalves		wlf,drc-cfg-names = "default", "peaklimiter";
188*d5c082baSJoão Paulo Gonçalves		/*
189*d5c082baSJoão Paulo Gonçalves		 * Config registers per name, respectively:
190*d5c082baSJoão Paulo Gonçalves		 * KNEE_IP = 0,   KNEE_OP = 0,     HI_COMP = 1,   LO_COMP = 1
191*d5c082baSJoão Paulo Gonçalves		 * KNEE_IP = -24, KNEE_OP = -6,    HI_COMP = 1/4, LO_COMP = 1
192*d5c082baSJoão Paulo Gonçalves		 */
193*d5c082baSJoão Paulo Gonçalves		wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>,
194*d5c082baSJoão Paulo Gonçalves				   /bits/ 16 <0x04af 0x324b 0x0010 0x0408>;
195*d5c082baSJoão Paulo Gonçalves		/* GPIO1 = DMIC_CLK, don't touch others */
196*d5c082baSJoão Paulo Gonçalves		wlf,gpio-cfg = <0x0018>, <0xffff>, <0xffff>, <0xffff>;
197*d5c082baSJoão Paulo Gonçalves		wlf,in1r-as-dmicdat2;
198*d5c082baSJoão Paulo Gonçalves	};
199*d5c082baSJoão Paulo Gonçalves
200*d5c082baSJoão Paulo Gonçalves	/* Current measurement into module VCC */
201*d5c082baSJoão Paulo Gonçalves	hwmon@41 {
202*d5c082baSJoão Paulo Gonçalves		compatible = "ti,ina226";
203*d5c082baSJoão Paulo Gonçalves		reg = <0x41>;
204*d5c082baSJoão Paulo Gonçalves		shunt-resistor = <5000>;
205*d5c082baSJoão Paulo Gonçalves	};
206*d5c082baSJoão Paulo Gonçalves
207*d5c082baSJoão Paulo Gonçalves	temperature-sensor@4f {
208*d5c082baSJoão Paulo Gonçalves		compatible = "ti,tmp1075";
209*d5c082baSJoão Paulo Gonçalves		reg = <0x4f>;
210*d5c082baSJoão Paulo Gonçalves	};
211*d5c082baSJoão Paulo Gonçalves
212*d5c082baSJoão Paulo Gonçalves	/* USB-C OTG (TCPC USB PD PHY) */
213*d5c082baSJoão Paulo Gonçalves	tcpc@52 {
214*d5c082baSJoão Paulo Gonçalves		compatible = "nxp,ptn5110", "tcpci";
215*d5c082baSJoão Paulo Gonçalves		reg = <0x52>;
216*d5c082baSJoão Paulo Gonçalves		interrupt-parent = <&som_gpio_expander_1>;
217*d5c082baSJoão Paulo Gonçalves		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
218*d5c082baSJoão Paulo Gonçalves
219*d5c082baSJoão Paulo Gonçalves		connector {
220*d5c082baSJoão Paulo Gonçalves			compatible = "usb-c-connector";
221*d5c082baSJoão Paulo Gonçalves			data-role = "dual";
222*d5c082baSJoão Paulo Gonçalves			op-sink-microwatt = <0>;
223*d5c082baSJoão Paulo Gonçalves			power-role = "dual";
224*d5c082baSJoão Paulo Gonçalves			self-powered;
225*d5c082baSJoão Paulo Gonçalves			sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>;
226*d5c082baSJoão Paulo Gonçalves			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
227*d5c082baSJoão Paulo Gonçalves			try-power-role = "sink";
228*d5c082baSJoão Paulo Gonçalves
229*d5c082baSJoão Paulo Gonçalves			ports {
230*d5c082baSJoão Paulo Gonçalves				#address-cells = <1>;
231*d5c082baSJoão Paulo Gonçalves				#size-cells = <0>;
232*d5c082baSJoão Paulo Gonçalves
233*d5c082baSJoão Paulo Gonçalves				port@0 {
234*d5c082baSJoão Paulo Gonçalves					reg = <0>;
235*d5c082baSJoão Paulo Gonçalves
236*d5c082baSJoão Paulo Gonçalves					typec_con_hs: endpoint {
237*d5c082baSJoão Paulo Gonçalves						remote-endpoint = <&usb1_con_hs>;
238*d5c082baSJoão Paulo Gonçalves					};
239*d5c082baSJoão Paulo Gonçalves				};
240*d5c082baSJoão Paulo Gonçalves
241*d5c082baSJoão Paulo Gonçalves				port@1 {
242*d5c082baSJoão Paulo Gonçalves					reg = <1>;
243*d5c082baSJoão Paulo Gonçalves
244*d5c082baSJoão Paulo Gonçalves					typec_con_ss: endpoint {
245*d5c082baSJoão Paulo Gonçalves						remote-endpoint = <&usb1_con_ss>;
246*d5c082baSJoão Paulo Gonçalves					};
247*d5c082baSJoão Paulo Gonçalves				};
248*d5c082baSJoão Paulo Gonçalves			};
249*d5c082baSJoão Paulo Gonçalves		};
250*d5c082baSJoão Paulo Gonçalves	};
251*d5c082baSJoão Paulo Gonçalves
252*d5c082baSJoão Paulo Gonçalves	carrier_eeprom: eeprom@57 {
253*d5c082baSJoão Paulo Gonçalves		compatible = "st,24c02", "atmel,24c02";
254*d5c082baSJoão Paulo Gonçalves		reg = <0x57>;
255*d5c082baSJoão Paulo Gonçalves		pagesize = <16>;
256*d5c082baSJoão Paulo Gonçalves	};
257*d5c082baSJoão Paulo Gonçalves};
258*d5c082baSJoão Paulo Gonçalves
259*d5c082baSJoão Paulo Gonçalves/* Aquila I2C_2 */
260*d5c082baSJoão Paulo Gonçalves&i3c2 {
261*d5c082baSJoão Paulo Gonçalves	status = "okay";
262*d5c082baSJoão Paulo Gonçalves};
263*d5c082baSJoão Paulo Gonçalves
264*d5c082baSJoão Paulo Gonçalves/* Aquila I2C_4_CSI1 */
265*d5c082baSJoão Paulo Gonçalves&lpi2c4 {
266*d5c082baSJoão Paulo Gonçalves	status = "okay";
267*d5c082baSJoão Paulo Gonçalves};
268*d5c082baSJoão Paulo Gonçalves
269*d5c082baSJoão Paulo Gonçalves/* Aquila I2C_6 */
270*d5c082baSJoão Paulo Gonçalves&lpi2c5 {
271*d5c082baSJoão Paulo Gonçalves	status = "okay";
272*d5c082baSJoão Paulo Gonçalves};
273*d5c082baSJoão Paulo Gonçalves
274*d5c082baSJoão Paulo Gonçalves/* Aquila I2C_3_DSI1/I2C_5_CSI2 */
275*d5c082baSJoão Paulo Gonçalves&lpi2c8 {
276*d5c082baSJoão Paulo Gonçalves	status = "okay";
277*d5c082baSJoão Paulo Gonçalves
278*d5c082baSJoão Paulo Gonçalves	i2c-mux@70 {
279*d5c082baSJoão Paulo Gonçalves		compatible = "nxp,pca9543";
280*d5c082baSJoão Paulo Gonçalves		reg = <0x70>;
281*d5c082baSJoão Paulo Gonçalves		#address-cells = <1>;
282*d5c082baSJoão Paulo Gonçalves		#size-cells = <0>;
283*d5c082baSJoão Paulo Gonçalves
284*d5c082baSJoão Paulo Gonçalves		/* I2C on DSI Connector Pin #4 and #6 */
285*d5c082baSJoão Paulo Gonçalves		i2c_dsi_0: i2c@0 {
286*d5c082baSJoão Paulo Gonçalves			reg = <0>;
287*d5c082baSJoão Paulo Gonçalves			#address-cells = <1>;
288*d5c082baSJoão Paulo Gonçalves			#size-cells = <0>;
289*d5c082baSJoão Paulo Gonçalves		};
290*d5c082baSJoão Paulo Gonçalves
291*d5c082baSJoão Paulo Gonçalves		/* I2C on DSI Connector Pin #52 and #54 */
292*d5c082baSJoão Paulo Gonçalves		i2c_dsi_1: i2c@1 {
293*d5c082baSJoão Paulo Gonçalves			reg = <1>;
294*d5c082baSJoão Paulo Gonçalves			#address-cells = <1>;
295*d5c082baSJoão Paulo Gonçalves			#size-cells = <0>;
296*d5c082baSJoão Paulo Gonçalves		};
297*d5c082baSJoão Paulo Gonçalves	};
298*d5c082baSJoão Paulo Gonçalves};
299*d5c082baSJoão Paulo Gonçalves
300*d5c082baSJoão Paulo Gonçalves/* Aquila SPI_1 */
301*d5c082baSJoão Paulo Gonçalves&lpspi6 {
302*d5c082baSJoão Paulo Gonçalves	status = "okay";
303*d5c082baSJoão Paulo Gonçalves};
304*d5c082baSJoão Paulo Gonçalves
305*d5c082baSJoão Paulo Gonçalves/* Aquila UART_3, used as the Linux Console */
306*d5c082baSJoão Paulo Gonçalves&lpuart1 {
307*d5c082baSJoão Paulo Gonçalves	status = "okay";
308*d5c082baSJoão Paulo Gonçalves};
309*d5c082baSJoão Paulo Gonçalves
310*d5c082baSJoão Paulo Gonçalves/* Aquila UART_4 */
311*d5c082baSJoão Paulo Gonçalves&lpuart2 {
312*d5c082baSJoão Paulo Gonçalves	status = "okay";
313*d5c082baSJoão Paulo Gonçalves};
314*d5c082baSJoão Paulo Gonçalves
315*d5c082baSJoão Paulo Gonçalves/* Aquila UART_1 */
316*d5c082baSJoão Paulo Gonçalves&lpuart3 {
317*d5c082baSJoão Paulo Gonçalves	status = "okay";
318*d5c082baSJoão Paulo Gonçalves};
319*d5c082baSJoão Paulo Gonçalves
320*d5c082baSJoão Paulo Gonçalves/* Aquila UART_2 as RS485 */
321*d5c082baSJoão Paulo Gonçalves&lpuart7 {
322*d5c082baSJoão Paulo Gonçalves	linux,rs485-enabled-at-boot-time;
323*d5c082baSJoão Paulo Gonçalves	rs485-rts-active-low;
324*d5c082baSJoão Paulo Gonçalves	rs485-rx-during-tx;
325*d5c082baSJoão Paulo Gonçalves
326*d5c082baSJoão Paulo Gonçalves	status = "okay";
327*d5c082baSJoão Paulo Gonçalves};
328*d5c082baSJoão Paulo Gonçalves
329*d5c082baSJoão Paulo Gonçalves/* Aquila PCIE_1 */
330*d5c082baSJoão Paulo Gonçalves&pcie0 {
331*d5c082baSJoão Paulo Gonçalves	status = "okay";
332*d5c082baSJoão Paulo Gonçalves};
333*d5c082baSJoão Paulo Gonçalves
334*d5c082baSJoão Paulo Gonçalves/* Aquila I2S_1 */
335*d5c082baSJoão Paulo Gonçalves&sai2 {
336*d5c082baSJoão Paulo Gonçalves	status = "okay";
337*d5c082baSJoão Paulo Gonçalves};
338*d5c082baSJoão Paulo Gonçalves
339*d5c082baSJoão Paulo Gonçalves/* Aquila PWM_1 */
340*d5c082baSJoão Paulo Gonçalves&tpm3 {
341*d5c082baSJoão Paulo Gonçalves	status = "okay";
342*d5c082baSJoão Paulo Gonçalves};
343*d5c082baSJoão Paulo Gonçalves
344*d5c082baSJoão Paulo Gonçalves/* Aquila PWM_2 */
345*d5c082baSJoão Paulo Gonçalves&tpm6 {
346*d5c082baSJoão Paulo Gonçalves	status = "okay";
347*d5c082baSJoão Paulo Gonçalves};
348*d5c082baSJoão Paulo Gonçalves
349*d5c082baSJoão Paulo Gonçalves/* Aquila PWM_3_DSI and PWM_4_DP */
350*d5c082baSJoão Paulo Gonçalves&tpm5 {
351*d5c082baSJoão Paulo Gonçalves	status = "okay";
352*d5c082baSJoão Paulo Gonçalves};
353*d5c082baSJoão Paulo Gonçalves
354*d5c082baSJoão Paulo Gonçalves/* Aquila USB_2, optional Bluetooth USB */
355*d5c082baSJoão Paulo Gonçalves&usb2 {
356*d5c082baSJoão Paulo Gonçalves	status = "okay";
357*d5c082baSJoão Paulo Gonçalves};
358*d5c082baSJoão Paulo Gonçalves
359*d5c082baSJoão Paulo Gonçalves/* Aquila USB_1 */
360*d5c082baSJoão Paulo Gonçalves&usb3 {
361*d5c082baSJoão Paulo Gonçalves	status = "okay";
362*d5c082baSJoão Paulo Gonçalves};
363*d5c082baSJoão Paulo Gonçalves
364*d5c082baSJoão Paulo Gonçalves&usb3_dwc3 {
365*d5c082baSJoão Paulo Gonçalves	status = "okay";
366*d5c082baSJoão Paulo Gonçalves
367*d5c082baSJoão Paulo Gonçalves	port {
368*d5c082baSJoão Paulo Gonçalves		usb1_con_hs: endpoint {
369*d5c082baSJoão Paulo Gonçalves			remote-endpoint = <&typec_con_hs>;
370*d5c082baSJoão Paulo Gonçalves		};
371*d5c082baSJoão Paulo Gonçalves	};
372*d5c082baSJoão Paulo Gonçalves};
373*d5c082baSJoão Paulo Gonçalves
374*d5c082baSJoão Paulo Gonçalves&usb3_phy {
375*d5c082baSJoão Paulo Gonçalves	orientation-switch;
376*d5c082baSJoão Paulo Gonçalves
377*d5c082baSJoão Paulo Gonçalves	status = "okay";
378*d5c082baSJoão Paulo Gonçalves
379*d5c082baSJoão Paulo Gonçalves	port {
380*d5c082baSJoão Paulo Gonçalves		usb1_con_ss: endpoint {
381*d5c082baSJoão Paulo Gonçalves			remote-endpoint = <&typec_con_ss>;
382*d5c082baSJoão Paulo Gonçalves		};
383*d5c082baSJoão Paulo Gonçalves	};
384*d5c082baSJoão Paulo Gonçalves};
385*d5c082baSJoão Paulo Gonçalves
386*d5c082baSJoão Paulo Gonçalves/* Aquila SD_1 */
387*d5c082baSJoão Paulo Gonçalves&usdhc2 {
388*d5c082baSJoão Paulo Gonçalves	status = "okay";
389*d5c082baSJoão Paulo Gonçalves};
390