[alsa-devel] ASoC: codec: SPDIF only works with Tx/Rx seperate codec drivers?
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@d0100000 { dts/spear1340.dtsi: compatible = "st,spdif-in"; dts/spear1340.dtsi: spdif-out@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.
Thank you. And looking forward to your reply. Nicolin Chen
On Fri, Jul 12, 2013 at 04:30:31PM +0800, Nicolin Chen wrote:
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.
We could just merge them into a single driver easily enough.
Thank you for the reply.
On Fri, Jul 12, 2013 at 12:33:53PM +0100, Mark Brown wrote:
We could just merge them into a single driver easily enough.
Merge spdif_receiver.c and spdif_transmitter.c? But each of them is being individually used by several drivers: davinci/davinci-evm.c samsung/smdk_spdif.c spear/spdif_in.c spear/spdif_out.c
If we merge these two files, it would break their functions. Especially for spear's platform, seems they are using SPDIF IN and OUT separately.
On Fri, Jul 12, 2013 at 07:57:13PM +0800, Nicolin Chen wrote:
On Fri, Jul 12, 2013 at 12:33:53PM +0100, Mark Brown wrote:
We could just merge them into a single driver easily enough.
Merge spdif_receiver.c and spdif_transmitter.c? But each of them is being individually used by several drivers: davinci/davinci-evm.c samsung/smdk_spdif.c spear/spdif_in.c spear/spdif_out.c
If we merge these two files, it would break their functions. Especially for spear's platform, seems they are using SPDIF IN and OUT separately.
Why would it break them? You can always instantiate two copies.
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@d0100000 { dts/spear1340.dtsi: compatible = "st,spdif-in"; dts/spear1340.dtsi: spdif-out@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", }, };
Hi,
On Fri, Jul 12, 2013 at 04:26:17PM +0200, Lars-Peter Clausen wrote:
The current drivers should work fine with this. You can create a card with two DAI links
I'll try it. Thank you so much!
participants (3)
-
Lars-Peter Clausen
-
Mark Brown
-
Nicolin Chen