ASoC: DaVinci: Add audio support fot DA850/OMAP-L138 EVM
There is one instance of McASP on DA850/OMAP-L138 SoC. This is
connected to TLV320AIC3106 codec for audio playback and capture.
This patch adds audio support on this platform. Some of the
structure prefix names which are common for DA830/OMAP-L137 EVM and
DA850/OMAP-L138 EVM have been renamed to da8xx from da830.
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
index a5a9212..46c1b0c 100644
--- a/sound/soc/davinci/davinci-evm.c
+++ b/sound/soc/davinci/davinci-evm.c
@@ -54,7 +54,8 @@
else if (machine_is_davinci_evm())
sysclk = 12288000;
- else if (machine_is_davinci_da830_evm())
+ else if (machine_is_davinci_da830_evm() ||
+ machine_is_davinci_da850_evm())
sysclk = 24576000;
else
@@ -165,7 +166,7 @@
.ops = &evm_ops,
},
};
-static struct snd_soc_dai_link da830_evm_dai = {
+static struct snd_soc_dai_link da8xx_evm_dai = {
.name = "TLV320AIC3X",
.stream_name = "AIC3X",
.cpu_dai = &davinci_mcasp_dai[DAVINCI_MCASP_I2S_DAI],
@@ -191,8 +192,15 @@
};
static struct snd_soc_card da830_snd_soc_card = {
- .name = "DA830 EVM",
- .dai_link = &da830_evm_dai,
+ .name = "DA830/OMAP-L137 EVM",
+ .dai_link = &da8xx_evm_dai,
+ .platform = &davinci_soc_platform,
+ .num_links = 1,
+};
+
+static struct snd_soc_card da850_snd_soc_card = {
+ .name = "DA850/OMAP-L138 EVM",
+ .dai_link = &da8xx_evm_dai,
.platform = &davinci_soc_platform,
.num_links = 1,
};
@@ -209,7 +217,7 @@
.i2c_address = 0x18,
};
-static struct aic3x_setup_data da830_evm_aic3x_setup = {
+static struct aic3x_setup_data da8xx_evm_aic3x_setup = {
.i2c_bus = 1,
.i2c_address = 0x18,
};
@@ -232,7 +240,13 @@
static struct snd_soc_device da830_evm_snd_devdata = {
.card = &da830_snd_soc_card,
.codec_dev = &soc_codec_dev_aic3x,
- .codec_data = &da830_evm_aic3x_setup,
+ .codec_data = &da8xx_evm_aic3x_setup,
+};
+
+static struct snd_soc_device da850_evm_snd_devdata = {
+ .card = &da850_snd_soc_card,
+ .codec_dev = &soc_codec_dev_aic3x,
+ .codec_data = &da8xx_evm_aic3x_setup,
};
static struct platform_device *evm_snd_device;
@@ -255,6 +269,9 @@
} else if (machine_is_davinci_da830_evm()) {
evm_snd_dev_data = &da830_evm_snd_devdata;
index = 1;
+ } else if (machine_is_davinci_da850_evm()) {
+ evm_snd_dev_data = &da850_evm_snd_devdata;
+ index = 0;
} else
return -EINVAL;