[alsa-devel] [PATCH 3/3] ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3

Peter Ujfalusi peter.ujfalusi at nokia.com
Mon May 18 12:04:56 CEST 2009


On Monday 18 May 2009 04:03:40 ext Lopez Cruz, Misael wrote:
> Connect twl4030 voice DAI to McBSP3 in sdp3430 machine driver.
> Audio and voice DAI init functions are enabling corresponding
> interface by writting directly to AUDIO_IF and VOICE_IF codec
> registers, respectively.

>  static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
>  {
> +	unsigned short reg;
>  	int ret;
>
>  	/* Add SDP3430 specific widgets */
> @@ -150,6 +194,11 @@ static int sdp3430_twl4030_init(struct snd_soc_codec
> *codec) /* Set up SDP3430 specific audio path audio_map */
>  	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
>
> +	/* Enable audio interface */
> +	reg = codec->read(codec, TWL4030_REG_AUDIO_IF);
> +	reg |= TWL4030_AIF_EN;
> +	codec->write(codec, TWL4030_REG_AUDIO_IF, reg);
> +

Well, this does not do anything (bad or good)... The Audio interface is 
permanently enabled by default (by the default register array in the 
twl4030.c).
I have plans to do it dynamically, but it needs some more thinking, since the 
digital loopback on the audio path needs also the audio interface to be 
enabled.

Is there a reason to do this at all?


>  	/* SDP3430 connected pins */
>  	snd_soc_dapm_enable_pin(codec, "Ext Mic");
>  	snd_soc_dapm_enable_pin(codec, "Ext Spk");
> @@ -192,22 +241,45 @@ static int sdp3430_twl4030_init(struct snd_soc_codec
> *codec) return ret;
>  }
>
> +static int sdp3430_twl4030_voice_init(struct snd_soc_codec *codec)
> +{
> +	unsigned short reg;
> +
> +	/* Enable voice interface */
> +	reg = codec->read(codec, TWL4030_REG_VOICE_IF);
> +	reg |= TWL4030_VIF_DIN_EN | TWL4030_VIF_DOUT_EN | TWL4030_VIF_EN;
> +	codec->write(codec, TWL4030_REG_VOICE_IF, reg);
> +
> +	return 0;
> +}

Since you need to enable the voice interface, I think at the moment this is 
the only way to do it.
Later we can revisit this if we find a better way of doing it.

-- 
Péter


More information about the Alsa-devel mailing list