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. 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"; };
backend-codec specify the codec driver. If 0 dummy codec is used.
From your point of view, what should be best solution?
I think we need to take a step back and work out what the goal is here.