mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
ASoC: apq8064-i2s: Add machine driver for APQ8064 I2S.
This machine driver implements the topology which voice downlink/uplink streams from/to MDM are received via primary spkr/mic I2S interfaces and internally loop back within LPASS to MI2S interface with the other end connected to wcd9310 CODEC. Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org> (cherry picked from commit 80f8ec49294e9698751a5afd8c33fb327f8f5b6a) (cherry picked from commit bf8f93bc69fb3e6a7333525249984212271ca3ad) Change-Id: I2d9140c49d14f172ae402d738ab3b6b523250486 Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
This commit is contained in:
parent
9f7844b097
commit
da5359c53d
4 changed files with 2816 additions and 7 deletions
|
@ -62,7 +62,7 @@ obj-$(CONFIG_SND_SOC_VOICE) += msm-pcm-voice.o msm-pcm-voip.o
|
|||
snd-soc-qdsp6-objs += msm-pcm-lpa.o msm-pcm-afe.o
|
||||
obj-$(CONFIG_SND_SOC_QDSP6) += snd-soc-qdsp6.o
|
||||
|
||||
snd-soc-msm8960-objs := msm8960.o apq8064.o msm8930.o mpq8064.o
|
||||
snd-soc-msm8960-objs := msm8960.o apq8064.o msm8930.o mpq8064.o apq8064-i2s.o
|
||||
obj-$(CONFIG_SND_SOC_MSM8960) += snd-soc-msm8960.o
|
||||
|
||||
# Generic MSM drivers
|
||||
|
|
2808
sound/soc/msm/apq8064-i2s.c
Normal file
2808
sound/soc/msm/apq8064-i2s.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -2099,7 +2099,7 @@ static struct snd_soc_dai_link msm_dai[] = {
|
|||
},
|
||||
};
|
||||
|
||||
struct snd_soc_card snd_soc_card_msm = {
|
||||
static struct snd_soc_card snd_soc_card_msm = {
|
||||
.name = "apq8064-tabla-snd-card",
|
||||
.dai_link = msm_dai,
|
||||
.num_links = ARRAY_SIZE(msm_dai),
|
||||
|
@ -2166,9 +2166,10 @@ static void msm_free_headset_mic_gpios(void)
|
|||
static int __init msm_audio_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!cpu_is_apq8064() || (socinfo_get_id() == 130)) {
|
||||
pr_err("%s: Not the right machine type\n", __func__);
|
||||
u32 version = socinfo_get_platform_version();
|
||||
if (!cpu_is_apq8064() || (socinfo_get_id() == 130) ||
|
||||
SOCINFO_VERSION_MINOR(version) == 1) {
|
||||
pr_info("%s: Not APQ8064 in SLIMBUS mode\n", __func__);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
|
|
@ -938,7 +938,7 @@ static struct snd_soc_dai_link msm_dai[] = {
|
|||
},
|
||||
};
|
||||
|
||||
struct snd_soc_card snd_soc_card_msm = {
|
||||
static struct snd_soc_card snd_soc_card_msm = {
|
||||
.name = "msm8974-taiko-snd-card",
|
||||
.dai_link = msm_dai,
|
||||
.num_links = ARRAY_SIZE(msm_dai),
|
||||
|
@ -960,7 +960,7 @@ static int __init msm_audio_init(void)
|
|||
|
||||
mutex_init(&cdc_mclk_mutex);
|
||||
if (!machine_is_msm8974_sim()) {
|
||||
pr_err("%s: Not the right machine type\n", __func__);
|
||||
pr_info("%s: Not msm8974 machine type\n", __func__);
|
||||
return -ENODEV;
|
||||
}
|
||||
msm_snd_device = platform_device_alloc("soc-audio", 0);
|
||||
|
|
Loading…
Reference in a new issue