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