File Index
Files and directories
Sign in
FILE

imx8mp-verdin-dahlia.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi DEVICETREE
  1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2/*
  3 * Copyright 2022 Toradex
  4 */
  5
  6/ {
  7	native-hdmi-connector {
  8		compatible = "hdmi-connector";
  9		label = "X21";
 10		type = "a";
 11
 12		port {
 13			native_hdmi_connector_in: endpoint {
 14				remote-endpoint = <&hdmi_tx_out>;
 15			};
 16		};
 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>;
 25		simple-audio-card,name = "verdin-wm8904";
 26		simple-audio-card,routing =
 27			"Headphone Jack", "HPOUTL",
 28			"Headphone Jack", "HPOUTR",
 29			"IN2L", "Line In Jack",
 30			"IN2R", "Line In Jack",
 31			"Microphone Jack", "MICBIAS",
 32			"IN1L", "Microphone Jack";
 33		simple-audio-card,widgets =
 34			"Microphone", "Microphone Jack",
 35			"Headphone", "Headphone Jack",
 36			"Line", "Line In Jack";
 37
 38		codec_dai: simple-audio-card,codec {
 39			clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>;
 40			sound-dai = <&wm8904_1a>;
 41		};
 42
 43		simple-audio-card,cpu {
 44			sound-dai = <&sai1>;
 45		};
 46	};
 47
 48	reg_usb_hub: regulator-usb-hub {
 49		compatible = "regulator-fixed";
 50		enable-active-high;
 51		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
 52		gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
 53		regulator-boot-on;
 54		regulator-name = "HUB_PWR_EN";
 55	};
 56
 57	reg_pcie: regulator-pcie {
 58		compatible = "regulator-fixed";
 59		enable-active-high;
 60		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
 61		gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
 62		regulator-boot-on;
 63		regulator-name = "PCIE_1_PWR_EN";
 64		startup-delay-us = <100000>;
 65	};
 66};
 67
 68/* Verdin HDMI_1 Audio */
 69&aud2htx {
 70	status = "okay";
 71};
 72
 73&backlight {
 74	power-supply = <&reg_3p3v>;
 75};
 76
 77/* Verdin SPI_1 */
 78&ecspi1 {
 79	status = "okay";
 80};
 81
 82/* EEPROM on display adapter boards */
 83&eeprom_display_adapter {
 84	status = "okay";
 85};
 86
 87/* EEPROM on Verdin Development board */
 88&eeprom_carrier_board {
 89	status = "okay";
 90};
 91
 92&eqos {
 93	status = "okay";
 94};
 95
 96&flexcan1 {
 97	status = "okay";
 98};
 99
100&flexcan2 {
101	status = "okay";
102};
103
104/* Verdin QSPI_1 */
105&flexspi {
106	status = "okay";
107};
108
109&gpio4 {
110	pinctrl-names = "default";
111	pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
112};
113
114/* Verdin HDMI_1 */
115&hdmi_pvi {
116	status = "okay";
117};
118
119&hdmi_tx {
120	status = "okay";
121
122	ports {
123		port@1 {
124			hdmi_tx_out: endpoint {
125				remote-endpoint = <&native_hdmi_connector_in>;
126			};
127		};
128	};
129};
130
131&hdmi_tx_phy {
132	status = "okay";
133};
134
135/* Current measurement into module VCC */
136&hwmon {
137	status = "okay";
138};
139
140&hwmon_temp {
141	vs-supply = <&reg_1p8v>;
142	status = "okay";
143};
144
145/* Verdin I2C_2_DSI */
146&i2c2 {
147	status = "okay";
148};
149
150&i2c3 {
151	status = "okay";
152};
153
154/* Verdin I2C_1 */
155&i2c4 {
156	status = "okay";
157
158	/* Audio Codec */
159	wm8904_1a: audio-codec@1a {
160		compatible = "wlf,wm8904";
161		reg = <0x1a>;
162		pinctrl-names = "default";
163		pinctrl-0 = <&pinctrl_sai1>;
164		#sound-dai-cells = <0>;
165		clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>;
166		clock-names = "mclk";
167		AVDD-supply = <&reg_1p8v>;
168		CPVDD-supply = <&reg_1p8v>;
169		DBVDD-supply = <&reg_1p8v>;
170		DCVDD-supply = <&reg_1p8v>;
171		MICVDD-supply = <&reg_1p8v>;
172	};
173};
174
175/* Verdin I2C_3_HDMI */
176&i2c5 {
177	status = "okay";
178};
179
180&lcdif3 {
181	status = "okay";
182};
183
184/* Verdin PCIE_1 */
185&pcie {
186	vpcie-supply = <&reg_pcie>;
187	status = "okay";
188};
189
190&pcie_phy {
191	status = "okay";
192};
193
194/* Verdin PWM_1 */
195&pwm1 {
196	status = "okay";
197};
198
199/* Verdin PWM_2 */
200&pwm2 {
201	status = "okay";
202};
203
204/* Verdin PWM_3_DSI */
205&pwm3 {
206	status = "okay";
207};
208
209&reg_usdhc2_vmmc {
210	vin-supply = <&reg_3p3v>;
211};
212
213/* We support turning off sleep moci on Dahlia */
214&reg_force_sleep_moci {
215	status = "disabled";
216};
217
218/* Verdin I2S_1 */
219&sai1 {
220	assigned-clocks = <&clk IMX8MP_CLK_SAI1>;
221	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
222	assigned-clock-rates = <24576000>;
223	fsl,sai-mclk-direction-output;
224	status = "okay";
225};
226
227/* Verdin HDMI_1 Audio */
228&sound_hdmi {
229	status = "okay";
230};
231
232/* Verdin UART_1 */
233&uart1 {
234	status = "okay";
235};
236
237/* Verdin UART_2 */
238&uart2 {
239	status = "okay";
240};
241
242/* Verdin UART_3, used as the Linux Console */
243&uart3 {
244	status = "okay";
245};
246
247/* Verdin USB_1 */
248&usb3_0 {
249	status = "okay";
250};
251
252&usb3_phy0 {
253	status = "okay";
254};
255
256/* Verdin USB_2 */
257&usb3_1 {
258	fsl,permanently-attached;
259	status = "okay";
260};
261
262&usb3_phy1 {
263	status = "okay";
264};
265
266&usb_dwc3_1 {
267	#address-cells = <1>;
268	#size-cells = <0>;
269
270	usb_hub_3_0: usb-hub@1 {
271		compatible = "usb424,5744";
272		reg = <1>;
273		peer-hub = <&usb_hub_2_0>;
274		vdd-supply = <&reg_usb_hub>;
275	};
276
277	usb_hub_2_0: usb-hub@2 {
278		compatible = "usb424,2744";
279		reg = <2>;
280		peer-hub = <&usb_hub_3_0>;
281		vdd-supply = <&reg_usb_hub>;
282	};
283};
284
285/* Verdin SD_1 */
286&usdhc2 {
287	status = "okay";
288};
~/ Read-only file preview.