xref: /linux/scripts/dtc/include-prefixes/arm64/freescale/imx95-aquila-clover.dts (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*3f519121SAntoine Gouby// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*3f519121SAntoine Gouby/*
3*3f519121SAntoine Gouby * Copyright (c) Toradex
4*3f519121SAntoine Gouby *
5*3f519121SAntoine Gouby * https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95
6*3f519121SAntoine Gouby * https://www.toradex.com/products/carrier-board/clover
7*3f519121SAntoine Gouby */
8*3f519121SAntoine Gouby
9*3f519121SAntoine Gouby/dts-v1/;
10*3f519121SAntoine Gouby
11*3f519121SAntoine Gouby#include <dt-bindings/pwm/pwm.h>
12*3f519121SAntoine Gouby#include <dt-bindings/usb/pd.h>
13*3f519121SAntoine Gouby#include "imx95-aquila.dtsi"
14*3f519121SAntoine Gouby
15*3f519121SAntoine Gouby/ {
16*3f519121SAntoine Gouby	model = "Aquila iMX95 on Aquila Clover Board";
17*3f519121SAntoine Gouby	compatible = "toradex,aquila-imx95-clover",
18*3f519121SAntoine Gouby		     "toradex,aquila-imx95",
19*3f519121SAntoine Gouby		     "fsl,imx95";
20*3f519121SAntoine Gouby
21*3f519121SAntoine Gouby	aliases {
22*3f519121SAntoine Gouby		eeprom1 = &carrier_eeprom;
23*3f519121SAntoine Gouby	};
24*3f519121SAntoine Gouby
25*3f519121SAntoine Gouby	dp_1_connector: dp0-connector {
26*3f519121SAntoine Gouby		compatible = "dp-connector";
27*3f519121SAntoine Gouby		dp-pwr-supply = <&reg_dp_3p3v>;
28*3f519121SAntoine Gouby		type = "full-size";
29*3f519121SAntoine Gouby
30*3f519121SAntoine Gouby		port {
31*3f519121SAntoine Gouby			dp_1_connector_in: endpoint {
32*3f519121SAntoine Gouby				remote-endpoint = <&dsi2dp_out>;
33*3f519121SAntoine Gouby			};
34*3f519121SAntoine Gouby		};
35*3f519121SAntoine Gouby	};
36*3f519121SAntoine Gouby
37*3f519121SAntoine Gouby	reg_dp_3p3v: regulator-dp-3p3v {
38*3f519121SAntoine Gouby		compatible = "regulator-fixed";
39*3f519121SAntoine Gouby		pinctrl-names = "default";
40*3f519121SAntoine Gouby		pinctrl-0 = <&pinctrl_gpio_21_dp>;
41*3f519121SAntoine Gouby		/* Aquila GPIO_21_DP */
42*3f519121SAntoine Gouby		gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
43*3f519121SAntoine Gouby		enable-active-high;
44*3f519121SAntoine Gouby		regulator-max-microvolt = <3300000>;
45*3f519121SAntoine Gouby		regulator-min-microvolt = <3300000>;
46*3f519121SAntoine Gouby		regulator-name = "DP_3V3";
47*3f519121SAntoine Gouby		startup-delay-us = <10000>;
48*3f519121SAntoine Gouby	};
49*3f519121SAntoine Gouby};
50*3f519121SAntoine Gouby
51*3f519121SAntoine Gouby/* Aquila ADC_[1-4] */
52*3f519121SAntoine Gouby&adc1 {
53*3f519121SAntoine Gouby	status = "okay";
54*3f519121SAntoine Gouby};
55*3f519121SAntoine Gouby
56*3f519121SAntoine Gouby/* Aquila CTRL_WAKE1_MICO# */
57*3f519121SAntoine Gouby&aquila_key_wake {
58*3f519121SAntoine Gouby	status = "okay";
59*3f519121SAntoine Gouby};
60*3f519121SAntoine Gouby
61*3f519121SAntoine Gouby&dsi2dp_out {
62*3f519121SAntoine Gouby	remote-endpoint = <&dp_1_connector_in>;
63*3f519121SAntoine Gouby};
64*3f519121SAntoine Gouby
65*3f519121SAntoine Gouby/* Aquila ETH_1 */
66*3f519121SAntoine Gouby&enetc_port0 {
67*3f519121SAntoine Gouby	status = "okay";
68*3f519121SAntoine Gouby};
69*3f519121SAntoine Gouby
70*3f519121SAntoine Gouby/* Aquila CAN_1 */
71*3f519121SAntoine Gouby&flexcan1 {
72*3f519121SAntoine Gouby	status = "okay";
73*3f519121SAntoine Gouby};
74*3f519121SAntoine Gouby
75*3f519121SAntoine Gouby/* Aquila CAN_2 */
76*3f519121SAntoine Gouby&flexcan2 {
77*3f519121SAntoine Gouby	status = "okay";
78*3f519121SAntoine Gouby};
79*3f519121SAntoine Gouby
80*3f519121SAntoine Gouby/* Aquila CAN_3 */
81*3f519121SAntoine Gouby&flexcan3 {
82*3f519121SAntoine Gouby	status = "okay";
83*3f519121SAntoine Gouby};
84*3f519121SAntoine Gouby
85*3f519121SAntoine Gouby/* Aquila CAN_4 */
86*3f519121SAntoine Gouby&flexcan4 {
87*3f519121SAntoine Gouby	status = "okay";
88*3f519121SAntoine Gouby};
89*3f519121SAntoine Gouby
90*3f519121SAntoine Gouby/* Aquila QSPI_1 */
91*3f519121SAntoine Gouby&flexspi1 {
92*3f519121SAntoine Gouby	pinctrl-0 = <&pinctrl_flexspi1_4bit>,
93*3f519121SAntoine Gouby		    <&pinctrl_qspi_cs1>;
94*3f519121SAntoine Gouby
95*3f519121SAntoine Gouby	status = "okay";
96*3f519121SAntoine Gouby
97*3f519121SAntoine Gouby	flash@0 {
98*3f519121SAntoine Gouby		compatible = "jedec,spi-nor";
99*3f519121SAntoine Gouby		reg = <0x0>;
100*3f519121SAntoine Gouby		spi-max-frequency = <66000000>;
101*3f519121SAntoine Gouby		spi-rx-bus-width = <4>;
102*3f519121SAntoine Gouby		spi-tx-bus-width = <4>;
103*3f519121SAntoine Gouby	};
104*3f519121SAntoine Gouby};
105*3f519121SAntoine Gouby
106*3f519121SAntoine Gouby&gpio4 {
107*3f519121SAntoine Gouby	pinctrl-names = "default";
108*3f519121SAntoine Gouby	pinctrl-0 = <&pinctrl_gpio_1>,
109*3f519121SAntoine Gouby		    <&pinctrl_gpio_2>,
110*3f519121SAntoine Gouby		    <&pinctrl_gpio_3>,
111*3f519121SAntoine Gouby		    <&pinctrl_gpio_4>;
112*3f519121SAntoine Gouby};
113*3f519121SAntoine Gouby
114*3f519121SAntoine Gouby/* Aquila I2C_2 */
115*3f519121SAntoine Gouby&i3c2 {
116*3f519121SAntoine Gouby	status = "okay";
117*3f519121SAntoine Gouby};
118*3f519121SAntoine Gouby
119*3f519121SAntoine Gouby/* Aquila I2C_1 */
120*3f519121SAntoine Gouby&lpi2c2 {
121*3f519121SAntoine Gouby	status = "okay";
122*3f519121SAntoine Gouby
123*3f519121SAntoine Gouby	fan_controller: fan@18 {
124*3f519121SAntoine Gouby		compatible = "ti,amc6821";
125*3f519121SAntoine Gouby		reg = <0x18>;
126*3f519121SAntoine Gouby		#pwm-cells = <2>;
127*3f519121SAntoine Gouby
128*3f519121SAntoine Gouby		fan {
129*3f519121SAntoine Gouby			cooling-levels = <255>;
130*3f519121SAntoine Gouby			pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>;
131*3f519121SAntoine Gouby		};
132*3f519121SAntoine Gouby	};
133*3f519121SAntoine Gouby
134*3f519121SAntoine Gouby	temperature-sensor@4f {
135*3f519121SAntoine Gouby		compatible = "ti,tmp1075";
136*3f519121SAntoine Gouby		reg = <0x4f>;
137*3f519121SAntoine Gouby	};
138*3f519121SAntoine Gouby
139*3f519121SAntoine Gouby	/* USB-C OTG (TCPC USB PD PHY) */
140*3f519121SAntoine Gouby	tcpc@52 {
141*3f519121SAntoine Gouby		compatible = "nxp,ptn5110", "tcpci";
142*3f519121SAntoine Gouby		reg = <0x52>;
143*3f519121SAntoine Gouby		interrupt-parent = <&som_gpio_expander_1>;
144*3f519121SAntoine Gouby		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
145*3f519121SAntoine Gouby
146*3f519121SAntoine Gouby		connector {
147*3f519121SAntoine Gouby			compatible = "usb-c-connector";
148*3f519121SAntoine Gouby			data-role = "dual";
149*3f519121SAntoine Gouby			op-sink-microwatt = <0>;
150*3f519121SAntoine Gouby			power-role = "dual";
151*3f519121SAntoine Gouby			self-powered;
152*3f519121SAntoine Gouby			sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>;
153*3f519121SAntoine Gouby			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
154*3f519121SAntoine Gouby			try-power-role = "sink";
155*3f519121SAntoine Gouby
156*3f519121SAntoine Gouby			ports {
157*3f519121SAntoine Gouby				#address-cells = <1>;
158*3f519121SAntoine Gouby				#size-cells = <0>;
159*3f519121SAntoine Gouby
160*3f519121SAntoine Gouby				port@0 {
161*3f519121SAntoine Gouby					reg = <0>;
162*3f519121SAntoine Gouby
163*3f519121SAntoine Gouby					typec_con_hs: endpoint {
164*3f519121SAntoine Gouby						remote-endpoint = <&usb1_con_hs>;
165*3f519121SAntoine Gouby					};
166*3f519121SAntoine Gouby				};
167*3f519121SAntoine Gouby
168*3f519121SAntoine Gouby				port@1 {
169*3f519121SAntoine Gouby					reg = <1>;
170*3f519121SAntoine Gouby
171*3f519121SAntoine Gouby					typec_con_ss: endpoint {
172*3f519121SAntoine Gouby						remote-endpoint = <&usb1_con_ss>;
173*3f519121SAntoine Gouby					};
174*3f519121SAntoine Gouby				};
175*3f519121SAntoine Gouby			};
176*3f519121SAntoine Gouby		};
177*3f519121SAntoine Gouby	};
178*3f519121SAntoine Gouby
179*3f519121SAntoine Gouby	carrier_eeprom: eeprom@57 {
180*3f519121SAntoine Gouby		compatible = "st,24c02", "atmel,24c02";
181*3f519121SAntoine Gouby		reg = <0x57>;
182*3f519121SAntoine Gouby		pagesize = <16>;
183*3f519121SAntoine Gouby	};
184*3f519121SAntoine Gouby};
185*3f519121SAntoine Gouby
186*3f519121SAntoine Gouby/* Aquila I2C_6 */
187*3f519121SAntoine Gouby&lpi2c5 {
188*3f519121SAntoine Gouby	status = "okay";
189*3f519121SAntoine Gouby};
190*3f519121SAntoine Gouby
191*3f519121SAntoine Gouby/* Aquila SPI_1 */
192*3f519121SAntoine Gouby&lpspi6 {
193*3f519121SAntoine Gouby	pinctrl-names = "default";
194*3f519121SAntoine Gouby	pinctrl-0 = <&pinctrl_lpspi6 &pinctrl_gpio_5>;
195*3f519121SAntoine Gouby	cs-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>, <&gpio4 18 GPIO_ACTIVE_LOW>;
196*3f519121SAntoine Gouby
197*3f519121SAntoine Gouby	status = "okay";
198*3f519121SAntoine Gouby
199*3f519121SAntoine Gouby	tpm@1 {
200*3f519121SAntoine Gouby		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
201*3f519121SAntoine Gouby		reg = <1>;
202*3f519121SAntoine Gouby		pinctrl-names = "default";
203*3f519121SAntoine Gouby		pinctrl-0 = <&pinctrl_gpio_6>;
204*3f519121SAntoine Gouby		interrupt-parent = <&gpio4>;
205*3f519121SAntoine Gouby		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
206*3f519121SAntoine Gouby		spi-max-frequency = <12000000>;
207*3f519121SAntoine Gouby	};
208*3f519121SAntoine Gouby};
209*3f519121SAntoine Gouby
210*3f519121SAntoine Gouby/* Aquila UART_3, used as the Linux Console */
211*3f519121SAntoine Gouby&lpuart1 {
212*3f519121SAntoine Gouby	status = "okay";
213*3f519121SAntoine Gouby};
214*3f519121SAntoine Gouby
215*3f519121SAntoine Gouby/* Aquila UART_4 */
216*3f519121SAntoine Gouby&lpuart2 {
217*3f519121SAntoine Gouby	status = "okay";
218*3f519121SAntoine Gouby};
219*3f519121SAntoine Gouby
220*3f519121SAntoine Gouby/* Aquila UART_1 */
221*3f519121SAntoine Gouby&lpuart3 {
222*3f519121SAntoine Gouby	status = "okay";
223*3f519121SAntoine Gouby};
224*3f519121SAntoine Gouby
225*3f519121SAntoine Gouby/* Aquila UART_2 */
226*3f519121SAntoine Gouby&lpuart7 {
227*3f519121SAntoine Gouby	status = "okay";
228*3f519121SAntoine Gouby};
229*3f519121SAntoine Gouby
230*3f519121SAntoine Gouby/* Aquila PCIE_1 */
231*3f519121SAntoine Gouby&pcie0 {
232*3f519121SAntoine Gouby	status = "okay";
233*3f519121SAntoine Gouby};
234*3f519121SAntoine Gouby
235*3f519121SAntoine Gouby/* Aquila PWM_1 */
236*3f519121SAntoine Gouby&tpm3 {
237*3f519121SAntoine Gouby	status = "okay";
238*3f519121SAntoine Gouby};
239*3f519121SAntoine Gouby
240*3f519121SAntoine Gouby/* Aquila PWM_3_DSI and PWM_4_DP */
241*3f519121SAntoine Gouby&tpm5 {
242*3f519121SAntoine Gouby	status = "okay";
243*3f519121SAntoine Gouby};
244*3f519121SAntoine Gouby
245*3f519121SAntoine Gouby/* Aquila PWM_2 */
246*3f519121SAntoine Gouby&tpm6 {
247*3f519121SAntoine Gouby	status = "okay";
248*3f519121SAntoine Gouby};
249*3f519121SAntoine Gouby
250*3f519121SAntoine Gouby/* Aquila USB_2, optional Bluetooth USB */
251*3f519121SAntoine Gouby&usb2 {
252*3f519121SAntoine Gouby	status = "okay";
253*3f519121SAntoine Gouby};
254*3f519121SAntoine Gouby
255*3f519121SAntoine Gouby/* Aquila USB_1 */
256*3f519121SAntoine Gouby&usb3 {
257*3f519121SAntoine Gouby	status = "okay";
258*3f519121SAntoine Gouby};
259*3f519121SAntoine Gouby
260*3f519121SAntoine Gouby&usb3_dwc3 {
261*3f519121SAntoine Gouby	status = "okay";
262*3f519121SAntoine Gouby
263*3f519121SAntoine Gouby	port {
264*3f519121SAntoine Gouby		usb1_con_hs: endpoint {
265*3f519121SAntoine Gouby			remote-endpoint = <&typec_con_hs>;
266*3f519121SAntoine Gouby		};
267*3f519121SAntoine Gouby	};
268*3f519121SAntoine Gouby};
269*3f519121SAntoine Gouby
270*3f519121SAntoine Gouby&usb3_phy {
271*3f519121SAntoine Gouby	orientation-switch;
272*3f519121SAntoine Gouby
273*3f519121SAntoine Gouby	status = "okay";
274*3f519121SAntoine Gouby
275*3f519121SAntoine Gouby	port {
276*3f519121SAntoine Gouby		usb1_con_ss: endpoint {
277*3f519121SAntoine Gouby			remote-endpoint = <&typec_con_ss>;
278*3f519121SAntoine Gouby		};
279*3f519121SAntoine Gouby	};
280*3f519121SAntoine Gouby};
281*3f519121SAntoine Gouby
282*3f519121SAntoine Gouby/* Aquila SD_1 */
283*3f519121SAntoine Gouby&usdhc2 {
284*3f519121SAntoine Gouby	status = "okay";
285*3f519121SAntoine Gouby};
286