|
@@ -81,10 +81,24 @@ static int evm_hw_params(struct snd_pcm_substream *substream,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static int evm_spdif_hw_params(struct snd_pcm_substream *substream,
|
|
|
|
+ struct snd_pcm_hw_params *params)
|
|
|
|
+{
|
|
|
|
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
|
|
|
+ struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
|
|
|
|
+
|
|
|
|
+ /* set cpu DAI configuration */
|
|
|
|
+ return snd_soc_dai_set_fmt(cpu_dai, AUDIO_FORMAT);
|
|
|
|
+}
|
|
|
|
+
|
|
static struct snd_soc_ops evm_ops = {
|
|
static struct snd_soc_ops evm_ops = {
|
|
.hw_params = evm_hw_params,
|
|
.hw_params = evm_hw_params,
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static struct snd_soc_ops evm_spdif_ops = {
|
|
|
|
+ .hw_params = evm_spdif_hw_params,
|
|
|
|
+};
|
|
|
|
+
|
|
/* davinci-evm machine dapm widgets */
|
|
/* davinci-evm machine dapm widgets */
|
|
static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = {
|
|
static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = {
|
|
SND_SOC_DAPM_HP("Headphone Jack", NULL),
|
|
SND_SOC_DAPM_HP("Headphone Jack", NULL),
|
|
@@ -165,7 +179,7 @@ static struct snd_soc_dai_link dm6467_evm_dai[] = {
|
|
.stream_name = "spdif",
|
|
.stream_name = "spdif",
|
|
.cpu_dai = &davinci_mcasp_dai[DAVINCI_MCASP_DIT_DAI],
|
|
.cpu_dai = &davinci_mcasp_dai[DAVINCI_MCASP_DIT_DAI],
|
|
.codec_dai = &dit_stub_dai,
|
|
.codec_dai = &dit_stub_dai,
|
|
- .ops = &evm_ops,
|
|
|
|
|
|
+ .ops = &evm_spdif_ops,
|
|
},
|
|
},
|
|
};
|
|
};
|
|
static struct snd_soc_dai_link da8xx_evm_dai = {
|
|
static struct snd_soc_dai_link da8xx_evm_dai = {
|