mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-27 01:11:31 +00:00
ASoC: Intel: byt-rt5640: Add quirk for Dell Venue 8 Pro tablet
It was found with help of Jan-Michael Brummer <jan.brummer@tabos.org> that Dell Venue 8 Pro tablet has a digital microphone connected to DMIC2 interface of the RT564x. This patch adds a DAPM route to DMIC2 and a quirk using it for that tablet. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Reported-by: Jan-Michael Brummer <jan.brummer@tabos.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a5f0ab05b6
commit
24221dcc8b
1 changed files with 18 additions and 0 deletions
|
|
@ -49,6 +49,10 @@ static const struct snd_soc_dapm_route byt_rt5640_intmic_dmic1_map[] = {
|
||||||
{"DMIC1", NULL, "Internal Mic"},
|
{"DMIC1", NULL, "Internal Mic"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct snd_soc_dapm_route byt_rt5640_intmic_dmic2_map[] = {
|
||||||
|
{"DMIC2", NULL, "Internal Mic"},
|
||||||
|
};
|
||||||
|
|
||||||
static const struct snd_soc_dapm_route byt_rt5640_intmic_in1_map[] = {
|
static const struct snd_soc_dapm_route byt_rt5640_intmic_in1_map[] = {
|
||||||
{"Internal Mic", NULL, "MICBIAS1"},
|
{"Internal Mic", NULL, "MICBIAS1"},
|
||||||
{"IN1P", NULL, "Internal Mic"},
|
{"IN1P", NULL, "Internal Mic"},
|
||||||
|
|
@ -56,6 +60,7 @@ static const struct snd_soc_dapm_route byt_rt5640_intmic_in1_map[] = {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
BYT_RT5640_DMIC1_MAP,
|
BYT_RT5640_DMIC1_MAP,
|
||||||
|
BYT_RT5640_DMIC2_MAP,
|
||||||
BYT_RT5640_IN1_MAP,
|
BYT_RT5640_IN1_MAP,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -111,6 +116,15 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
|
||||||
},
|
},
|
||||||
.driver_data = (unsigned long *)BYT_RT5640_IN1_MAP,
|
.driver_data = (unsigned long *)BYT_RT5640_IN1_MAP,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.callback = byt_rt5640_quirk_cb,
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "DellInc."),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "Venue 8 Pro 5830"),
|
||||||
|
},
|
||||||
|
.driver_data = (unsigned long *)(BYT_RT5640_DMIC2_MAP |
|
||||||
|
BYT_RT5640_DMIC_EN),
|
||||||
|
},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -138,6 +152,10 @@ static int byt_rt5640_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
custom_map = byt_rt5640_intmic_in1_map;
|
custom_map = byt_rt5640_intmic_in1_map;
|
||||||
num_routes = ARRAY_SIZE(byt_rt5640_intmic_in1_map);
|
num_routes = ARRAY_SIZE(byt_rt5640_intmic_in1_map);
|
||||||
break;
|
break;
|
||||||
|
case BYT_RT5640_DMIC2_MAP:
|
||||||
|
custom_map = byt_rt5640_intmic_dmic2_map;
|
||||||
|
num_routes = ARRAY_SIZE(byt_rt5640_intmic_dmic2_map);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
custom_map = byt_rt5640_intmic_dmic1_map;
|
custom_map = byt_rt5640_intmic_dmic1_map;
|
||||||
num_routes = ARRAY_SIZE(byt_rt5640_intmic_dmic1_map);
|
num_routes = ARRAY_SIZE(byt_rt5640_intmic_dmic1_map);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue