xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62p-verdin-mallow.dtsi (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*ae5de77eSEmmanuel Vadot/*
3*ae5de77eSEmmanuel Vadot * Copyright 2025 Toradex
4*ae5de77eSEmmanuel Vadot *
5*ae5de77eSEmmanuel Vadot * Common dtsi for Verdin AM62P SoM on Mallow carrier board
6*ae5de77eSEmmanuel Vadot *
7*ae5de77eSEmmanuel Vadot * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
8*ae5de77eSEmmanuel Vadot * https://www.toradex.com/products/carrier-board/mallow-carrier-board
9*ae5de77eSEmmanuel Vadot */
10*ae5de77eSEmmanuel Vadot
11*ae5de77eSEmmanuel Vadot#include <dt-bindings/leds/common.h>
12*ae5de77eSEmmanuel Vadot
13*ae5de77eSEmmanuel Vadot/ {
14*ae5de77eSEmmanuel Vadot	aliases {
15*ae5de77eSEmmanuel Vadot		eeprom1 = &carrier_eeprom;
16*ae5de77eSEmmanuel Vadot	};
17*ae5de77eSEmmanuel Vadot
18*ae5de77eSEmmanuel Vadot	leds {
19*ae5de77eSEmmanuel Vadot		compatible = "gpio-leds";
20*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
21*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_qspi1_clk_gpio>,
22*ae5de77eSEmmanuel Vadot			    <&pinctrl_qspi1_cs_gpio>,
23*ae5de77eSEmmanuel Vadot			    <&pinctrl_qspi1_io0_gpio>,
24*ae5de77eSEmmanuel Vadot			    <&pinctrl_qspi1_io1_gpio>;
25*ae5de77eSEmmanuel Vadot
26*ae5de77eSEmmanuel Vadot		/* SODIMM 52 - USER_LED_1_RED */
27*ae5de77eSEmmanuel Vadot		led-0 {
28*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
29*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
30*ae5de77eSEmmanuel Vadot			function-enumerator = <1>;
31*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 0 GPIO_ACTIVE_HIGH>;
32*ae5de77eSEmmanuel Vadot		};
33*ae5de77eSEmmanuel Vadot
34*ae5de77eSEmmanuel Vadot		/* SODIMM 54 - USER_LED_1_GREEN */
35*ae5de77eSEmmanuel Vadot		led-1 {
36*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
37*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
38*ae5de77eSEmmanuel Vadot			function-enumerator = <1>;
39*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 11 GPIO_ACTIVE_HIGH>;
40*ae5de77eSEmmanuel Vadot		};
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadot		/* SODIMM 56 - USER_LED_2_RED */
43*ae5de77eSEmmanuel Vadot		led-2 {
44*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
45*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
46*ae5de77eSEmmanuel Vadot			function-enumerator = <2>;
47*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 3 GPIO_ACTIVE_HIGH>;
48*ae5de77eSEmmanuel Vadot		};
49*ae5de77eSEmmanuel Vadot
50*ae5de77eSEmmanuel Vadot		/* SODIMM 58 - USER_LED_2_GREEN */
51*ae5de77eSEmmanuel Vadot		led-3 {
52*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
53*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
54*ae5de77eSEmmanuel Vadot			function-enumerator = <2>;
55*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 4 GPIO_ACTIVE_HIGH>;
56*ae5de77eSEmmanuel Vadot		};
57*ae5de77eSEmmanuel Vadot	};
58*ae5de77eSEmmanuel Vadot};
59*ae5de77eSEmmanuel Vadot
60*ae5de77eSEmmanuel Vadot/* Verdin ETHs */
61*ae5de77eSEmmanuel Vadot&cpsw3g {
62*ae5de77eSEmmanuel Vadot	status = "okay";
63*ae5de77eSEmmanuel Vadot};
64*ae5de77eSEmmanuel Vadot
65*ae5de77eSEmmanuel Vadot/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
66*ae5de77eSEmmanuel Vadot&cpsw3g_mdio {
67*ae5de77eSEmmanuel Vadot	status = "okay";
68*ae5de77eSEmmanuel Vadot};
69*ae5de77eSEmmanuel Vadot
70*ae5de77eSEmmanuel Vadot/* Verdin ETH_1 (On-module PHY) */
71*ae5de77eSEmmanuel Vadot&cpsw_port1 {
72*ae5de77eSEmmanuel Vadot	status = "okay";
73*ae5de77eSEmmanuel Vadot};
74*ae5de77eSEmmanuel Vadot
75*ae5de77eSEmmanuel Vadot/* Verdin PWM_3_DSI */
76*ae5de77eSEmmanuel Vadot&epwm0 {
77*ae5de77eSEmmanuel Vadot	status = "okay";
78*ae5de77eSEmmanuel Vadot};
79*ae5de77eSEmmanuel Vadot
80*ae5de77eSEmmanuel Vadot/* Verdin PWM_1, PWM_2 */
81*ae5de77eSEmmanuel Vadot&epwm2 {
82*ae5de77eSEmmanuel Vadot	status = "okay";
83*ae5de77eSEmmanuel Vadot};
84*ae5de77eSEmmanuel Vadot
85*ae5de77eSEmmanuel Vadot&main_gpio0 {
86*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
87*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pcie_1_reset>,
88*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_5>,
89*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_6>,
90*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_7>,
91*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_8>;
92*ae5de77eSEmmanuel Vadot};
93*ae5de77eSEmmanuel Vadot
94*ae5de77eSEmmanuel Vadot/* Verdin I2C_1 */
95*ae5de77eSEmmanuel Vadot&main_i2c0 {
96*ae5de77eSEmmanuel Vadot	status = "okay";
97*ae5de77eSEmmanuel Vadot
98*ae5de77eSEmmanuel Vadot	temperature-sensor@4f {
99*ae5de77eSEmmanuel Vadot		compatible = "ti,tmp1075";
100*ae5de77eSEmmanuel Vadot		reg = <0x4f>;
101*ae5de77eSEmmanuel Vadot	};
102*ae5de77eSEmmanuel Vadot
103*ae5de77eSEmmanuel Vadot	carrier_eeprom: eeprom@57 {
104*ae5de77eSEmmanuel Vadot		compatible = "st,24c02", "atmel,24c02";
105*ae5de77eSEmmanuel Vadot		reg = <0x57>;
106*ae5de77eSEmmanuel Vadot		pagesize = <16>;
107*ae5de77eSEmmanuel Vadot	};
108*ae5de77eSEmmanuel Vadot};
109*ae5de77eSEmmanuel Vadot
110*ae5de77eSEmmanuel Vadot/* Verdin I2C_2_DSI */
111*ae5de77eSEmmanuel Vadot&main_i2c1 {
112*ae5de77eSEmmanuel Vadot	status = "okay";
113*ae5de77eSEmmanuel Vadot};
114*ae5de77eSEmmanuel Vadot
115*ae5de77eSEmmanuel Vadot/* Verdin I2C_4_CSI */
116*ae5de77eSEmmanuel Vadot&main_i2c3 {
117*ae5de77eSEmmanuel Vadot	status = "okay";
118*ae5de77eSEmmanuel Vadot};
119*ae5de77eSEmmanuel Vadot
120*ae5de77eSEmmanuel Vadot/* Verdin CAN_1 */
121*ae5de77eSEmmanuel Vadot&main_mcan0 {
122*ae5de77eSEmmanuel Vadot	status = "okay";
123*ae5de77eSEmmanuel Vadot};
124*ae5de77eSEmmanuel Vadot
125*ae5de77eSEmmanuel Vadot/* Verdin SPI_1 */
126*ae5de77eSEmmanuel Vadot&main_spi1 {
127*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_main_spi1>,
128*ae5de77eSEmmanuel Vadot		    <&pinctrl_main_spi1_cs0>,
129*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_cs2_gpio>;
130*ae5de77eSEmmanuel Vadot	cs-gpios = <0>, <&main_gpio0 12 GPIO_ACTIVE_LOW>;
131*ae5de77eSEmmanuel Vadot	status = "okay";
132*ae5de77eSEmmanuel Vadot
133*ae5de77eSEmmanuel Vadot	tpm@1 {
134*ae5de77eSEmmanuel Vadot		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
135*ae5de77eSEmmanuel Vadot		reg = <1>;
136*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
137*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_qspi1_dqs_gpio>;
138*ae5de77eSEmmanuel Vadot		interrupt-parent = <&main_gpio0>;
139*ae5de77eSEmmanuel Vadot		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
140*ae5de77eSEmmanuel Vadot		spi-max-frequency = <18500000>;
141*ae5de77eSEmmanuel Vadot	};
142*ae5de77eSEmmanuel Vadot};
143*ae5de77eSEmmanuel Vadot
144*ae5de77eSEmmanuel Vadot/* Verdin UART_3, used as the Linux console */
145*ae5de77eSEmmanuel Vadot&main_uart0 {
146*ae5de77eSEmmanuel Vadot	status = "okay";
147*ae5de77eSEmmanuel Vadot};
148*ae5de77eSEmmanuel Vadot
149*ae5de77eSEmmanuel Vadot/* Verdin UART_1 */
150*ae5de77eSEmmanuel Vadot&main_uart1 {
151*ae5de77eSEmmanuel Vadot	status = "okay";
152*ae5de77eSEmmanuel Vadot};
153*ae5de77eSEmmanuel Vadot
154*ae5de77eSEmmanuel Vadot&mcu_gpio0 {
155*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
156*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_gpio_1>,
157*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_2>,
158*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_3>,
159*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_4>;
160*ae5de77eSEmmanuel Vadot};
161*ae5de77eSEmmanuel Vadot
162*ae5de77eSEmmanuel Vadot/* Verdin I2C_3_HDMI */
163*ae5de77eSEmmanuel Vadot&mcu_i2c0 {
164*ae5de77eSEmmanuel Vadot	status = "okay";
165*ae5de77eSEmmanuel Vadot};
166*ae5de77eSEmmanuel Vadot
167*ae5de77eSEmmanuel Vadot/* Verdin CAN_2 */
168*ae5de77eSEmmanuel Vadot&mcu_mcan0 {
169*ae5de77eSEmmanuel Vadot	status = "okay";
170*ae5de77eSEmmanuel Vadot};
171*ae5de77eSEmmanuel Vadot
172*ae5de77eSEmmanuel Vadot/* Verdin UART_4 */
173*ae5de77eSEmmanuel Vadot&mcu_uart0 {
174*ae5de77eSEmmanuel Vadot	status = "okay";
175*ae5de77eSEmmanuel Vadot};
176*ae5de77eSEmmanuel Vadot
177*ae5de77eSEmmanuel Vadot/* Verdin SD_1 */
178*ae5de77eSEmmanuel Vadot&sdhci1 {
179*ae5de77eSEmmanuel Vadot	status = "okay";
180*ae5de77eSEmmanuel Vadot};
181*ae5de77eSEmmanuel Vadot
182*ae5de77eSEmmanuel Vadot/* Verdin USB_1 */
183*ae5de77eSEmmanuel Vadot&usbss0 {
184*ae5de77eSEmmanuel Vadot	status = "okay";
185*ae5de77eSEmmanuel Vadot};
186*ae5de77eSEmmanuel Vadot
187*ae5de77eSEmmanuel Vadot&usb0 {
188*ae5de77eSEmmanuel Vadot	status = "okay";
189*ae5de77eSEmmanuel Vadot};
190*ae5de77eSEmmanuel Vadot
191*ae5de77eSEmmanuel Vadot/* Verdin USB_2 */
192*ae5de77eSEmmanuel Vadot&usbss1 {
193*ae5de77eSEmmanuel Vadot	status = "okay";
194*ae5de77eSEmmanuel Vadot};
195*ae5de77eSEmmanuel Vadot
196*ae5de77eSEmmanuel Vadot&usb1 {
197*ae5de77eSEmmanuel Vadot	status = "okay";
198*ae5de77eSEmmanuel Vadot};
199*ae5de77eSEmmanuel Vadot
200*ae5de77eSEmmanuel Vadot/* Verdin CTRL_WAKE1_MICO# */
201*ae5de77eSEmmanuel Vadot&verdin_gpio_keys {
202*ae5de77eSEmmanuel Vadot	status = "okay";
203*ae5de77eSEmmanuel Vadot};
204*ae5de77eSEmmanuel Vadot
205*ae5de77eSEmmanuel Vadot/* Verdin PCIE_1_RESET# */
206*ae5de77eSEmmanuel Vadot&verdin_pcie_1_reset_hog {
207*ae5de77eSEmmanuel Vadot	status = "okay";
208*ae5de77eSEmmanuel Vadot};
209*ae5de77eSEmmanuel Vadot
210*ae5de77eSEmmanuel Vadot/* Verdin UART_2 */
211*ae5de77eSEmmanuel Vadot&wkup_uart0 {
212*ae5de77eSEmmanuel Vadot	status = "okay";
213*ae5de77eSEmmanuel Vadot};
214