[alsa-devel] New codec for STAC9766 used on Efika

Jon Smirl jonsmirl at gmail.com
Sat May 2 05:46:48 CEST 2009


On Fri, May 1, 2009 at 6:14 AM, Mark Brown <broonie at sirena.org.uk> wrote:
>>       .playback = {
>>               .stream_name    = "stac9766 analog",
>>               .channels_min   = 1,
>>               .channels_max   = 2,
>>               .rates          = SNDRV_PCM_RATE_8000_48000,
>>               .formats        = SNDRV_PCM_FMTBIT_S32_BE,
>
> Are you sure about this?  AC97 generally does 16 bit samples...

AC97 can be 16, 18 or 20 bit. The link always transmits 20 bits.
This codec is a 20b version.

On the mpc5200 side you can only feed the FIFOs 32b data. "For each
AC97 slot a 32 bit data word must be in the TxFIFO"
So do I make these pair up?

static struct snd_soc_dai psc_ac97_dai_template[] = {
{
	.name	= "%s analog",
	.suspend = psc_ac97_suspend,
	.resume = psc_ac97_resume,
	.playback = {
		.channels_min	= 1,
		.channels_max	= 6,
		.rates		= SNDRV_PCM_RATE_8000_48000,
		.formats	= SNDRV_PCM_FMTBIT_S32_BE,
	},
	.capture = {
		.channels_min	= 1,
		.channels_max	= 2,
		.rates		= SNDRV_PCM_RATE_8000_48000,
		.formats	= SNDRV_PCM_FMTBIT_S32_BE,
	},
	.ops = &psc_ac97_analog_ops,
},
{
	.name	= "%s digital",
	.playback = {
		.channels_min	= 1,
		.channels_max	= 2,
		.rates		= SNDRV_PCM_RATE_32000 | \
			SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
		.formats	= SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE,
	},
	.ops = &psc_ac97_digital_ops,
}};

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the Alsa-devel mailing list