Re: [PATCH 1/1] ASoC: TWL4030: Add support Voice DAI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 09 April 2009 16:54:37 ext Joonyoung Shim wrote:> Add Voice DAI to support the PCM voice interface of the twl4030 codec.>> The PCM voice interface can be used with 8-kHz(voice narrowband) or 16-kHz> (voice wideband) sampling rates, and 16bits, and mono RX and mono TX or> stereo TX.>> If the system master clock is not 26MHz, the voice PCM interface is not> available.>> The PCM voice interface has two modes> - PCM mode1 : This uses the rising edge of the clock signal> - PCM mode2 : This uses the falling edge of the clock signal>> PCM mode1 and mode2 have a look of DSP_A and DSP_B, so we used DSP_A and> DSP_B.
Both of the PCM mode1 and mode2 is actually DSP_A, but the FS polarity is inverted and also the data is shifted/sampled on the opposite edge of the bitclock.
> +static int twl4030_voice_startup(struct snd_pcm_substream *substream,> +				struct snd_soc_dai *dai)> +{> +	struct snd_soc_pcm_runtime *rtd = substream->private_data;> +	struct snd_soc_device *socdev = rtd->socdev;> +	struct snd_soc_codec *codec = socdev->card->codec;> +	u8 infreq;> +> +	/* If the system master clock is not 26MHz, the voice PCM interface is> +	 * not avilable.> +	 */> +	infreq = twl4030_read_reg_cache(codec, TWL4030_REG_APLL_CTL)> +		& TWL4030_APLL_INFREQ;> +> +	if (infreq != TWL4030_APLL_INFREQ_26000KHZ)> +		return -EPERM;
Would it be feasible to add a check here against the CODEC_MODE:OPT_MODE and if the codec is not in Option2 mode, than return with error?

-- Péter_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux