aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/davinci/Kconfig13
-rw-r--r--sound/soc/davinci/Makefile1
-rw-r--r--sound/soc/davinci/davinci-evm.c29
3 files changed, 35 insertions, 8 deletions
diff --git a/sound/soc/davinci/Kconfig b/sound/soc/davinci/Kconfig
index 677a53814878..4dfd4ad9d90e 100644
--- a/sound/soc/davinci/Kconfig
+++ b/sound/soc/davinci/Kconfig
@@ -43,12 +43,21 @@ config SND_DAVINCI_SOC_SFFSDR
43 Lyrtech SFFSDR board. 43 Lyrtech SFFSDR board.
44 44
45config SND_DA830_SOC_EVM 45config SND_DA830_SOC_EVM
46 tristate "SoC Audio support for DA830/OMAPL137 EVM" 46 tristate "SoC Audio support for DA830/OMAP-L137 EVM"
47 depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM 47 depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM
48 select SND_DAVINCI_SOC_MCASP 48 select SND_DAVINCI_SOC_MCASP
49 select SND_SOC_TLV320AIC3X 49 select SND_SOC_TLV320AIC3X
50 50
51 help 51 help
52 Say Y if you want to add support for SoC audio on TI 52 Say Y if you want to add support for SoC audio on TI
53 DA830/OMAPL137 EVM 53 DA830/OMAP-L137 EVM
54
55config SND_DA850_SOC_EVM
56 tristate "SoC Audio support for DA850/OMAP-L138 EVM"
57 depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA850_EVM
58 select SND_DAVINCI_SOC_MCASP
59 select SND_SOC_TLV320AIC3X
60 help
61 Say Y if you want to add support for SoC audio on TI
62 DA850/OMAP-L138 EVM
54 63
diff --git a/sound/soc/davinci/Makefile b/sound/soc/davinci/Makefile
index 5e2195f80cf1..a6939d71b988 100644
--- a/sound/soc/davinci/Makefile
+++ b/sound/soc/davinci/Makefile
@@ -14,4 +14,5 @@ snd-soc-sffsdr-objs := davinci-sffsdr.o
14obj-$(CONFIG_SND_DAVINCI_SOC_EVM) += snd-soc-evm.o 14obj-$(CONFIG_SND_DAVINCI_SOC_EVM) += snd-soc-evm.o
15obj-$(CONFIG_SND_DM6467_SOC_EVM) += snd-soc-evm.o 15obj-$(CONFIG_SND_DM6467_SOC_EVM) += snd-soc-evm.o
16obj-$(CONFIG_SND_DA830_SOC_EVM) += snd-soc-evm.o 16obj-$(CONFIG_SND_DA830_SOC_EVM) += snd-soc-evm.o
17obj-$(CONFIG_SND_DA850_SOC_EVM) += snd-soc-evm.o
17obj-$(CONFIG_SND_DAVINCI_SOC_SFFSDR) += snd-soc-sffsdr.o 18obj-$(CONFIG_SND_DAVINCI_SOC_SFFSDR) += snd-soc-sffsdr.o
diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
index a5a92124b6d5..46c1b0cb1d1b 100644
--- a/sound/soc/davinci/davinci-evm.c
+++ b/sound/soc/davinci/davinci-evm.c
@@ -54,7 +54,8 @@ static int evm_hw_params(struct snd_pcm_substream *substream,
54 else if (machine_is_davinci_evm()) 54 else if (machine_is_davinci_evm())
55 sysclk = 12288000; 55 sysclk = 12288000;
56 56
57 else if (machine_is_davinci_da830_evm()) 57 else if (machine_is_davinci_da830_evm() ||
58 machine_is_davinci_da850_evm())
58 sysclk = 24576000; 59 sysclk = 24576000;
59 60
60 else 61 else
@@ -165,7 +166,7 @@ static struct snd_soc_dai_link dm6467_evm_dai[] = {
165 .ops = &evm_ops, 166 .ops = &evm_ops,
166 }, 167 },
167}; 168};
168static struct snd_soc_dai_link da830_evm_dai = { 169static struct snd_soc_dai_link da8xx_evm_dai = {
169 .name = "TLV320AIC3X", 170 .name = "TLV320AIC3X",
170 .stream_name = "AIC3X", 171 .stream_name = "AIC3X",
171 .cpu_dai = &davinci_mcasp_dai[DAVINCI_MCASP_I2S_DAI], 172 .cpu_dai = &davinci_mcasp_dai[DAVINCI_MCASP_I2S_DAI],
@@ -191,8 +192,15 @@ static struct snd_soc_card dm6467_snd_soc_card_evm = {
191}; 192};
192 193
193static struct snd_soc_card da830_snd_soc_card = { 194static struct snd_soc_card da830_snd_soc_card = {
194 .name = "DA830 EVM", 195 .name = "DA830/OMAP-L137 EVM",
195 .dai_link = &da830_evm_dai, 196 .dai_link = &da8xx_evm_dai,
197 .platform = &davinci_soc_platform,
198 .num_links = 1,
199};
200
201static struct snd_soc_card da850_snd_soc_card = {
202 .name = "DA850/OMAP-L138 EVM",
203 .dai_link = &da8xx_evm_dai,
196 .platform = &davinci_soc_platform, 204 .platform = &davinci_soc_platform,
197 .num_links = 1, 205 .num_links = 1,
198}; 206};
@@ -209,7 +217,7 @@ static struct aic3x_setup_data dm6467_evm_aic3x_setup = {
209 .i2c_address = 0x18, 217 .i2c_address = 0x18,
210}; 218};
211 219
212static struct aic3x_setup_data da830_evm_aic3x_setup = { 220static struct aic3x_setup_data da8xx_evm_aic3x_setup = {
213 .i2c_bus = 1, 221 .i2c_bus = 1,
214 .i2c_address = 0x18, 222 .i2c_address = 0x18,
215}; 223};
@@ -232,7 +240,13 @@ static struct snd_soc_device dm6467_evm_snd_devdata = {
232static struct snd_soc_device da830_evm_snd_devdata = { 240static struct snd_soc_device da830_evm_snd_devdata = {
233 .card = &da830_snd_soc_card, 241 .card = &da830_snd_soc_card,
234 .codec_dev = &soc_codec_dev_aic3x, 242 .codec_dev = &soc_codec_dev_aic3x,
235 .codec_data = &da830_evm_aic3x_setup, 243 .codec_data = &da8xx_evm_aic3x_setup,
244};
245
246static struct snd_soc_device da850_evm_snd_devdata = {
247 .card = &da850_snd_soc_card,
248 .codec_dev = &soc_codec_dev_aic3x,
249 .codec_data = &da8xx_evm_aic3x_setup,
236}; 250};
237 251
238static struct platform_device *evm_snd_device; 252static struct platform_device *evm_snd_device;
@@ -255,6 +269,9 @@ static int __init evm_init(void)
255 } else if (machine_is_davinci_da830_evm()) { 269 } else if (machine_is_davinci_da830_evm()) {
256 evm_snd_dev_data = &da830_evm_snd_devdata; 270 evm_snd_dev_data = &da830_evm_snd_devdata;
257 index = 1; 271 index = 1;
272 } else if (machine_is_davinci_da850_evm()) {
273 evm_snd_dev_data = &da850_evm_snd_devdata;
274 index = 0;
258 } else 275 } else
259 return -EINVAL; 276 return -EINVAL;
260 277