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