xref: /linux/scripts/dtc/include-prefixes/arm64/ti/k3-am69-aquila-clover.dts (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright (C) 2025 Toradex
4 *
5 * https://www.toradex.com/computer-on-modules/aquila-arm-family/ti-am69
6 * https://www.toradex.com/products/carrier-board/clover
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/pwm/pwm.h>
12#include "k3-am69-aquila.dtsi"
13
14/ {
15	model = "Toradex Aquila AM69 on Clover Board";
16	compatible = "toradex,aquila-am69-clover",
17		     "toradex,aquila-am69",
18		     "ti,j784s4";
19
20	aliases {
21		eeprom1 = &carrier_eeprom;
22	};
23
24	reg_3v3_dp: regulator-3v3-dp {
25		compatible = "regulator-fixed";
26		pinctrl-names = "default";
27		pinctrl-0 = <&pinctrl_gpio_21_dp>;
28		/* Aquila GPIO_21_DP (AQUILA B57) */
29		gpio = <&main_gpio0 37 GPIO_ACTIVE_HIGH>;
30		enable-active-high;
31		regulator-max-microvolt = <3300000>;
32		regulator-min-microvolt = <3300000>;
33		regulator-name = "DP_3V3";
34		startup-delay-us = <10000>;
35	};
36
37	/* Aquila DP_1 */
38	dp-connector {
39		compatible = "dp-connector";
40		dp-pwr-supply = <&reg_3v3_dp>;
41		label = "Display Port";
42		type = "full-size";
43
44		port {
45			dp_connector_in: endpoint {
46				remote-endpoint = <&dp0_out>;
47			};
48		};
49	};
50};
51
52/* On-module ETH_1 MDIO */
53&davinci_mdio {
54	status = "okay";
55};
56
57&dp0_ports {
58	port@4 {
59		reg = <4>;
60		dp0_out: endpoint {
61			remote-endpoint = <&dp_connector_in>;
62		};
63	};
64};
65
66&dss {
67	status = "okay";
68};
69
70&main0_thermal {
71	cooling-maps {
72		map0 {
73			cooling-device = <&fan 1 1>;
74			trip = <&main0_alert0>;
75		};
76
77		map1 {
78			cooling-device = <&fan 2 2>;
79			trip = <&main0_alert1>;
80		};
81	};
82};
83
84&main1_thermal {
85	cooling-maps {
86		map0 {
87			cooling-device = <&fan 1 1>;
88			trip = <&main1_alert0>;
89		};
90
91		map1 {
92			cooling-device = <&fan 2 2>;
93			trip = <&main1_alert1>;
94		};
95	};
96};
97
98&main2_thermal {
99	cooling-maps {
100		map0 {
101			cooling-device = <&fan 1 1>;
102			trip = <&main2_alert0>;
103		};
104
105		map1 {
106			cooling-device = <&fan 2 2>;
107			trip = <&main2_alert1>;
108		};
109	};
110};
111
112&main3_thermal {
113	cooling-maps {
114		map0 {
115			cooling-device = <&fan 1 1>;
116			trip = <&main3_alert0>;
117		};
118
119		map1 {
120			cooling-device = <&fan 2 2>;
121			trip = <&main3_alert1>;
122		};
123	};
124};
125
126&main4_thermal {
127	cooling-maps {
128		map0 {
129			cooling-device = <&fan 1 1>;
130			trip = <&main4_alert0>;
131		};
132
133		map1 {
134			cooling-device = <&fan 2 2>;
135			trip = <&main4_alert1>;
136		};
137	};
138};
139
140/* Aquila ETH_2 */
141&main_cpsw0 {
142	status = "okay";
143};
144
145/* Aquila ETH_2 SGMII PHY */
146&main_cpsw0_port8  {
147	phy-handle = <&cpsw0_port8_phy4>;
148	status = "okay";
149};
150
151/* Aquila ETH_2_XGMII_MDIO */
152&main_cpsw0_mdio {
153	status = "okay";
154
155	cpsw0_port8_phy4: ethernet-phy@4 {
156		reg = <4>;
157		pinctrl-names = "default";
158		pinctrl-0 = <&pinctrl_eth2_int>;
159		interrupt-parent = <&main_gpio0>;
160		interrupts = <44 IRQ_TYPE_EDGE_FALLING>;
161	};
162};
163
164/* Aquila PWM_1 */
165&main_ehrpwm0 {
166	status = "okay";
167};
168
169/* Aquila PWM_2 */
170&main_ehrpwm1 {
171	status = "okay";
172};
173
174&main_gpio0 {
175	pinctrl-names = "default";
176	pinctrl-0 = <&pinctrl_gpio_01>, /* Aquila GPIO_01 */
177		    <&pinctrl_gpio_02>, /* Aquila GPIO_02 */
178		    <&pinctrl_gpio_03>; /* Aquila GPIO_03 */
179};
180
181/* Aquila I2C_6 */
182&main_i2c5 {
183	status = "okay";
184};
185
186/* Aquila CAN_1 */
187&main_mcan10 {
188	status = "okay";
189};
190
191/* Aquila CAN_3 */
192&main_mcan13 {
193	status = "okay";
194};
195
196/* Aquila SD_1 */
197&main_sdhci1 {
198	status = "okay";
199};
200
201/* Aquila SPI_2 */
202&main_spi0 {
203	status = "okay";
204};
205
206/* Aquila SPI_1 */
207&main_spi2 {
208	pinctrl-0 = <&pinctrl_main_spi2>,
209		    <&pinctrl_main_spi2_cs0>,
210		    <&pinctrl_gpio_05>;
211	cs-gpios = <0>, <&wkup_gpio0 29 GPIO_ACTIVE_LOW>;
212	status = "okay";
213
214	tpm@1 {
215		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
216		reg = <1>;
217		pinctrl-names = "default";
218		pinctrl-0 = <&pinctrl_gpio_06>;
219		interrupt-parent = <&wkup_gpio0>;
220		interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
221		spi-max-frequency = <18500000>;
222	};
223};
224
225/* Aquila UART_1 */
226&main_uart4 {
227	status = "okay";
228};
229
230/* Aquila UART_3, used as the Linux console */
231&main_uart8 {
232	status = "okay";
233};
234
235&mcu_cpsw {
236	status = "okay";
237};
238
239/* On-module ETH_1 RGMII */
240&mcu_cpsw_port1 {
241	status = "okay";
242};
243
244/* Aquila I2C_1 */
245&mcu_i2c0 {
246	clock-frequency = <100000>;
247	status = "okay";
248
249	fan_controller: fan@18 {
250		compatible = "ti,amc6821";
251		reg = <0x18>;
252		#pwm-cells = <2>;
253
254		fan: fan {
255			cooling-levels = <102 179 255>;
256			#cooling-cells = <2>;
257			pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>;
258		};
259	};
260
261	temperature-sensor@4f {
262		compatible = "ti,tmp1075";
263		reg = <0x4f>;
264	};
265
266	/* USB-C OTG (TCPC USB PD PHY) */
267	tcpc@52 {
268		compatible = "nxp,ptn5110", "tcpci";
269		reg = <0x52>;
270		pinctrl-names = "default";
271		pinctrl-0 = <&pinctrl_usb1_int>;
272		interrupt-parent = <&main_gpio0>;
273		interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
274
275		connector {
276			compatible = "usb-c-connector";
277			data-role = "dual";
278			label = "USB-C OTG";
279			power-role = "dual";
280			try-power-role = "sink";
281			self-powered;
282			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
283			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
284			op-sink-microwatt = <1000000>;
285
286			ports {
287				#address-cells = <1>;
288				#size-cells = <0>;
289
290				port@0 {
291					reg = <0>;
292
293					usb_1_con_hs: endpoint {
294						remote-endpoint = <&usb0_hs>;
295					};
296				};
297
298				port@1 {
299					reg = <1>;
300
301					usb_1_con_ss: endpoint {
302						remote-endpoint = <&usb0_ss_mux>;
303					};
304				};
305			};
306		};
307	};
308
309	carrier_eeprom: eeprom@57 {
310		compatible = "st,24c02", "atmel,24c02";
311		reg = <0x57>;
312		pagesize = <16>;
313	};
314};
315
316/* Aquila I2C_2 */
317&mcu_i2c1 {
318	status = "okay";
319};
320
321/* Aquila CAN_2 */
322&mcu_mcan0 {
323	status = "okay";
324};
325
326/* Aquila CAN_4 */
327&mcu_mcan1 {
328	status = "okay";
329};
330
331/* Aquila UART_4 */
332&mcu_uart0 {
333	status = "okay";
334};
335
336&mhdp {
337	status = "okay";
338};
339
340/* Aquila QSPI_1 */
341&ospi0 {
342	pinctrl-names = "default";
343	pinctrl-0 = <&pinctrl_mcu_ospi0_4bit>, <&pinctrl_mcu_ospi0_cs0>;
344	status = "okay";
345
346	flash@0 {
347		compatible = "jedec,spi-nor";
348		reg = <0>;
349		spi-max-frequency = <66000000>;
350		spi-rx-bus-width = <4>;
351		spi-tx-bus-width = <4>;
352		cdns,read-delay = <0>;
353		cdns,tchsh-ns = <3>;
354		cdns,tsd2d-ns = <10>;
355		cdns,tshsl-ns = <30>;
356		cdns,tslch-ns = <8>;
357	};
358};
359
360/* Aquila PCIE_1 */
361&pcie0_rc {
362	status = "okay";
363};
364
365/* Aquila PCIE_2 */
366&pcie1_rc {
367	status = "okay";
368};
369
370&serdes2 {
371	status = "okay";
372};
373
374&serdes4 {
375	status = "okay";
376};
377
378&serdes_wiz2 {
379	status = "okay";
380};
381
382&serdes_wiz4 {
383	status = "okay";
384};
385
386/* Aquila ADC_[1-4] */
387&tscadc0 {
388	status = "okay";
389};
390
391&usbss0 {
392	status = "okay";
393};
394
395&usb0ss_mux {
396	status = "okay";
397
398	port {
399		usb0_ss_mux: endpoint {
400			remote-endpoint = <&usb_1_con_ss>;
401		};
402	};
403};
404
405&usb0 {
406	status = "okay";
407
408	port {
409		usb0_hs: endpoint {
410			remote-endpoint = <&usb_1_con_hs>;
411		};
412	};
413};
414
415&wkup0_thermal {
416	cooling-maps {
417		map0 {
418			cooling-device = <&fan 1 1>;
419			trip = <&wkup0_alert0>;
420		};
421
422		map1 {
423			cooling-device = <&fan 2 2>;
424			trip = <&wkup0_alert1>;
425		};
426	};
427};
428
429&wkup1_thermal {
430	cooling-maps {
431		map0 {
432			cooling-device = <&fan 1 1>;
433			trip = <&wkup1_alert0>;
434		};
435
436		map1 {
437			cooling-device = <&fan 2 2>;
438			trip = <&wkup1_alert1>;
439		};
440	};
441};
442
443&wkup_gpio0 {
444	pinctrl-names = "default";
445	pinctrl-0 = <&pinctrl_gpio_04>; /* Aquila GPIO_04 */
446};
447
448/* Aquila UART_2 */
449&wkup_uart0 {
450	status = "okay";
451};
452