clear-pkgs-linux-iot-lts2018/0878-ASoC-Intel-Skylake-Add...

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