194 lines
6.2 KiB
Diff
194 lines
6.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Adam Wulw <adam.wulw@intel.com>
|
|
Date: Tue, 30 Oct 2018 07:08:36 +0100
|
|
Subject: [PATCH] ASoC: Intel: Skylake: Add FE and BE DAIs for ULL(Ultra low
|
|
latency)
|
|
|
|
Change-Id: I5476997186812d5ff74c9bfce704678240fe1e80
|
|
Signed-off-by: Adam Wulw <adam.wulw@intel.com>
|
|
Signed-off-by: Szymon Mielczarek <szymonx.mielczarek@intel.com>
|
|
Tracked-On: OAM-72117
|
|
Tested-by: Bozek, DominikX <dominikx.bozek@intel.com>
|
|
Reviewed-by: Lewandowski, Gustaw <gustaw.lewandowski@intel.com>
|
|
---
|
|
sound/soc/intel/skylake/skl-pcm.c | 156 ++++++++++++++++++++++++++++++
|
|
1 file changed, 156 insertions(+)
|
|
|
|
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
|
|
index 7e0d065..e941784 100644
|
|
--- a/sound/soc/intel/skylake/skl-pcm.c
|
|
+++ b/sound/soc/intel/skylake/skl-pcm.c
|
|
@@ -1181,6 +1181,92 @@ static struct snd_soc_dai_driver skl_fe_dai[] = {
|
|
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
},
|
|
},
|
|
+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_BXT_ULL_MACH)
|
|
+{
|
|
+ .name = "System Pin 3",
|
|
+ .ops = &skl_pcm_dai_ops,
|
|
+ .capture = {
|
|
+ .stream_name = "System Capture 3",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .playback = {
|
|
+ .stream_name = "System Playback 3",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE |
|
|
+ SNDRV_PCM_FMTBIT_FLOAT_LE,
|
|
+ },
|
|
+},
|
|
+{
|
|
+ .name = "System Pin 4",
|
|
+ .ops = &skl_pcm_dai_ops,
|
|
+ .capture = {
|
|
+ .stream_name = "System Capture 4",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .playback = {
|
|
+ .stream_name = "System Playback 4",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE |
|
|
+ SNDRV_PCM_FMTBIT_FLOAT_LE,
|
|
+ },
|
|
+},
|
|
+{
|
|
+ .name = "System Pin 5",
|
|
+ .ops = &skl_pcm_dai_ops,
|
|
+ .capture = {
|
|
+ .stream_name = "PT Capture",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .playback = {
|
|
+ .stream_name = "System Playback 5",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE |
|
|
+ SNDRV_PCM_FMTBIT_FLOAT_LE,
|
|
+ },
|
|
+},
|
|
+{
|
|
+ .name = "System Pin 6",
|
|
+ .ops = &skl_pcm_dai_ops,
|
|
+ .capture = {
|
|
+ .stream_name = "System Capture 6",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .playback = {
|
|
+ .stream_name = "System Playback 6",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATE_KNOT,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE |
|
|
+ SNDRV_PCM_FMTBIT_FLOAT_LE,
|
|
+ },
|
|
+},
|
|
+#endif
|
|
{
|
|
.name = "Echoref Pin",
|
|
.ops = &skl_pcm_dai_ops,
|
|
@@ -1324,6 +1410,76 @@ static struct snd_soc_dai_driver skl_platform_dai[] = {
|
|
},
|
|
},
|
|
#endif
|
|
+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_BXT_ULL_MACH)
|
|
+{
|
|
+ .name = "SSP0-B Pin",
|
|
+ .ops = &skl_be_ssp_dai_ops,
|
|
+ .playback = {
|
|
+ .stream_name = "ssp0-b Tx",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
+ SNDRV_PCM_RATE_192000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .capture = {
|
|
+ .stream_name = "ssp0-b Rx",
|
|
+ .channels_min = HDA_MONO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_64000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+},
|
|
+{
|
|
+ .name = "SSP1-B Pin",
|
|
+ .ops = &skl_be_ssp_dai_ops,
|
|
+ .playback = {
|
|
+ .stream_name = "ssp1-b Tx",
|
|
+ .channels_min = HDA_STEREO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_48000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .capture = {
|
|
+ .stream_name = "ssp1-b Rx",
|
|
+ .channels_min = HDA_STEREO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_48000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+},
|
|
+{
|
|
+ .name = "SSP2-B Pin",
|
|
+ .ops = &skl_be_ssp_dai_ops,
|
|
+ .playback = {
|
|
+ .stream_name = "ssp2-b Tx",
|
|
+ .channels_min = HDA_STEREO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+ .capture = {
|
|
+ .stream_name = "ssp2-b Rx",
|
|
+ .channels_min = HDA_STEREO,
|
|
+ .channels_max = HDA_8_CH,
|
|
+ .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
|
|
+ },
|
|
+},
|
|
+#endif
|
|
{
|
|
.name = "iDisp1 Pin",
|
|
.ops = &skl_link_dai_ops,
|
|
--
|
|
https://clearlinux.org
|
|
|