[alsa-devel] ASOC, SPDIF and AC97

Jon Smirl jonsmirl at gmail.com
Tue May 27 20:16:54 CEST 2008


I'm back to working on an ASOC driver for the STAC9766 used in the
MPC5200 based Efika.

I'm having trouble with SPDIF. I can make two devices like this in the
codec file. But how do I get the SPDIF device hooked up to the right
AC97 slot, 10/11? Are any of the ASOC codecs implementing SPDIF?

I also see that the STAC9766 is missing an ac97_patch. From my reading
of the datasheet it needs somethings fixed up.

Does the ac97 support belong in the PCI directory? It took me a while
to locate it while working on ASOC. With a model more like ASOC
codecs, the AC97 patches could be pushed into the codec files.

static struct snd_soc_dai stac9766_dai[] = {
{
	.name	= "STAC9766-Analog",
	.id	= 0,
	
	/* stream cababilities */
	.playback = {
		.stream_name	= "STAC9766 Analog",
		.channels_min	= 1,
		.channels_max	= 6,
		.rates		= STAC9766_RATES,
		.formats	= SNDRV_PCM_FMTBIT_S16,
	},
	.capture = {
		.stream_name	= "STAC9766 Analog",
		.channels_min	= 1,
		.channels_max	= 2,
		.rates		= STAC9766_RATES,
		.formats	= SNDRV_PCM_FMTBIT_S16,
	},
	/* alsa ops */
	.prepare = ac97_analog_prepare,
},
{
	.name	= "stac9766-S/PDIF",
	.id	= 1,
	
	/* stream cababilities */
	.playback = {
		.stream_name	= "STAC9766 Digital",
		.channels_min	= 1,
		.channels_max	= 2,
		.rates		= STAC9766_RATES,
		.formats	= SNDRV_PCM_FMTBIT_S16,
	},
	/* alsa ops */
	.prepare = ac97_digital_prepare,
}};

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the Alsa-devel mailing list