[alsa-devel] Additions to simple-audio-card

Ricard Wanderlof ricard.wanderlof at axis.com
Wed Jan 13 16:32:50 CET 2016


I'm trying to use simple-audio-card in a system with an ADAU1361, as it 
seems that the basic functionality is what I need without resort to 
writing a specialized machine driver, however there are a couple of 
shortcomings related to my particular patch which I want to discuss before 
venturing off on a tangent:

1.
The ADAU1361 needs its PLL set up using snd_soc_dai_ops.set_pll, however 
simple-audio-card has no support for this. Would it be a good idea to 
augment simple-audio-card with this? After all, it does set_sysclk.

2.
simple-audio-card unconditionally uses clk_prepare_enable to start the
CPU DAI and CODEC DAI clocks. In the particular system I have here 
however, the clock hierarchy is not modelled in DT. I would rather make 
these calls conditional on the corresponding clk variable, i.e. if no 
clock has been defined for the DAI in question, no attempt is done to do 
clk_prepare_enable either.

3.
It would be nice if simple-audio-card could support off-codec widgets, 
e.g. switches that are not built into the codec, via the gpio framework. 
That is, you could set up ALSA controls which control a feature via gpio. 

I'm prepared to do the actual work, but it warrants a bit of discussion 
whether or not these things are a good idea to start with. If too much 
features are added to simple-audio-card it might not be so simple any 
more, on the other hand, it would do very nicely as a more and more 
general device tree based machine driver which is simple to use.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30


More information about the Alsa-devel mailing list