Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / freescale / imx8mm-verdin-dahlia.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Copyright 2022 Toradex
4  */
5
6 / {
7         sound_card: sound-card {
8                 compatible = "simple-audio-card";
9                 simple-audio-card,bitclock-master = <&dailink_master>;
10                 simple-audio-card,format = "i2s";
11                 simple-audio-card,frame-master = <&dailink_master>;
12                 simple-audio-card,mclk-fs = <256>;
13                 simple-audio-card,name = "imx8mm-wm8904";
14                 simple-audio-card,routing =
15                         "Headphone Jack", "HPOUTL",
16                         "Headphone Jack", "HPOUTR",
17                         "IN2L", "Line In Jack",
18                         "IN2R", "Line In Jack",
19                         "Headphone Jack", "MICBIAS",
20                         "IN1L", "Headphone Jack";
21                 simple-audio-card,widgets =
22                         "Microphone", "Headphone Jack",
23                         "Headphone", "Headphone Jack",
24                         "Line", "Line In Jack";
25
26                 dailink_master: simple-audio-card,codec {
27                         clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
28                         sound-dai = <&wm8904_1a>;
29                 };
30
31                 simple-audio-card,cpu {
32                         sound-dai = <&sai2>;
33                 };
34         };
35 };
36
37 /* Verdin SPI_1 */
38 &ecspi2 {
39         status = "okay";
40 };
41
42 /* EEPROM on display adapter boards */
43 &eeprom_display_adapter {
44         status = "okay";
45 };
46
47 /* EEPROM on Verdin Development board */
48 &eeprom_carrier_board {
49         status = "okay";
50 };
51
52 &fec1 {
53         status = "okay";
54 };
55
56 /* Verdin QSPI_1 */
57 &flexspi {
58         status = "okay";
59 };
60
61 /* Current measurement into module VCC */
62 &hwmon {
63         status = "okay";
64 };
65
66 &hwmon_temp {
67         vs-supply = <&reg_1p8v>;
68         status = "okay";
69 };
70
71 &i2c3 {
72         status = "okay";
73 };
74
75 /* Verdin I2C_1 */
76 &i2c4 {
77         status = "okay";
78
79         /* Audio Codec */
80         wm8904_1a: audio-codec@1a {
81                 compatible = "wlf,wm8904";
82                 AVDD-supply = <&reg_3p3v>;
83                 clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
84                 clock-names = "mclk";
85                 CPVDD-supply = <&reg_3p3v>;
86                 DBVDD-supply = <&reg_3p3v>;
87                 DCVDD-supply = <&reg_3p3v>;
88                 MICVDD-supply = <&reg_3p3v>;
89                 reg = <0x1a>;
90                 #sound-dai-cells = <0>;
91         };
92 };
93
94 /* Verdin PCIE_1 */
95 &pcie0 {
96         status = "okay";
97 };
98
99 &pcie_phy {
100         status = "okay";
101 };
102
103 /* Verdin PWM_3_DSI */
104 &pwm1 {
105         status = "okay";
106 };
107
108 /* Verdin PWM_1 */
109 &pwm2 {
110         status = "okay";
111 };
112
113 /* Verdin PWM_2 */
114 &pwm3 {
115         status = "okay";
116 };
117
118 /* Verdin I2S_1 */
119 &sai2 {
120         status = "okay";
121 };
122
123 /* Verdin UART_3 */
124 &uart1 {
125         status = "okay";
126 };
127
128 /* Verdin UART_1 */
129 &uart2 {
130         status = "okay";
131 };
132
133 /* Verdin UART_2 */
134 &uart3 {
135         status = "okay";
136 };
137
138 /* Verdin USB_1 */
139 &usbotg1 {
140         disable-over-current;
141         status = "okay";
142 };
143
144 /* Verdin USB_2 */
145 &usbotg2 {
146         disable-over-current;
147         status = "okay";
148 };
149
150 /* Verdin SD_1 */
151 &usdhc2 {
152         status = "okay";
153 };