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