[alsa-devel] [PATCH v3 2/2] ASoC: Davinci: Add audio codec support for DM365 EVM
Miguel Aguilar
miguel.aguilar at ridgerun.com
Wed Sep 2 22:27:55 CEST 2009
Sneha,
See the comments below.
Narnakaje, Snehaprabha wrote:
> Miguel,
>
> The patch looks good, verified it on DM365 EVM.
>
> Just a minor comment below -
>
> Thanks
> Sneha
>
>> -----Original Message-----
>> From: miguel.aguilar at ridgerun.com [mailto:miguel.aguilar at ridgerun.com]
>> Sent: Wednesday, September 02, 2009 11:15 AM
>> To: davinci-linux-open-source at linux.davincidsp.com; alsa-devel at alsa-
>> project.org
>> Cc: todd.fischer at ridgerun.com; diego.dompe at ridgerun.com;
>> clark.becker at ridgerun.com; Narnakaje, Snehaprabha; Miguel Aguilar
>> Subject: [PATCH v3 2/2] ASoC: Davinci: Add audio codec support for DM365
>> EVM
>>
>> From: Miguel Aguilar <miguel.aguilar at ridgerun.com>
>>
>> This patch enables tlv320aic3101 support on DM365 EVM and
>> it was tested on DM365 EVM rev c.
>>
>> Note: this patch was created based on temp/asoc branch.
>>
>> Signed-off-by: Miguel Aguilar <miguel.aguilar at ridgerun.com>
>> ---
>> sound/soc/davinci/Kconfig | 8 ++++++++
>> sound/soc/davinci/Makefile | 1 +
>> sound/soc/davinci/davinci-evm.c | 21 ++++++++++++++++++++-
>> 3 files changed, 29 insertions(+), 1 deletions(-)
>>
>> diff --git a/sound/soc/davinci/Kconfig b/sound/soc/davinci/Kconfig
>> index 4dfd4ad..0bf835b 100644
>> --- a/sound/soc/davinci/Kconfig
>> +++ b/sound/soc/davinci/Kconfig
>> @@ -22,6 +22,14 @@ config SND_DAVINCI_SOC_EVM
>> Say Y if you want to add support for SoC audio on TI
>> DaVinci DM6446 or DM355 EVM platforms.
>>
>> +config SND_DM365_SOC_EVM
>> + tristate "SoC Audio support for DaVinci DM365 EVM"
>> + depends on SND_DAVINCI_SOC && MACH_DAVINCI_DM365_EVM
>> + select SND_DAVINCI_SOC_I2S
>> + select SND_SOC_TLV320AIC3X
>> + help
>> + Say Y if you want to add support for SoC audio on TI
>> +
>
> Do you really need a separate Kconfig option for DM365? Can we re-use the SND_DAVINCI_SOC_EVM for DM6446, DM355 and DM365?
I think this would be fine, actually we can reuse more than just
SND_DAVINCI_SOC_EVM, we can also reuse evm_snd_devdata because the only
difference with DM6446 and DM355 is just the name used in
dm365_snd_soc_card_evm. See one more comment below.
>
>
>> config SND_DM6467_SOC_EVM
>> tristate "SoC Audio support for DaVinci DM6467 EVM"
>> depends on SND_DAVINCI_SOC && MACH_DAVINCI_DM6467_EVM
>> diff --git a/sound/soc/davinci/Makefile b/sound/soc/davinci/Makefile
>> index a6939d7..21a8e64 100644
>> --- a/sound/soc/davinci/Makefile
>> +++ b/sound/soc/davinci/Makefile
>> @@ -12,6 +12,7 @@ snd-soc-evm-objs := davinci-evm.o
>> snd-soc-sffsdr-objs := davinci-sffsdr.o
>>
>> obj-$(CONFIG_SND_DAVINCI_SOC_EVM) += snd-soc-evm.o
>> +obj-$(CONFIG_SND_DM365_SOC_EVM) += snd-soc-evm.o
>> obj-$(CONFIG_SND_DM6467_SOC_EVM) += snd-soc-evm.o
>> obj-$(CONFIG_SND_DA830_SOC_EVM) += snd-soc-evm.o
>> obj-$(CONFIG_SND_DA850_SOC_EVM) += snd-soc-evm.o
>> diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-
>> evm.c
>> index 67414f6..d636d1a 100644
>> --- a/sound/soc/davinci/davinci-evm.c
>> +++ b/sound/soc/davinci/davinci-evm.c
>> @@ -45,7 +45,8 @@ static int evm_hw_params(struct snd_pcm_substream
>> *substream,
>> unsigned sysclk;
>>
>> /* ASP1 on DM355 EVM is clocked by an external oscillator */
>> - if (machine_is_davinci_dm355_evm() ||
>> machine_is_davinci_dm6467_evm())
>> + if (machine_is_davinci_dm355_evm() ||
>> machine_is_davinci_dm6467_evm()
>> + || machine_is_davinci_dm365_evm())
>> sysclk = 27000000;
>>
>> /* ASP0 in DM6446 EVM is clocked by U55, as configured by
>> @@ -184,6 +185,14 @@ static struct snd_soc_card snd_soc_card_evm = {
>> .num_links = 1,
>> };
>>
>> +/* davinci dm365 evm audio machine driver */
>> +static struct snd_soc_card dm365_snd_soc_card_evm = {
>> + .name = "DaVinci DM365 EVM",
>> + .platform = &davinci_soc_platform,
>> + .dai_link = &evm_dai,
>> + .num_links = 1,
>> +};
>> +
>> /* davinci dm6467 evm audio machine driver */
>> static struct snd_soc_card dm6467_snd_soc_card_evm = {
>> .name = "DaVinci DM6467 EVM",
>> @@ -216,6 +225,13 @@ static struct snd_soc_device evm_snd_devdata = {
>> };
>>
>> /* evm audio subsystem */
>> +static struct snd_soc_device dm365_evm_snd_devdata = {
>> + .card = &dm365_snd_soc_card_evm,
>> + .codec_dev = &soc_codec_dev_aic3x,
>> + .codec_data = &aic3x_setup,
>> +};
>> +
>> +/* evm audio subsystem */
>> static struct snd_soc_device dm6467_evm_snd_devdata = {
>> .card = &dm6467_snd_soc_card_evm,
>> .codec_dev = &soc_codec_dev_aic3x,
>> @@ -249,6 +265,9 @@ static int __init evm_init(void)
>> } else if (machine_is_davinci_dm355_evm()) {
>> evm_snd_dev_data = &evm_snd_devdata;
>> index = 1;
>> + } else if (machine_is_davinci_dm365_evm()) {
>> + evm_snd_dev_data = &dm365_evm_snd_devdata;
>> + index = 0;
So we can reuse evm_snd_devdata and use it instead of evm_snd_devdata, this is use:
evm_snd_dev_data = &evm_snd_devdata;
instead of:
evm_snd_dev_data = &dm365_evm_snd_devdata;
What do you think about this?
>> } else if (machine_is_davinci_dm6467_evm()) {
>> evm_snd_dev_data = &dm6467_evm_snd_devdata;
>> index = 0;
>> --
>> 1.6.0.4
>>
>
More information about the Alsa-devel
mailing list