blob: 42ed44a1171101964e952441df49e4f70a314da3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2022 Toradex
4 */
5
6/ {
7 reg_eth2phy: regulator-eth2phy {
8 compatible = "regulator-fixed";
9 enable-active-high;
10 gpio = <&gpio_expander_21 4 GPIO_ACTIVE_HIGH>; /* ETH_PWR_EN */
11 off-on-delay-us = <500000>;
12 regulator-max-microvolt = <3300000>;
13 regulator-min-microvolt = <3300000>;
14 regulator-name = "+V3.3_ETH";
15 startup-delay-us = <200000>;
16 vin-supply = <&reg_3p3v>;
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,mclk-fs = <256>;
Tom Rini762f85b2024-07-20 11:15:10 -060025 simple-audio-card,name = "verdin-nau8822";
Tom Rini53633a82024-02-29 12:33:36 -050026 simple-audio-card,routing =
27 "Headphones", "LHP",
28 "Headphones", "RHP",
29 "Speaker", "LSPK",
30 "Speaker", "RSPK",
31 "Line Out", "AUXOUT1",
32 "Line Out", "AUXOUT2",
33 "LAUX", "Line In",
34 "RAUX", "Line In",
35 "LMICP", "Mic In",
36 "RMICP", "Mic In";
37 simple-audio-card,widgets =
38 "Headphones", "Headphones",
39 "Line Out", "Line Out",
40 "Speaker", "Speaker",
41 "Microphone", "Mic In",
42 "Line", "Line In";
43
44 codec_dai: simple-audio-card,codec {
45 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>;
46 sound-dai = <&nau8822_1a>;
47 };
48
49 simple-audio-card,cpu {
50 sound-dai = <&sai1>;
51 };
52 };
53};
54
55&backlight {
56 power-supply = <&reg_3p3v>;
57};
58
59/* Verdin SPI_1 */
60&ecspi1 {
61 status = "okay";
62};
63
64/* EEPROM on display adapter boards */
65&eeprom_display_adapter {
66 status = "okay";
67};
68
69/* EEPROM on Verdin Development board */
70&eeprom_carrier_board {
71 status = "okay";
72};
73
74&eqos {
75 status = "okay";
76};
77
78&fec {
79 phy-supply = <&reg_eth2phy>;
80 status = "okay";
81};
82
83&flexcan1 {
84 status = "okay";
85};
86
87&flexcan2 {
88 status = "okay";
89};
90
91/* Verdin QSPI_1 */
92&flexspi {
93 status = "okay";
94};
95
Tom Rini762f85b2024-07-20 11:15:10 -060096&gpio4 {
97 pinctrl-names = "default";
98 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
99};
100
Tom Rini53633a82024-02-29 12:33:36 -0500101&gpio_expander_21 {
102 status = "okay";
103 vcc-supply = <&reg_1p8v>;
104};
105
106/* Current measurement into module VCC */
107&hwmon {
108 status = "okay";
109};
110
111&hwmon_temp {
112 vs-supply = <&reg_1p8v>;
113 status = "okay";
114};
115
116/* Verdin I2C_2_DSI */
117&i2c2 {
118 status = "okay";
119};
120
121&i2c3 {
122 status = "okay";
123};
124
125/* Verdin I2C_1 */
126&i2c4 {
127 status = "okay";
128
129 /* Audio Codec */
130 nau8822_1a: audio-codec@1a {
131 compatible = "nuvoton,nau8822";
132 reg = <0x1a>;
133 pinctrl-names = "default";
134 pinctrl-0 = <&pinctrl_sai1>;
135 #sound-dai-cells = <0>;
136 };
137};
138
Tom Rini762f85b2024-07-20 11:15:10 -0600139/* Verdin I2C_3_HDMI */
140&i2c5 {
141 status = "okay";
142};
143
Tom Rini53633a82024-02-29 12:33:36 -0500144/* Verdin PCIE_1 */
145&pcie {
146 status = "okay";
147};
148
149&pcie_phy {
150 status = "okay";
151};
152
153/* Verdin PWM_1 */
154&pwm1 {
155 status = "okay";
156};
157
158/* Verdin PWM_2 */
159&pwm2 {
160 status = "okay";
161};
162
163/* Verdin PWM_3_DSI */
164&pwm3 {
165 status = "okay";
166};
167
168&reg_usdhc2_vmmc {
169 vin-supply = <&reg_3p3v>;
170};
171
172/* Verdin I2S_1 */
173&sai1 {
174 assigned-clocks = <&clk IMX8MP_CLK_SAI1>;
175 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
176 assigned-clock-rates = <24576000>;
177 fsl,sai-mclk-direction-output;
178 status = "okay";
179};
180
181/* Verdin UART_1, connector X50 through RS485 transceiver */
182&uart1 {
183 linux,rs485-enabled-at-boot-time;
184 rs485-rts-active-low;
185 rs485-rx-during-tx;
186 status = "okay";
187};
188
189/* Verdin UART_2 */
190&uart2 {
191 status = "okay";
192};
193
194/* Verdin UART_3, used as the Linux Console */
195&uart3 {
196 status = "okay";
197};
198
199/* Verdin USB_1 */
200&usb3_0 {
201 status = "okay";
202};
203
204&usb3_phy0 {
205 status = "okay";
206};
207
208/* Verdin USB_2 */
209&usb3_1 {
210 fsl,permanently-attached;
211 status = "okay";
212};
213
214&usb3_phy1 {
215 status = "okay";
216};
217
218/* Limit frequency on dev board due to long traces and bad signal integrity */
219&usdhc2 {
220 max-frequency = <100000000>;
221 status = "okay";
222};