[alsa-devel] [PATCH 4/4] ASoC: simple-card: Support for selecting system clocks by ID

Andreas Irestål andreas.irestal at axis.com
Tue Feb 16 13:46:16 CET 2016


On Mon, Feb 15, 2016 at 03:26:35PM +0000, Mark Brown wrote:
> On Mon, Feb 15, 2016 at 04:11:35PM +0200, Peter Ujfalusi wrote:
> 
> > Most CPU and codec drivers can select their system clock from different
> > sources. They rely on snd_soc_dai_set_sysclk(x, sysclk_id, x, x) to do so.
> > Add support for selecting which clock need to be selected along with the
> > rate.
> 
> Rather than adding new bindings for the ASoC specific clocking APIs it
> seems better to use the standard clock API bindings and transition
> drivers to use that.  In the past the clock API didn't have DT bindings
> so wehad to do our own thing but I think now that's no longer the case?

I'm interested in this as well since I'm working on a set of similair 
patches implementing clocking and PLL related issues in the simple-card
driver. 

There would be some problems as the typical use-cases involving
setting a codecs clocks / PLLs to a multiple of the sample rate, data
width, etc. The clocking API should support this as well if that's the
way forward. However, since many of the clock settings are related to
codec internals, the gain from moving codec PLLs, clocks, etc to the
standard clock API would be rather limited. There is already support for
getting sysclk from this API, which makes sense. Shouldn't clock id be
seen more as a pin selection from the dai's point of view? 

I really like the idea of the simple-card driver. It seems most board
drivers really doesn't do much except setting up some clocks, which
should be done in DT anyway, given there are enough available bindings
to do so...

/Andreas


More information about the Alsa-devel mailing list