mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-21 13:24:15 +08:00
Merge series "kbl_da7219_max9357a machine changes for wov and MST" from vamshi.krishna.gopal@intel.com
Vamshi Krishna Gopal <vamshi.krishna.gopal@intel.corp-partner.google.com>: From: Vamshi Krishna Gopal <vamshi.krishna.gopal@intel.corp-partner.google.com> Hi all, This patch series about creating dailink for Wake on voice functionality and also adding MST route changes. changes in v3: -Remove DP from widgets -Add MST support in other routing table for kbl_rt5663_max98927.c v2 is here: https://patchwork.kernel.org/project/alsa-devel/cover/20210325174325.31802-1-vamshi.krishna.gopal@intel.com/ v1 is here: https://patchwork.kernel.org/project/alsa-devel/cover/20210324175200.44922-1-vamshi.krishna.gopal@intel.com/ Mac Chiang (1): ASoc: Intel: board: add BE DAI link for WoV Vamshi Krishna Gopal (1): ASoC: Intel: kbl: Add MST route change to kbl machine drivers sound/soc/intel/boards/kbl_da7219_max98357a.c | 58 +++++++++++++++++-- sound/soc/intel/boards/kbl_da7219_max98927.c | 10 ++-- sound/soc/intel/boards/kbl_rt5663_max98927.c | 14 +++-- 3 files changed, 70 insertions(+), 12 deletions(-) -- 2.17.1
This commit is contained in:
commit
34c79fe9e2
@ -44,6 +44,7 @@ struct kbl_codec_private {
|
|||||||
enum {
|
enum {
|
||||||
KBL_DPCM_AUDIO_PB = 0,
|
KBL_DPCM_AUDIO_PB = 0,
|
||||||
KBL_DPCM_AUDIO_CP,
|
KBL_DPCM_AUDIO_CP,
|
||||||
|
KBL_DPCM_AUDIO_REF_CP,
|
||||||
KBL_DPCM_AUDIO_DMIC_CP,
|
KBL_DPCM_AUDIO_DMIC_CP,
|
||||||
KBL_DPCM_AUDIO_HDMI1_PB,
|
KBL_DPCM_AUDIO_HDMI1_PB,
|
||||||
KBL_DPCM_AUDIO_HDMI2_PB,
|
KBL_DPCM_AUDIO_HDMI2_PB,
|
||||||
@ -90,8 +91,9 @@ static const struct snd_soc_dapm_widget kabylake_widgets[] = {
|
|||||||
SND_SOC_DAPM_MIC("Headset Mic", NULL),
|
SND_SOC_DAPM_MIC("Headset Mic", NULL),
|
||||||
SND_SOC_DAPM_SPK("Spk", NULL),
|
SND_SOC_DAPM_SPK("Spk", NULL),
|
||||||
SND_SOC_DAPM_MIC("SoC DMIC", NULL),
|
SND_SOC_DAPM_MIC("SoC DMIC", NULL),
|
||||||
SND_SOC_DAPM_SPK("DP", NULL),
|
SND_SOC_DAPM_SPK("HDMI1", NULL),
|
||||||
SND_SOC_DAPM_SPK("HDMI", NULL),
|
SND_SOC_DAPM_SPK("HDMI2", NULL),
|
||||||
|
SND_SOC_DAPM_SPK("HDMI3", NULL),
|
||||||
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
||||||
platform_clock_control, SND_SOC_DAPM_PRE_PMU |
|
platform_clock_control, SND_SOC_DAPM_PRE_PMU |
|
||||||
SND_SOC_DAPM_POST_PMD),
|
SND_SOC_DAPM_POST_PMD),
|
||||||
@ -108,8 +110,9 @@ static const struct snd_soc_dapm_route kabylake_map[] = {
|
|||||||
{ "MIC", NULL, "Headset Mic" },
|
{ "MIC", NULL, "Headset Mic" },
|
||||||
{ "DMic", NULL, "SoC DMIC" },
|
{ "DMic", NULL, "SoC DMIC" },
|
||||||
|
|
||||||
{ "HDMI", NULL, "hif5 Output" },
|
{"HDMI1", NULL, "hif5-0 Output"},
|
||||||
{ "DP", NULL, "hif6 Output" },
|
{"HDMI2", NULL, "hif6-0 Output"},
|
||||||
|
{"HDMI3", NULL, "hif7-0 Output"},
|
||||||
|
|
||||||
/* CODEC BE connections */
|
/* CODEC BE connections */
|
||||||
{ "HiFi Playback", NULL, "ssp0 Tx" },
|
{ "HiFi Playback", NULL, "ssp0 Tx" },
|
||||||
@ -336,12 +339,49 @@ static struct snd_soc_ops kabylake_dmic_ops = {
|
|||||||
.startup = kabylake_dmic_startup,
|
.startup = kabylake_dmic_startup,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static unsigned int rates_16000[] = {
|
||||||
|
16000,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct snd_pcm_hw_constraint_list constraints_16000 = {
|
||||||
|
.count = ARRAY_SIZE(rates_16000),
|
||||||
|
.list = rates_16000,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const unsigned int ch_mono[] = {
|
||||||
|
1,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct snd_pcm_hw_constraint_list constraints_refcap = {
|
||||||
|
.count = ARRAY_SIZE(ch_mono),
|
||||||
|
.list = ch_mono,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int kabylake_refcap_startup(struct snd_pcm_substream *substream)
|
||||||
|
{
|
||||||
|
substream->runtime->hw.channels_max = 1;
|
||||||
|
snd_pcm_hw_constraint_list(substream->runtime, 0,
|
||||||
|
SNDRV_PCM_HW_PARAM_CHANNELS,
|
||||||
|
&constraints_refcap);
|
||||||
|
|
||||||
|
return snd_pcm_hw_constraint_list(substream->runtime, 0,
|
||||||
|
SNDRV_PCM_HW_PARAM_RATE,
|
||||||
|
&constraints_16000);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct snd_soc_ops skylake_refcap_ops = {
|
||||||
|
.startup = kabylake_refcap_startup,
|
||||||
|
};
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEF(dummy,
|
SND_SOC_DAILINK_DEF(dummy,
|
||||||
DAILINK_COMP_ARRAY(COMP_DUMMY()));
|
DAILINK_COMP_ARRAY(COMP_DUMMY()));
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEF(system,
|
SND_SOC_DAILINK_DEF(system,
|
||||||
DAILINK_COMP_ARRAY(COMP_CPU("System Pin")));
|
DAILINK_COMP_ARRAY(COMP_CPU("System Pin")));
|
||||||
|
|
||||||
|
SND_SOC_DAILINK_DEF(reference,
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CPU("Reference Pin")));
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEF(dmic,
|
SND_SOC_DAILINK_DEF(dmic,
|
||||||
DAILINK_COMP_ARRAY(COMP_CPU("DMIC Pin")));
|
DAILINK_COMP_ARRAY(COMP_CPU("DMIC Pin")));
|
||||||
|
|
||||||
@ -416,6 +456,16 @@ static struct snd_soc_dai_link kabylake_dais[] = {
|
|||||||
.ops = &kabylake_da7219_fe_ops,
|
.ops = &kabylake_da7219_fe_ops,
|
||||||
SND_SOC_DAILINK_REG(system, dummy, platform),
|
SND_SOC_DAILINK_REG(system, dummy, platform),
|
||||||
},
|
},
|
||||||
|
[KBL_DPCM_AUDIO_REF_CP] = {
|
||||||
|
.name = "Kbl Audio Reference cap",
|
||||||
|
.stream_name = "Wake on Voice",
|
||||||
|
.init = NULL,
|
||||||
|
.dpcm_capture = 1,
|
||||||
|
.nonatomic = 1,
|
||||||
|
.dynamic = 1,
|
||||||
|
.ops = &skylake_refcap_ops,
|
||||||
|
SND_SOC_DAILINK_REG(reference, dummy, platform),
|
||||||
|
},
|
||||||
[KBL_DPCM_AUDIO_DMIC_CP] = {
|
[KBL_DPCM_AUDIO_DMIC_CP] = {
|
||||||
.name = "Kbl Audio DMIC cap",
|
.name = "Kbl Audio DMIC cap",
|
||||||
.stream_name = "dmiccap",
|
.stream_name = "dmiccap",
|
||||||
|
@ -111,8 +111,9 @@ static const struct snd_soc_dapm_widget kabylake_widgets[] = {
|
|||||||
SND_SOC_DAPM_SPK("Left Spk", NULL),
|
SND_SOC_DAPM_SPK("Left Spk", NULL),
|
||||||
SND_SOC_DAPM_SPK("Right Spk", NULL),
|
SND_SOC_DAPM_SPK("Right Spk", NULL),
|
||||||
SND_SOC_DAPM_MIC("SoC DMIC", NULL),
|
SND_SOC_DAPM_MIC("SoC DMIC", NULL),
|
||||||
SND_SOC_DAPM_SPK("DP", NULL),
|
SND_SOC_DAPM_SPK("HDMI1", NULL),
|
||||||
SND_SOC_DAPM_SPK("HDMI", NULL),
|
SND_SOC_DAPM_SPK("HDMI2", NULL),
|
||||||
|
SND_SOC_DAPM_SPK("HDMI3", NULL),
|
||||||
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
||||||
platform_clock_control, SND_SOC_DAPM_PRE_PMU |
|
platform_clock_control, SND_SOC_DAPM_PRE_PMU |
|
||||||
SND_SOC_DAPM_POST_PMD),
|
SND_SOC_DAPM_POST_PMD),
|
||||||
@ -126,8 +127,9 @@ static const struct snd_soc_dapm_route kabylake_map[] = {
|
|||||||
/* other jacks */
|
/* other jacks */
|
||||||
{ "DMic", NULL, "SoC DMIC" },
|
{ "DMic", NULL, "SoC DMIC" },
|
||||||
|
|
||||||
{ "HDMI", NULL, "hif5 Output" },
|
{"HDMI1", NULL, "hif5-0 Output"},
|
||||||
{ "DP", NULL, "hif6 Output" },
|
{"HDMI2", NULL, "hif6-0 Output"},
|
||||||
|
{"HDMI3", NULL, "hif7-0 Output"},
|
||||||
|
|
||||||
/* CODEC BE connections */
|
/* CODEC BE connections */
|
||||||
{ "Left HiFi Playback", NULL, "ssp0 Tx" },
|
{ "Left HiFi Playback", NULL, "ssp0 Tx" },
|
||||||
|
@ -151,6 +151,10 @@ static const struct snd_soc_dapm_route kabylake_map[] = {
|
|||||||
{ "IN1N", NULL, "Headset Mic" },
|
{ "IN1N", NULL, "Headset Mic" },
|
||||||
{ "DMic", NULL, "SoC DMIC" },
|
{ "DMic", NULL, "SoC DMIC" },
|
||||||
|
|
||||||
|
{"HDMI1", NULL, "hif5-0 Output"},
|
||||||
|
{"HDMI2", NULL, "hif6-0 Output"},
|
||||||
|
{"HDMI3", NULL, "hif7-0 Output"},
|
||||||
|
|
||||||
/* CODEC BE connections */
|
/* CODEC BE connections */
|
||||||
{ "Left HiFi Playback", NULL, "ssp0 Tx" },
|
{ "Left HiFi Playback", NULL, "ssp0 Tx" },
|
||||||
{ "Right HiFi Playback", NULL, "ssp0 Tx" },
|
{ "Right HiFi Playback", NULL, "ssp0 Tx" },
|
||||||
@ -194,8 +198,9 @@ static const struct snd_kcontrol_new kabylake_5663_controls[] = {
|
|||||||
static const struct snd_soc_dapm_widget kabylake_5663_widgets[] = {
|
static const struct snd_soc_dapm_widget kabylake_5663_widgets[] = {
|
||||||
SND_SOC_DAPM_HP("Headphone Jack", NULL),
|
SND_SOC_DAPM_HP("Headphone Jack", NULL),
|
||||||
SND_SOC_DAPM_MIC("Headset Mic", NULL),
|
SND_SOC_DAPM_MIC("Headset Mic", NULL),
|
||||||
SND_SOC_DAPM_SPK("DP", NULL),
|
SND_SOC_DAPM_SPK("HDMI1", NULL),
|
||||||
SND_SOC_DAPM_SPK("HDMI", NULL),
|
SND_SOC_DAPM_SPK("HDMI2", NULL),
|
||||||
|
SND_SOC_DAPM_SPK("HDMI3", NULL),
|
||||||
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
||||||
platform_clock_control, SND_SOC_DAPM_PRE_PMU |
|
platform_clock_control, SND_SOC_DAPM_PRE_PMU |
|
||||||
SND_SOC_DAPM_POST_PMD),
|
SND_SOC_DAPM_POST_PMD),
|
||||||
@ -211,8 +216,9 @@ static const struct snd_soc_dapm_route kabylake_5663_map[] = {
|
|||||||
{ "IN1P", NULL, "Headset Mic" },
|
{ "IN1P", NULL, "Headset Mic" },
|
||||||
{ "IN1N", NULL, "Headset Mic" },
|
{ "IN1N", NULL, "Headset Mic" },
|
||||||
|
|
||||||
{ "HDMI", NULL, "hif5 Output" },
|
{"HDMI1", NULL, "hif5-0 Output"},
|
||||||
{ "DP", NULL, "hif6 Output" },
|
{"HDMI2", NULL, "hif6-0 Output"},
|
||||||
|
{"HDMI3", NULL, "hif7-0 Output"},
|
||||||
|
|
||||||
/* CODEC BE connections */
|
/* CODEC BE connections */
|
||||||
{ "AIF Playback", NULL, "ssp1 Tx" },
|
{ "AIF Playback", NULL, "ssp1 Tx" },
|
||||||
|
Loading…
Reference in New Issue
Block a user