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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
// SPDX-License-Identifier: GPL-2.0+
// Copyright NXP 2020
#include "imx8mp-evk.dts"
/ {
sound-wm8960 {
status = "disabled";
};
sound-micfil {
status = "disabled";
};
sai3_port: sai-port {
#sound-dai-cells = <0>;
compatible = "fsl,sai-dai";
dai-index = <3>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
power-domains = <&audiomix_pd>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
<&clk IMX8MP_CLK_DUMMY>;
clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
status="okay";
};
sof-sound-wm8960 {
compatible = "simple-audio-card";
label = "wm8960-audio";
simple-audio-card,bitclock-master = <&sndcodec>;
simple-audio-card,frame-master = <&sndcodec>;
simple-audio-card,hp-det-gpio = <&gpio4 0 0>;
simple-audio-card,mic-det-gpio = <&gpio4 0 0>;
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Speaker", "Ext Spk",
"Microphone", "Mic Jack";
simple-audio-card,audio-routing =
"Headphone Jack", "HP_L",
"Headphone Jack", "HP_R",
"Ext Spk", "SPK_LP",
"Ext Spk", "SPK_LN",
"Ext Spk", "SPK_RP",
"Ext Spk", "SPK_RN",
"LINPUT2", "Mic Jack",
"LINPUT3", "Mic Jack",
"RINPUT1", "Mic Jack",
"RINPUT2", "Mic Jack",
"Playback", "SAI3.OUT",
"SAI3.IN", "Capture";
simple-audio-card,dai-link {
format = "i2s";
cpu {
sound-dai = <&sai3_port>;
};
plat {
sound-dai = <&dsp>;
};
sndcodec: codec {
sound-dai = <&codec>;
};
};
};
};
&dsp {
#sound-dai-cells = <0>;
compatible = "fsl,imx8mp-dsp";
reg = <0x0 0x3B6E8000 0x0 0x88000>;
tplg-name = "sof-imx8mp-wm8960.tplg";
clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_DSP_ROOT>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_DSPDBG_ROOT>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_MU2_ROOT>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_SDMA3_ROOT>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_IPG>;
clock-names = "ocram", "core", "debug", "mu2", "sdma3", "sai3_ipg";
machine-drv-name = "asoc-simple-card";
status = "okay";
};
&codec {
#sound-dai-cells = <0>;
status = "okay";
};
&sai3 {
status = "disabled";
};
&sdma3 {
status = "disabled";
};
|