[alsa-devel] [RFC] question regarding codec DAI ops
Arnaud Pouliquen
arnaud.pouliquen at st.com
Tue Jul 1 11:28:44 CEST 2014
On 06/30/2014 12:31 PM, Mark Brown wrote:
> On Mon, Jun 23, 2014 at 09:30:19AM +0200, Arnaud Pouliquen wrote:
>> On 06/21/2014 12:26 PM, Mark Brown wrote:
>>> On Fri, Jun 20, 2014 at 04:07:03PM +0200, Arnaud Pouliquen wrote:
>>>> I have a platform with several audio IOs (DAC , HDMI...) and I2S In/out
>>>> connectors.
>>>> I'm using my codec driver but for this I2S output i used dummy codec driver
>>>> with the snd-soc-dummy-dai dai.
>>> Why are you using the dummy driver? This is intended to stub things out
>>> in some DPCM situations rather than as something that should be used in
>>> normal code.
>> My platform is a base for several projects and customers. In this context
>> some extra I2S bus are available for extensions.
>> I have two use cases to support.
>> - Possibility to test I2S bus without audio codec associated.
>> - Support client that does not use ASOC for audio codec ( a.e one manage
>> HDMI in his display driver...)
>> To be able to support these use cases i use device tree to construct the
>> alsa card. if no asoc codec present, i connect dummy one.
> No, this is is not at all sensible - don't do that. Think about it for
> a minute - if this were something we wanted to do it's going to apply
> just as much to any other I2S controller so we should be doing it in the
> core.
In fact what i really need is a dummy codec driver.
But, perhaps, may i the only one to see advantages of using a dummy codec.
if it is the case i will implement a dummy DAI in my codec driver.
Otherwise tell me if you are interested in a generic dummy codec drivers.
> If the user really wants to look at the signals with a scope they
> are probably capable of providing a suitable driver for their purposes.
Unfortunately, my experience tells me otherwise.
>
>> If customer want to use another codec they have just to change device tree.
>> Here is an example of my device tree declaration.
>> sound {
>> compatible = "st,snd-soc-sti";
>> st,card-name = "audio";
>> st,audio-routing =
>> /* Analog out route */
>> "Analog out","DAC",
>> "DAC","dac_p";
>>
>> st,asoc-platform = <&sti_asoc_platform>;
>> backend-name = "HDMI_out", "PCM_out",
>> "Analog_out", "spdif",
>> "HDMI_in", "PCM_in";
>> backend-cpu-dai = <&snd_uni_player0 &snd_uni_player1
>> &snd_uni_player2 &snd_uni_player3
>> &snd_uni_reader0 &snd_uni_reader1 >;
>> backend-codec = <&sti_sasg_codec 0
>> &sti_sasg_codec &sti_sasg_codec
>> 0 0>;
>> backend-codec-dai = "sas-dai-hdmi-out", "snd-soc-dummy-dai",
>> "sas-dai-dac", "sas-dai-spdif-out",
>> "snd-soc-dummy-dai","snd-soc-dummy-dai";
>> };
> This looks a lot like you're trying to reinvent simple-card.
Ok , not see that last versions of simple card manage multi DAI links.
i will check if compatible with my design to reuse it instead of my
machine driver.
Thanks for the remarks.
More information about the Alsa-devel
mailing list