Re: Simple card and PLL/FLL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Emanuele

> I want to understand what is the right way to implement PLL/FLL usage
> on audio codec when using simple-card.
> In wm8904 driver I found that FLL is used if set_sysclk is called
> (that means mclk-fs property is set, otherwise it is not called).
> In this case the frequency passed to set_sysclk is assumed to be the
> "desired" frequency, the codec read the currently clkrate coming from
> "cpu" ("clk_get_rate(priv->mclk)") and use these information to
> program FLL.
> In other codec drives I do not find a similar approach.
> In general codec register the set_pll function but it is never called
> by simple-card driver.
> I guess what is the "right/better" implementation? Have we to add the
> set_pll call in simple-card? Or have we to add it to e.g. fsl_sai
> driver? Or, in some way, the wm8904 codec driver is approaching in the
> right way?
> 
> Is there any documentation that explain all of that (I have already
> looked at Documentation/sound)? Any driver that is considered well
> written and complete I should use as a reference?

Handling clock is one of difficult part on generic driver, IMO.
Therefore, "Audio Graph Card" and "Audio Graph Card2" are supporting
Customizing feature (Unfortunately simple-card doesn't have it).
I'm happy if it works for you.

These are sample code

Audio Graph Card + Customize
	${LINUX}/sound/soc/tegra/tegra_audio_graph_card.c

Audio Graph Card2 + Customize
	${LINUX}/sound/soc/generic/audio-graph-card2-custom-sample.c
	${LINUX}/sound/soc/generic/audio-graph-card2-custom-sample.dtsi

Thank you for your help !!

Best regards
---
Kuninori Morimoto



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux