[alsa-devel] [PATCH] SMDK64XX I2S: Added machine driver for WM8580

Mark Brown broonie at opensource.wolfsonmicro.com
Sat Sep 19 18:08:56 CEST 2009

On Sat, Sep 19, 2009 at 09:46:06AM +0900, jassi brar wrote:
> New machine driver for WM8580 I2S i/f on SMDK64XX.
> By default SoC-Slave is set and WM8580 is configured to use it's
> PLLA to generate clocks from a 12MHz crystal attached to WM8580.

> Signed-off-by: Jassi <jassi.brar at samsung.com>

I've applied this with a couple of additional fixups below.  I've added
a dependency on BROKEN since the IISv4 support is not yet present so
there's no chance of it working yet.

> +
> +#define S3C64XX_I2S_V4 2

This should be defined by the DAI driver, every user is going to need

> +static int smdk64xx_hw_free(struct snd_pcm_substream *substream)
> +{
> +	struct snd_soc_pcm_runtime *rtd = substream->private_data;
> +	struct snd_soc_dai *codec_dai = rtd->dai->codec_dai;
> +
> +	/* disable the PLL */
> +	return snd_soc_dai_set_pll(codec_dai, WM8580_PLLA, 0, 0);
> +}

Doing this will break simultaneous playback and record - whichever of
them stops first will stop the PLL, removing the clock from the other.
I've removed the hw_free() function as a result.

I also note that you're not submitting and testing against the latest
ASoC code since the PLL API has been updated so that this won't build.
I've fixed it up this time but please do try to ensure you're working
with the latest code when submitting patches.

More information about the Alsa-devel mailing list