Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / ti / k3-am62-verdin-dahlia.dtsi
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 Dahlia carrier board
6  *
7  * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
8  * https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
9  */
10
11 / {
12         reg_1v8_sw: regulator-1v8-sw {
13                 compatible = "regulator-fixed";
14                 regulator-max-microvolt = <1800000>;
15                 regulator-min-microvolt = <1800000>;
16                 regulator-name = "On-carrier +V1.8_SW";
17         };
18
19         sound {
20                 compatible = "simple-audio-card";
21                 simple-audio-card,bitclock-master = <&codec_dai>;
22                 simple-audio-card,format = "i2s";
23                 simple-audio-card,frame-master = <&codec_dai>;
24                 simple-audio-card,name = "verdin-wm8904";
25                 simple-audio-card,routing =
26                         "Headphone Jack", "HPOUTL",
27                         "Headphone Jack", "HPOUTR",
28                         "IN2L", "Line In Jack",
29                         "IN2R", "Line In Jack",
30                         "Headphone Jack", "MICBIAS",
31                         "IN1L", "Headphone Jack";
32                 simple-audio-card,widgets =
33                         "Microphone", "Headphone Jack",
34                         "Headphone", "Headphone Jack",
35                         "Line", "Line In Jack";
36
37                 codec_dai: simple-audio-card,codec {
38                         clocks = <&audio_refclk1>;
39                         sound-dai = <&wm8904_1a>;
40                 };
41
42                 simple-audio-card,cpu {
43                         sound-dai = <&mcasp0>;
44                 };
45         };
46 };
47
48 /* Verdin ETHs */
49 &cpsw3g {
50         status = "okay";
51 };
52
53 /* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
54 &cpsw3g_mdio {
55         status = "okay";
56 };
57
58 /* Verdin ETH_1 (On-module PHY) */
59 &cpsw_port1 {
60         status = "okay";
61 };
62
63 /* Verdin PWM_1, PWM_2 */
64 &epwm0 {
65         status = "okay";
66 };
67
68 /* Verdin PWM_3_DSI */
69 &epwm1 {
70         status = "okay";
71 };
72
73 &main_gpio0 {
74         pinctrl-names = "default";
75         pinctrl-0 = <&pinctrl_ctrl_sleep_moci>,
76                     <&pinctrl_gpio_5>,
77                     <&pinctrl_gpio_6>,
78                     <&pinctrl_gpio_7>,
79                     <&pinctrl_gpio_8>;
80 };
81
82 /* Verdin I2C_1 */
83 &main_i2c1 {
84         status = "okay";
85
86         /* Audio Codec */
87         wm8904_1a: audio-codec@1a {
88                 compatible = "wlf,wm8904";
89                 reg = <0x1a>;
90                 pinctrl-names = "default";
91                 pinctrl-0 = <&pinctrl_i2s1_mclk>;
92                 #sound-dai-cells = <0>;
93                 clocks = <&audio_refclk1>;
94                 clock-names = "mclk";
95                 AVDD-supply = <&reg_1v8_sw>;
96                 CPVDD-supply = <&reg_1v8_sw>;
97                 DBVDD-supply = <&reg_1v8_sw>;
98                 DCVDD-supply = <&reg_1v8_sw>;
99                 MICVDD-supply = <&reg_1v8_sw>;
100         };
101
102         /* Current measurement into module VCC */
103         hwmon@40 {
104                 compatible = "ti,ina219";
105                 reg = <0x40>;
106                 shunt-resistor = <10000>;
107         };
108
109         /* Temperature sensor */
110         sensor@4f {
111                 compatible = "ti,tmp75c";
112                 reg = <0x4f>;
113         };
114
115         /* EEPROM */
116         eeprom@57 {
117                 compatible = "st,24c02";
118                 reg = <0x57>;
119                 pagesize = <16>;
120         };
121 };
122
123 /* Verdin I2C_2_DSI */
124 &main_i2c2 {
125         status = "okay";
126 };
127
128 /* Verdin I2C_4_CSI */
129 &main_i2c3 {
130         status = "okay";
131 };
132
133 /* Verdin CAN_1 */
134 &main_mcan0 {
135         status = "okay";
136 };
137
138 /* Verdin SPI_1 */
139 &main_spi1 {
140         status = "okay";
141 };
142
143 /* Verdin UART_3 */
144 &main_uart0 {
145         status = "okay";
146 };
147
148 /* Verdin UART_1 */
149 &main_uart1 {
150         status = "okay";
151 };
152
153 /* Verdin I2S_1 */
154 &mcasp0 {
155         status = "okay";
156 };
157
158 &mcu_gpio0 {
159         pinctrl-names = "default";
160         pinctrl-0 = <&pinctrl_gpio_1>,
161                     <&pinctrl_gpio_2>,
162                     <&pinctrl_gpio_3>,
163                     <&pinctrl_gpio_4>;
164 };
165
166 /* Verdin I2C_3_HDMI */
167 &mcu_i2c0 {
168         status = "okay";
169 };
170
171 /* Verdin CAN_2 */
172 &mcu_mcan0 {
173         status = "okay";
174 };
175
176 /* Verdin UART_4 */
177 &mcu_uart0 {
178         status = "okay";
179 };
180
181 /* Verdin QSPI_1 */
182 &ospi0 {
183         status = "okay";
184 };
185
186 /* Verdin SD_1 */
187 &sdhci1 {
188         ti,driver-strength-ohm = <33>;
189         status = "okay";
190 };
191
192 /* Verdin USB_1 */
193 &usbss0 {
194         status = "okay";
195 };
196
197 &usb0 {
198         status = "okay";
199 };
200
201 /* Verdin USB_2 */
202 &usbss1 {
203         status = "okay";
204 };
205
206 &usb1 {
207         status = "okay";
208 };
209
210 /* Verdin CTRL_WAKE1_MICO# */
211 &verdin_gpio_keys {
212         status = "okay";
213 };
214
215 /* Verdin UART_2 */
216 &wkup_uart0 {
217         /* FIXME: WKUP UART0 is used by DM firmware */
218         status = "reserved";
219 };