summaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi
blob: b2bcd22821702073ae513e394ddb1422bb9d7514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022 Toradex
 */

#include "imx8mm-verdin-dahlia.dtsi"

/ {
	sound_card: sound-card {
		compatible = "simple-audio-card";
		simple-audio-card,bitclock-master = <&dailink_master>;
		simple-audio-card,format = "i2s";
		simple-audio-card,frame-master = <&dailink_master>;
		simple-audio-card,mclk-fs = <256>;
		simple-audio-card,name = "imx8mm-nau8822";
		simple-audio-card,routing =
			"Headphones", "LHP",
			"Headphones", "RHP",
			"Speaker", "LSPK",
			"Speaker", "RSPK",
			"Line Out", "AUXOUT1",
			"Line Out", "AUXOUT2",
			"LAUX", "Line In",
			"RAUX", "Line In",
			"LMICP", "Mic In",
			"RMICP", "Mic In";
		simple-audio-card,widgets =
			"Headphones", "Headphones",
			"Line Out", "Line Out",
			"Speaker", "Speaker",
			"Microphone", "Mic In",
			"Line", "Line In";

		dailink_master: simple-audio-card,codec {
			clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
			sound-dai = <&nau8822_1a>;
		};

		simple-audio-card,cpu {
			sound-dai = <&sai2>;
		};
	};
};

&gpio_expander_21 {
	status = "okay";
};

/* Verdin I2C_1 */
&i2c4 {
	/* Audio Codec */
	nau8822_1a: audio-codec@1a {
		compatible = "nuvoton,nau8822";
		reg = <0x1a>;
	};
};

/* Verdin UART_1, connector X50 through RS485 transceiver */
&uart2 {
	linux,rs485-enabled-at-boot-time;
	rs485-rts-active-low;
	rs485-rx-during-tx;
};

/* Limit frequency on dev board due to long traces and bad signal integrity */
&usdhc2 {
	max-frequency = <100000000>;
};