X-Git-Url: https://git.ti.com/gitweb?p=sitara-epos%2Fsitara-epos-kernel.git;a=blobdiff_plain;f=sound%2Fsoc%2Fdavinci%2Fdavinci-evm.c;h=f6a62c3cd0943e60195fa3b4af8ea0f569cb009b;hp=32b4a801bd18ddc6be4aa53d35c55bb9d2f9c86d;hb=3ee5cacf3cd6665abc9547fe91bbb7bc1543400a;hpb=d6586f6a40866afc4cdd35391fbb573db95b3949;ds=sidebyside diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c index 32b4a801bd18..f6a62c3cd094 100644 --- a/sound/soc/davinci/davinci-evm.c +++ b/sound/soc/davinci/davinci-evm.c @@ -55,6 +55,9 @@ static int evm_hw_params(struct snd_pcm_substream *substream, else if (machine_is_davinci_da830_evm() || machine_is_davinci_da850_evm()) sysclk = 24576000; + /* On AM335X, CODEC gets MCLK from external Xtal (12MHz). */ + else if (machine_is_am335xevm()) + sysclk = 12000000; else return -EINVAL; @@ -238,6 +241,17 @@ static struct snd_soc_dai_link da850_evm_dai = { .ops = &evm_ops, }; +static struct snd_soc_dai_link am335x_evm_dai = { + .name = "TLV320AIC3X", + .stream_name = "AIC3X", + .cpu_dai_name = "davinci-mcasp.1", + .codec_dai_name = "tlv320aic3x-hifi", + .codec_name = "tlv320aic3x-codec.2-001b", + .platform_name = "davinci-pcm-audio", + .init = evm_aic3x_init, + .ops = &evm_ops, +}; + /* davinci dm6446 evm audio machine driver */ static struct snd_soc_card dm6446_snd_soc_card_evm = { .name = "DaVinci DM6446 EVM", @@ -278,6 +292,12 @@ static struct snd_soc_card da850_snd_soc_card = { .num_links = 1, }; +static struct snd_soc_card am335x_snd_soc_card = { + .name = "AM335X EVM", + .dai_link = &am335x_evm_dai, + .num_links = 1, +}; + static struct platform_device *evm_snd_device; static int __init evm_init(void) @@ -304,6 +324,9 @@ static int __init evm_init(void) } else if (machine_is_davinci_da850_evm()) { evm_snd_dev_data = &da850_snd_soc_card; index = 0; + } else if (machine_is_am335xevm()) { + evm_snd_dev_data = &am335x_snd_soc_card; + index = 0; } else return -EINVAL;