[alsa-devel] ASoC: codec: SPDIF only works with Tx/Rx seperate codec drivers?
Lars-Peter Clausen
lars at metafoo.de
Fri Jul 12 16:26:17 CEST 2013
On 07/12/2013 10:30 AM, Nicolin Chen wrote:
> Hi Mark,
>
> I've a little question about SPDIF codec drivers.
>
> I found there're spdif_receiver.c and spdif_transmitter.c, two files,
> in sound/soc/codecs directory. So it looks like SPDIF module would work
> separately as one IN device and one OUT device, for example:
> dts/spear1340.dtsi: spdif-in at d0100000 {
> dts/spear1340.dtsi: compatible = "st,spdif-in";
> dts/spear1340.dtsi: spdif-out at d0000000 {
> dts/spear1340.dtsi: compatible = "st,spdif-out";
>
> But the question is what if a SPDIF module have both Tx and Rx function
> in one simple CPU DAI. Is that okay to add a new codec driver for this
> situation?
>
> Actually I'm gonna prepare some patches to add Freescale SPDIF drivers.
> But this needs to create a brand new dummy SPDIF codec driver, which's
> some kinda same as spdif_receiver/transmitter.c but quite different
> in the supports of SAMPLE_RATE/FORMAT and IN/OUT-in-one integration.
>
> So I just want to make sure if this'll be okay.
The current drivers should work fine with this. You can create a card with
two DAI links
static struct snd_soc_dai_link dai_links[] = {
{
.name = "S/PDIF TX",
.stream_name = "S/PDIF PCM Playback",
.platform_name = "your-platform",
.cpu_dai_name = "your-cpu-dai",
.codec_dai_name = "dit-hifi",
.codec_name = "spdif-dit",
}, {
.name = "S/PDIF RX",
.stream_name = "S/PDIF PCM Playback",
.platform_name = "your-platform",
.cpu_dai_name = "your-cpu-dai",
.codec_dai_name = "dir-hifi",
.codec_name = "spdif-dir",
},
};
More information about the Alsa-devel
mailing list