Lines Matching +full:dmic +full:- +full:freq

1 // SPDX-License-Identifier: GPL-2.0-only
17 #include <sound/soc-acpi.h>
30 SND_SOC_DAPM_MIC("DMIC Pair1", NULL),
31 SND_SOC_DAPM_MIC("DMIC Pair2", NULL),
46 * DMIC Pair1 are the two DMICs connected on the DMICN1 connector.
47 * DMIC Pair2 are the two DMICs connected on the DMICN2 connector.
48 * Facing the camera, DMIC Pair1 are on the left side, DMIC Pair2
51 {"DMIC L1", NULL, "DMIC Pair1"},
52 {"DMIC R1", NULL, "DMIC Pair1"},
53 {"DMIC L2", NULL, "DMIC Pair2"},
54 {"DMIC R2", NULL, "DMIC Pair2"},
65 SOC_DAPM_PIN_SWITCH("DMIC Pair1"),
66 SOC_DAPM_PIN_SWITCH("DMIC Pair2"),
91 /* The ADSP will convert the FE rate to 48k, max 4-channels */ in broadwell_ssp0_fixup()
92 rate->min = rate->max = 48000; in broadwell_ssp0_fixup()
93 chan->min = 2; in broadwell_ssp0_fixup()
94 chan->max = 4; in broadwell_ssp0_fixup()
111 * from MCLK(24MHz) to conform 2.4MHz DMIC clock. in bdw_rt5650_hw_params()
116 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in bdw_rt5650_hw_params()
120 /* The actual MCLK freq is 24MHz. The codec is told that MCLK is in bdw_rt5650_hw_params()
127 dev_err(rtd->dev, "can't set codec sysclk configuration\n"); in bdw_rt5650_hw_params()
150 struct snd_pcm_runtime *runtime = substream->runtime; in bdw_rt5650_fe_startup()
153 if (substream->stream != SNDRV_PCM_STREAM_CAPTURE) in bdw_rt5650_fe_startup()
156 runtime->hw.channels_max = 4; in bdw_rt5650_fe_startup()
169 snd_soc_card_get_drvdata(rtd->card); in bdw_rt5650_init()
171 struct snd_soc_component *component = codec_dai->component; in bdw_rt5650_init()
174 /* Enable codec ASRC function for Stereo DAC/Stereo1 ADC/DMIC/I2S1. in bdw_rt5650_init()
190 dev_err(rtd->dev, "can't set codec TDM slot %d\n", ret); in bdw_rt5650_init()
195 if (snd_soc_card_jack_new_pins(rtd->card, "Headphone Jack", in bdw_rt5650_init()
198 dev_err(component->dev, "Can't create headphone jack\n"); in bdw_rt5650_init()
202 if (snd_soc_card_jack_new_pins(rtd->card, "Mic Jack", in bdw_rt5650_init()
204 dev_err(component->dev, "Can't create mic jack\n"); in bdw_rt5650_init()
209 bdw_rt5650->component = component; in bdw_rt5650_init()
214 /* broadwell digital audio interface glue - connects codec <--> CPU */
222 DAILINK_COMP_ARRAY(COMP_PLATFORM("haswell-pcm-audio")));
225 DAILINK_COMP_ARRAY(COMP_CODEC("i2c-10EC5650:00", "rt5645-aif1")));
228 DAILINK_COMP_ARRAY(COMP_CPU("ssp0-port")));
249 /* SSP0 - Codec */
267 #define SOF_CARD_NAME "bdw rt5650" /* card name will be 'sof-bdw rt5650' */
270 #define CARD_NAME "bdw-rt5650"
295 bdw_rt5650_card.dev = &pdev->dev; in bdw_rt5650_probe()
298 bdw_rt5650 = devm_kzalloc(&pdev->dev, sizeof(struct bdw_rt5650_priv), in bdw_rt5650_probe()
301 return -ENOMEM; in bdw_rt5650_probe()
304 mach = pdev->dev.platform_data; in bdw_rt5650_probe()
306 mach->mach_params.platform); in bdw_rt5650_probe()
312 if (snd_soc_acpi_sof_parent(&pdev->dev)) { in bdw_rt5650_probe()
322 return devm_snd_soc_register_card(&pdev->dev, &bdw_rt5650_card); in bdw_rt5650_probe()
328 .name = "bdw-rt5650",
339 MODULE_ALIAS("platform:bdw-rt5650");