Skip to content

Commit

Permalink
ASoC: omap-abe-twl6040: Use provided MCLK frequency from pdata
Browse files Browse the repository at this point in the history
Avoid using hardwired configuration for MCLK frequency.
Different board design might use other MCLK frequency.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Peter Ujfalusi committed Jan 26, 2012
1 parent 4ca07cb commit 62ba98c
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion sound/soc/omap/omap-abe-twl6040.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,15 @@ static int omap_abe_hw_params(struct snd_pcm_substream *substream,
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_soc_codec *codec = rtd->codec;
struct snd_soc_card *card = codec->card;
struct omap_abe_twl6040_data *pdata = dev_get_platdata(card->dev);
int clk_id, freq;
int ret;

clk_id = twl6040_get_clk_id(rtd->codec);
if (clk_id == TWL6040_SYSCLK_SEL_HPPLL)
freq = 38400000;
freq = pdata->mclk_freq;
else if (clk_id == TWL6040_SYSCLK_SEL_LPPLL)
freq = 32768;
else
Expand Down Expand Up @@ -298,6 +301,11 @@ static __devinit int omap_abe_probe(struct platform_device *pdev)
return -ENODEV;
}

if (!pdata->mclk_freq) {
dev_err(&pdev->dev, "MCLK frequency missing\n");
return -ENODEV;
}

if (pdata->has_dmic) {
card->dai_link = twl6040_dmic_dai;
card->num_links = ARRAY_SIZE(twl6040_dmic_dai);
Expand Down

0 comments on commit 62ba98c

Please sign in to comment.