ASoC: Intel: Skylake: add HDA BE DAIs
Add support for HDA BE DAIs in SKL platform driver. Signed-off-by: Rakesh Ughreja <rakesh.a.ughreja@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9cdae4352c
commit
3d17871349
|
@ -32,6 +32,7 @@
|
||||||
#define HDA_MONO 1
|
#define HDA_MONO 1
|
||||||
#define HDA_STEREO 2
|
#define HDA_STEREO 2
|
||||||
#define HDA_QUAD 4
|
#define HDA_QUAD 4
|
||||||
|
#define HDA_MAX 8
|
||||||
|
|
||||||
static const struct snd_pcm_hardware azx_pcm_hw = {
|
static const struct snd_pcm_hardware azx_pcm_hw = {
|
||||||
.info = (SNDRV_PCM_INFO_MMAP |
|
.info = (SNDRV_PCM_INFO_MMAP |
|
||||||
|
@ -569,7 +570,10 @@ static int skl_link_hw_params(struct snd_pcm_substream *substream,
|
||||||
stream_tag = hdac_stream(link_dev)->stream_tag;
|
stream_tag = hdac_stream(link_dev)->stream_tag;
|
||||||
|
|
||||||
/* set the stream tag in the codec dai dma params */
|
/* set the stream tag in the codec dai dma params */
|
||||||
|
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
|
||||||
snd_soc_dai_set_tdm_slot(codec_dai, stream_tag, 0, 0, 0);
|
snd_soc_dai_set_tdm_slot(codec_dai, stream_tag, 0, 0, 0);
|
||||||
|
else
|
||||||
|
snd_soc_dai_set_tdm_slot(codec_dai, 0, stream_tag, 0, 0);
|
||||||
|
|
||||||
p_params.s_fmt = snd_pcm_format_width(params_format(params));
|
p_params.s_fmt = snd_pcm_format_width(params_format(params));
|
||||||
p_params.ch = params_channels(params);
|
p_params.ch = params_channels(params);
|
||||||
|
@ -995,21 +999,63 @@ static struct snd_soc_dai_driver skl_platform_dai[] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "HD-Codec Pin",
|
.name = "Analog CPU DAI",
|
||||||
.ops = &skl_link_dai_ops,
|
.ops = &skl_link_dai_ops,
|
||||||
.playback = {
|
.playback = {
|
||||||
.stream_name = "HD-Codec Tx",
|
.stream_name = "Analog CPU Playback",
|
||||||
.channels_min = HDA_STEREO,
|
.channels_min = HDA_MONO,
|
||||||
.channels_max = HDA_STEREO,
|
.channels_max = HDA_MAX,
|
||||||
.rates = SNDRV_PCM_RATE_48000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE,
|
||||||
},
|
},
|
||||||
.capture = {
|
.capture = {
|
||||||
.stream_name = "HD-Codec Rx",
|
.stream_name = "Analog CPU Capture",
|
||||||
.channels_min = HDA_STEREO,
|
.channels_min = HDA_MONO,
|
||||||
.channels_max = HDA_STEREO,
|
.channels_max = HDA_MAX,
|
||||||
.rates = SNDRV_PCM_RATE_48000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "Alt Analog CPU DAI",
|
||||||
|
.ops = &skl_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.stream_name = "Alt Analog CPU Playback",
|
||||||
|
.channels_min = HDA_MONO,
|
||||||
|
.channels_max = HDA_MAX,
|
||||||
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.stream_name = "Alt Analog CPU Capture",
|
||||||
|
.channels_min = HDA_MONO,
|
||||||
|
.channels_max = HDA_MAX,
|
||||||
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "Digital CPU DAI",
|
||||||
|
.ops = &skl_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.stream_name = "Digital CPU Playback",
|
||||||
|
.channels_min = HDA_MONO,
|
||||||
|
.channels_max = HDA_MAX,
|
||||||
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.stream_name = "Digital CPU Capture",
|
||||||
|
.channels_min = HDA_MONO,
|
||||||
|
.channels_max = HDA_MAX,
|
||||||
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue