xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62-verdin-dev.dtsi (revision 2f9966ff63d65bd474478888c9088eeae3f9c669)
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 Development carrier board
6 *
7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
8 * https://www.toradex.com/products/carrier-board/verdin-development-board-kit
9 */
10
11/* Verdin ETHs */
12&cpsw3g {
13	pinctrl-names = "default";
14	pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>;
15	status = "okay";
16};
17
18/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
19&cpsw3g_mdio {
20	status = "okay";
21
22	cpsw3g_phy1: ethernet-phy@7 {
23		compatible = "ethernet-phy-ieee802.3-c22";
24		reg = <7>;
25		interrupt-parent = <&main_gpio0>;
26		interrupts = <38 IRQ_TYPE_EDGE_FALLING>;
27		pinctrl-names = "default";
28		pinctrl-0 = <&pinctrl_eth2_rgmii_int>;
29		micrel,led-mode = <0>;
30	};
31};
32
33/* Verdin ETH_1 (On-module PHY) */
34&cpsw_port1 {
35	status = "okay";
36};
37
38/* Verdin ETH_2_RGMII */
39&cpsw_port2 {
40	phy-handle = <&cpsw3g_phy1>;
41	phy-mode = "rgmii-rxid";
42	status = "okay";
43};
44
45/* Verdin PWM_1, PWM_2 */
46&epwm0 {
47	status = "okay";
48};
49
50/* Verdin PWM_3_DSI */
51&epwm1 {
52	status = "okay";
53};
54
55&main_gpio0 {
56	pinctrl-names = "default";
57	pinctrl-0 = <&pinctrl_ctrl_sleep_moci>,
58		    <&pinctrl_gpio_5>,
59		    <&pinctrl_gpio_6>,
60		    <&pinctrl_gpio_7>,
61		    <&pinctrl_gpio_8>;
62};
63
64/* Verdin I2C_1 */
65&main_i2c1 {
66	status = "okay";
67
68	/* IO Expander */
69	gpio_expander_21: gpio@21 {
70		compatible = "nxp,pcal6416";
71		reg = <0x21>;
72		#gpio-cells = <2>;
73		gpio-controller;
74	};
75
76	/* Current measurement into module VCC */
77	hwmon@40 {
78		compatible = "ti,ina219";
79		reg = <0x40>;
80		shunt-resistor = <10000>;
81	};
82
83	/* Temperature sensor */
84	sensor@4f {
85		compatible = "ti,tmp75c";
86		reg = <0x4f>;
87	};
88
89	/* EEPROM */
90	eeprom@57 {
91		compatible = "st,24c02", "atmel,24c02";
92		reg = <0x57>;
93		pagesize = <16>;
94	};
95};
96
97/* Verdin I2C_2_DSI */
98&main_i2c2 {
99	status = "okay";
100};
101
102/* Verdin I2C_4_CSI */
103&main_i2c3 {
104	status = "okay";
105};
106
107/* Verdin CAN_1 */
108&main_mcan0 {
109	status = "okay";
110};
111
112/* Verdin SPI_1 */
113&main_spi1 {
114	status = "okay";
115};
116
117/* Verdin UART_3 */
118&main_uart0 {
119	status = "okay";
120};
121
122/* Verdin UART_1, connector X50 through RS485 transceiver. */
123&main_uart1 {
124	linux,rs485-enabled-at-boot-time;
125	rs485-rx-during-tx;
126	status = "okay";
127};
128
129/* Verdin I2S_1 */
130&mcasp0 {
131	status = "okay";
132};
133
134&mcu_gpio0 {
135	pinctrl-names = "default";
136	pinctrl-0 = <&pinctrl_gpio_1>,
137		    <&pinctrl_gpio_2>,
138		    <&pinctrl_gpio_3>,
139		    <&pinctrl_gpio_4>;
140};
141
142/* Verdin I2C_3_HDMI */
143&mcu_i2c0 {
144	status = "okay";
145};
146
147/* Verdin UART_4 */
148&mcu_uart0 {
149	status = "okay";
150};
151
152/* Verdin QSPI_1 */
153&ospi0 {
154	status = "okay";
155};
156
157/* Verdin SD_1 */
158&sdhci1 {
159	ti,driver-strength-ohm = <33>;
160	status = "okay";
161};
162
163/* Verdin USB_1 */
164&usbss0 {
165	status = "okay";
166};
167
168&usb0 {
169	status = "okay";
170};
171
172/* Verdin USB_2 */
173&usbss1 {
174	status = "okay";
175};
176
177&usb1 {
178	status = "okay";
179};
180
181/* Verdin CTRL_WAKE1_MICO# */
182&verdin_gpio_keys {
183	status = "okay";
184};
185
186/* Verdin UART_2 */
187&wkup_uart0 {
188	/* FIXME: WKUP UART0 is used by DM firmware */
189	status = "reserved";
190};
191