summaryrefslogtreecommitdiffstats
path: root/sound/soc/mediatek
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-06-06 00:08:38 -0400
committerMark Brown <broonie@kernel.org>2019-06-06 16:26:05 -0400
commit1fcd25641d440495b26518c97fd6e3665a7df135 (patch)
tree989d7dfde4b66fdecce1a0b9878572b1f5298ed3 /sound/soc/mediatek
parent05ab66178cb27ee795aa458b43818d2caa2d3953 (diff)
ASoC: mediatek: mt8173-rt5650-rt5514: use modern dai_link style
ASoC is now supporting modern style dai_link (= snd_soc_dai_link_component) for CPU/Codec/Platform. This patch switches to use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/mediatek')
-rw-r--r--sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c51
1 files changed, 26 insertions, 25 deletions
diff --git a/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c b/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c
index da5b58ce791b..8717e87bfe26 100644
--- a/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c
+++ b/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c
@@ -98,51 +98,51 @@ static int mt8173_rt5650_rt5514_init(struct snd_soc_pcm_runtime *runtime)
98 &mt8173_rt5650_rt5514_jack); 98 &mt8173_rt5650_rt5514_jack);
99} 99}
100 100
101static struct snd_soc_dai_link_component mt8173_rt5650_rt5514_codecs[] = {
102 {
103 .dai_name = "rt5645-aif1",
104 },
105 {
106 .dai_name = "rt5514-aif1",
107 },
108};
109
110enum { 101enum {
111 DAI_LINK_PLAYBACK, 102 DAI_LINK_PLAYBACK,
112 DAI_LINK_CAPTURE, 103 DAI_LINK_CAPTURE,
113 DAI_LINK_CODEC_I2S, 104 DAI_LINK_CODEC_I2S,
114}; 105};
115 106
107SND_SOC_DAILINK_DEFS(playback,
108 DAILINK_COMP_ARRAY(COMP_CPU("DL1")),
109 DAILINK_COMP_ARRAY(COMP_DUMMY()),
110 DAILINK_COMP_ARRAY(COMP_EMPTY()));
111
112SND_SOC_DAILINK_DEFS(capture,
113 DAILINK_COMP_ARRAY(COMP_CPU("VUL")),
114 DAILINK_COMP_ARRAY(COMP_DUMMY()),
115 DAILINK_COMP_ARRAY(COMP_EMPTY()));
116
117SND_SOC_DAILINK_DEFS(codec,
118 DAILINK_COMP_ARRAY(COMP_CPU("I2S")),
119 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "rt5645-aif1"),
120 COMP_CODEC(NULL, "rt5514-aif1")),
121 DAILINK_COMP_ARRAY(COMP_EMPTY()));
122
116/* Digital audio interface glue - connects codec <---> CPU */ 123/* Digital audio interface glue - connects codec <---> CPU */
117static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = { 124static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = {
118 /* Front End DAI links */ 125 /* Front End DAI links */
119 [DAI_LINK_PLAYBACK] = { 126 [DAI_LINK_PLAYBACK] = {
120 .name = "rt5650_rt5514 Playback", 127 .name = "rt5650_rt5514 Playback",
121 .stream_name = "rt5650_rt5514 Playback", 128 .stream_name = "rt5650_rt5514 Playback",
122 .cpu_dai_name = "DL1",
123 .codec_name = "snd-soc-dummy",
124 .codec_dai_name = "snd-soc-dummy-dai",
125 .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, 129 .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
126 .dynamic = 1, 130 .dynamic = 1,
127 .dpcm_playback = 1, 131 .dpcm_playback = 1,
132 SND_SOC_DAILINK_REG(playback),
128 }, 133 },
129 [DAI_LINK_CAPTURE] = { 134 [DAI_LINK_CAPTURE] = {
130 .name = "rt5650_rt5514 Capture", 135 .name = "rt5650_rt5514 Capture",
131 .stream_name = "rt5650_rt5514 Capture", 136 .stream_name = "rt5650_rt5514 Capture",
132 .cpu_dai_name = "VUL",
133 .codec_name = "snd-soc-dummy",
134 .codec_dai_name = "snd-soc-dummy-dai",
135 .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, 137 .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
136 .dynamic = 1, 138 .dynamic = 1,
137 .dpcm_capture = 1, 139 .dpcm_capture = 1,
140 SND_SOC_DAILINK_REG(capture),
138 }, 141 },
139 /* Back End DAI links */ 142 /* Back End DAI links */
140 [DAI_LINK_CODEC_I2S] = { 143 [DAI_LINK_CODEC_I2S] = {
141 .name = "Codec", 144 .name = "Codec",
142 .cpu_dai_name = "I2S",
143 .no_pcm = 1, 145 .no_pcm = 1,
144 .codecs = mt8173_rt5650_rt5514_codecs,
145 .num_codecs = 2,
146 .init = mt8173_rt5650_rt5514_init, 146 .init = mt8173_rt5650_rt5514_init,
147 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 147 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
148 SND_SOC_DAIFMT_CBS_CFS, 148 SND_SOC_DAIFMT_CBS_CFS,
@@ -150,6 +150,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = {
150 .ignore_pmdown_time = 1, 150 .ignore_pmdown_time = 1,
151 .dpcm_playback = 1, 151 .dpcm_playback = 1,
152 .dpcm_capture = 1, 152 .dpcm_capture = 1,
153 SND_SOC_DAILINK_REG(codec),
153 }, 154 },
154}; 155};
155 156
@@ -189,27 +190,27 @@ static int mt8173_rt5650_rt5514_dev_probe(struct platform_device *pdev)
189 } 190 }
190 191
191 for_each_card_prelinks(card, i, dai_link) { 192 for_each_card_prelinks(card, i, dai_link) {
192 if (dai_link->platform_name) 193 if (dai_link->platforms->name)
193 continue; 194 continue;
194 dai_link->platform_of_node = platform_node; 195 dai_link->platforms->of_node = platform_node;
195 } 196 }
196 197
197 mt8173_rt5650_rt5514_codecs[0].of_node = 198 mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node =
198 of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 0); 199 of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 0);
199 if (!mt8173_rt5650_rt5514_codecs[0].of_node) { 200 if (!mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node) {
200 dev_err(&pdev->dev, 201 dev_err(&pdev->dev,
201 "Property 'audio-codec' missing or invalid\n"); 202 "Property 'audio-codec' missing or invalid\n");
202 return -EINVAL; 203 return -EINVAL;
203 } 204 }
204 mt8173_rt5650_rt5514_codecs[1].of_node = 205 mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node =
205 of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 1); 206 of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 1);
206 if (!mt8173_rt5650_rt5514_codecs[1].of_node) { 207 if (!mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node) {
207 dev_err(&pdev->dev, 208 dev_err(&pdev->dev,
208 "Property 'audio-codec' missing or invalid\n"); 209 "Property 'audio-codec' missing or invalid\n");
209 return -EINVAL; 210 return -EINVAL;
210 } 211 }
211 mt8173_rt5650_rt5514_codec_conf[0].of_node = 212 mt8173_rt5650_rt5514_codec_conf[0].of_node =
212 mt8173_rt5650_rt5514_codecs[1].of_node; 213 mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node;
213 214
214 card->dev = &pdev->dev; 215 card->dev = &pdev->dev;
215 216