xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62p-verdin-dahlia.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 Dahlia 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/dahlia-carrier-board-kit
9*ae5de77eSEmmanuel Vadot */
10*ae5de77eSEmmanuel Vadot
11*ae5de77eSEmmanuel Vadot/ {
12*ae5de77eSEmmanuel Vadot	aliases {
13*ae5de77eSEmmanuel Vadot		eeprom1 = &carrier_eeprom;
14*ae5de77eSEmmanuel Vadot	};
15*ae5de77eSEmmanuel Vadot
16*ae5de77eSEmmanuel Vadot	reg_1v8_sw: regulator-1v8-sw {
17*ae5de77eSEmmanuel Vadot		compatible = "regulator-fixed";
18*ae5de77eSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
19*ae5de77eSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
20*ae5de77eSEmmanuel Vadot		regulator-name = "On-carrier +V1.8_SW";
21*ae5de77eSEmmanuel Vadot	};
22*ae5de77eSEmmanuel Vadot
23*ae5de77eSEmmanuel Vadot	sound {
24*ae5de77eSEmmanuel Vadot		compatible = "simple-audio-card";
25*ae5de77eSEmmanuel Vadot		simple-audio-card,bitclock-master = <&codec_dai>;
26*ae5de77eSEmmanuel Vadot		simple-audio-card,format = "i2s";
27*ae5de77eSEmmanuel Vadot		simple-audio-card,frame-master = <&codec_dai>;
28*ae5de77eSEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
29*ae5de77eSEmmanuel Vadot		simple-audio-card,name = "verdin-wm8904";
30*ae5de77eSEmmanuel Vadot		simple-audio-card,routing =
31*ae5de77eSEmmanuel Vadot			"Headphone Jack", "HPOUTL",
32*ae5de77eSEmmanuel Vadot			"Headphone Jack", "HPOUTR",
33*ae5de77eSEmmanuel Vadot			"IN2L", "Line In Jack",
34*ae5de77eSEmmanuel Vadot			"IN2R", "Line In Jack",
35*ae5de77eSEmmanuel Vadot			"Microphone Jack", "MICBIAS",
36*ae5de77eSEmmanuel Vadot			"IN1L", "Microphone Jack";
37*ae5de77eSEmmanuel Vadot		simple-audio-card,widgets =
38*ae5de77eSEmmanuel Vadot			"Microphone", "Microphone Jack",
39*ae5de77eSEmmanuel Vadot			"Headphone", "Headphone Jack",
40*ae5de77eSEmmanuel Vadot			"Line", "Line In Jack";
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadot		codec_dai: simple-audio-card,codec {
43*ae5de77eSEmmanuel Vadot			sound-dai = <&wm8904_1a>;
44*ae5de77eSEmmanuel Vadot		};
45*ae5de77eSEmmanuel Vadot
46*ae5de77eSEmmanuel Vadot		simple-audio-card,cpu {
47*ae5de77eSEmmanuel Vadot			sound-dai = <&mcasp0>;
48*ae5de77eSEmmanuel Vadot		};
49*ae5de77eSEmmanuel Vadot	};
50*ae5de77eSEmmanuel Vadot};
51*ae5de77eSEmmanuel Vadot
52*ae5de77eSEmmanuel Vadot/* Verdin ETHs */
53*ae5de77eSEmmanuel Vadot&cpsw3g {
54*ae5de77eSEmmanuel Vadot	status = "okay";
55*ae5de77eSEmmanuel Vadot};
56*ae5de77eSEmmanuel Vadot
57*ae5de77eSEmmanuel Vadot/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
58*ae5de77eSEmmanuel Vadot&cpsw3g_mdio {
59*ae5de77eSEmmanuel Vadot	status = "okay";
60*ae5de77eSEmmanuel Vadot};
61*ae5de77eSEmmanuel Vadot
62*ae5de77eSEmmanuel Vadot/* Verdin ETH_1 (On-module PHY) */
63*ae5de77eSEmmanuel Vadot&cpsw_port1 {
64*ae5de77eSEmmanuel Vadot	status = "okay";
65*ae5de77eSEmmanuel Vadot};
66*ae5de77eSEmmanuel Vadot
67*ae5de77eSEmmanuel Vadot/* Verdin PWM_3_DSI */
68*ae5de77eSEmmanuel Vadot&epwm0 {
69*ae5de77eSEmmanuel Vadot	status = "okay";
70*ae5de77eSEmmanuel Vadot};
71*ae5de77eSEmmanuel Vadot
72*ae5de77eSEmmanuel Vadot/* Verdin PWM_1, PWM_2 */
73*ae5de77eSEmmanuel Vadot&epwm2 {
74*ae5de77eSEmmanuel Vadot	status = "okay";
75*ae5de77eSEmmanuel Vadot};
76*ae5de77eSEmmanuel Vadot
77*ae5de77eSEmmanuel Vadot&main_gpio0 {
78*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
79*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pcie_1_reset>,
80*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_5>,
81*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_6>,
82*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_7>,
83*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_8>;
84*ae5de77eSEmmanuel Vadot};
85*ae5de77eSEmmanuel Vadot
86*ae5de77eSEmmanuel Vadot/* Verdin I2C_1 */
87*ae5de77eSEmmanuel Vadot&main_i2c0 {
88*ae5de77eSEmmanuel Vadot	status = "okay";
89*ae5de77eSEmmanuel Vadot
90*ae5de77eSEmmanuel Vadot	wm8904_1a: audio-codec@1a {
91*ae5de77eSEmmanuel Vadot		compatible = "wlf,wm8904";
92*ae5de77eSEmmanuel Vadot		reg = <0x1a>;
93*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
94*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_i2s1_mclk>;
95*ae5de77eSEmmanuel Vadot		clocks = <&audio_refclk0>;
96*ae5de77eSEmmanuel Vadot		clock-names = "mclk";
97*ae5de77eSEmmanuel Vadot		#sound-dai-cells = <0>;
98*ae5de77eSEmmanuel Vadot		AVDD-supply = <&reg_1v8_sw>;
99*ae5de77eSEmmanuel Vadot		CPVDD-supply = <&reg_1v8_sw>;
100*ae5de77eSEmmanuel Vadot		DBVDD-supply = <&reg_1v8_sw>;
101*ae5de77eSEmmanuel Vadot		DCVDD-supply = <&reg_1v8_sw>;
102*ae5de77eSEmmanuel Vadot		MICVDD-supply = <&reg_1v8_sw>;
103*ae5de77eSEmmanuel Vadot	};
104*ae5de77eSEmmanuel Vadot
105*ae5de77eSEmmanuel Vadot	/* Current measurement into module VCC */
106*ae5de77eSEmmanuel Vadot	hwmon@40 {
107*ae5de77eSEmmanuel Vadot		compatible = "ti,ina219";
108*ae5de77eSEmmanuel Vadot		reg = <0x40>;
109*ae5de77eSEmmanuel Vadot		shunt-resistor = <10000>;
110*ae5de77eSEmmanuel Vadot	};
111*ae5de77eSEmmanuel Vadot
112*ae5de77eSEmmanuel Vadot	temperature-sensor@4f {
113*ae5de77eSEmmanuel Vadot		compatible = "ti,tmp75c";
114*ae5de77eSEmmanuel Vadot		reg = <0x4f>;
115*ae5de77eSEmmanuel Vadot	};
116*ae5de77eSEmmanuel Vadot
117*ae5de77eSEmmanuel Vadot	carrier_eeprom: eeprom@57 {
118*ae5de77eSEmmanuel Vadot		compatible = "st,24c02", "atmel,24c02";
119*ae5de77eSEmmanuel Vadot		reg = <0x57>;
120*ae5de77eSEmmanuel Vadot		pagesize = <16>;
121*ae5de77eSEmmanuel Vadot	};
122*ae5de77eSEmmanuel Vadot};
123*ae5de77eSEmmanuel Vadot
124*ae5de77eSEmmanuel Vadot/* Verdin I2C_2_DSI */
125*ae5de77eSEmmanuel Vadot&main_i2c1 {
126*ae5de77eSEmmanuel Vadot	status = "okay";
127*ae5de77eSEmmanuel Vadot};
128*ae5de77eSEmmanuel Vadot
129*ae5de77eSEmmanuel Vadot/* Verdin I2C_4_CSI */
130*ae5de77eSEmmanuel Vadot&main_i2c3 {
131*ae5de77eSEmmanuel Vadot	status = "okay";
132*ae5de77eSEmmanuel Vadot};
133*ae5de77eSEmmanuel Vadot
134*ae5de77eSEmmanuel Vadot/* Verdin CAN_1 */
135*ae5de77eSEmmanuel Vadot&main_mcan0 {
136*ae5de77eSEmmanuel Vadot	status = "okay";
137*ae5de77eSEmmanuel Vadot};
138*ae5de77eSEmmanuel Vadot
139*ae5de77eSEmmanuel Vadot/* Verdin SPI_1 */
140*ae5de77eSEmmanuel Vadot&main_spi1 {
141*ae5de77eSEmmanuel Vadot	status = "okay";
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/* Verdin I2S_1 */
155*ae5de77eSEmmanuel Vadot&mcasp0 {
156*ae5de77eSEmmanuel Vadot	status = "okay";
157*ae5de77eSEmmanuel Vadot};
158*ae5de77eSEmmanuel Vadot
159*ae5de77eSEmmanuel Vadot&mcu_gpio0 {
160*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
161*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_gpio_1>,
162*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_2>,
163*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_3>,
164*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_4>;
165*ae5de77eSEmmanuel Vadot};
166*ae5de77eSEmmanuel Vadot
167*ae5de77eSEmmanuel Vadot/* Verdin I2C_3_HDMI */
168*ae5de77eSEmmanuel Vadot&mcu_i2c0 {
169*ae5de77eSEmmanuel Vadot	status = "okay";
170*ae5de77eSEmmanuel Vadot};
171*ae5de77eSEmmanuel Vadot
172*ae5de77eSEmmanuel Vadot/* Verdin CAN_2 */
173*ae5de77eSEmmanuel Vadot&mcu_mcan0 {
174*ae5de77eSEmmanuel Vadot	status = "okay";
175*ae5de77eSEmmanuel Vadot};
176*ae5de77eSEmmanuel Vadot
177*ae5de77eSEmmanuel Vadot/* Verdin UART_4 */
178*ae5de77eSEmmanuel Vadot&mcu_uart0 {
179*ae5de77eSEmmanuel Vadot	status = "okay";
180*ae5de77eSEmmanuel Vadot};
181*ae5de77eSEmmanuel Vadot
182*ae5de77eSEmmanuel Vadot/* Verdin QSPI_1 */
183*ae5de77eSEmmanuel Vadot&ospi0 {
184*ae5de77eSEmmanuel Vadot	status = "okay";
185*ae5de77eSEmmanuel Vadot};
186*ae5de77eSEmmanuel Vadot
187*ae5de77eSEmmanuel Vadot/* We support turning off sleep moci on Dahlia */
188*ae5de77eSEmmanuel Vadot&reg_force_sleep_moci {
189*ae5de77eSEmmanuel Vadot	status = "disabled";
190*ae5de77eSEmmanuel Vadot};
191*ae5de77eSEmmanuel Vadot
192*ae5de77eSEmmanuel Vadot/* Verdin SD_1 */
193*ae5de77eSEmmanuel Vadot&sdhci1 {
194*ae5de77eSEmmanuel Vadot	status = "okay";
195*ae5de77eSEmmanuel Vadot};
196*ae5de77eSEmmanuel Vadot
197*ae5de77eSEmmanuel Vadot/* Verdin USB_1 */
198*ae5de77eSEmmanuel Vadot&usbss0 {
199*ae5de77eSEmmanuel Vadot	status = "okay";
200*ae5de77eSEmmanuel Vadot};
201*ae5de77eSEmmanuel Vadot
202*ae5de77eSEmmanuel Vadot&usb0 {
203*ae5de77eSEmmanuel Vadot	status = "okay";
204*ae5de77eSEmmanuel Vadot};
205*ae5de77eSEmmanuel Vadot
206*ae5de77eSEmmanuel Vadot/* Verdin USB_2 */
207*ae5de77eSEmmanuel Vadot&usbss1 {
208*ae5de77eSEmmanuel Vadot	status = "okay";
209*ae5de77eSEmmanuel Vadot};
210*ae5de77eSEmmanuel Vadot
211*ae5de77eSEmmanuel Vadot&usb1 {
212*ae5de77eSEmmanuel Vadot	status = "okay";
213*ae5de77eSEmmanuel Vadot};
214*ae5de77eSEmmanuel Vadot
215*ae5de77eSEmmanuel Vadot/* Verdin CTRL_WAKE1_MICO# */
216*ae5de77eSEmmanuel Vadot&verdin_gpio_keys {
217*ae5de77eSEmmanuel Vadot	status = "okay";
218*ae5de77eSEmmanuel Vadot};
219*ae5de77eSEmmanuel Vadot
220*ae5de77eSEmmanuel Vadot/* Verdin PCIE_1_RESET# */
221*ae5de77eSEmmanuel Vadot&verdin_pcie_1_reset_hog {
222*ae5de77eSEmmanuel Vadot	status = "okay";
223*ae5de77eSEmmanuel Vadot};
224*ae5de77eSEmmanuel Vadot
225*ae5de77eSEmmanuel Vadot/* Verdin UART_2 */
226*ae5de77eSEmmanuel Vadot&wkup_uart0 {
227*ae5de77eSEmmanuel Vadot	status = "okay";
228*ae5de77eSEmmanuel Vadot};
229