On Tue, Mar 02, 2021 at 12:33:04PM +0530, Sameer Pujar wrote:
This was targetted for external audio codecs. Their internal clock management is not exposed with the clock framework. Instead ASoC provides callbacks to set this up on Codec side. There are many references where this is followed with some hardcoded settings in the drivers.
Are you suggesting to instead expose codec internal clocks and manage via generic clock bindings? Would this mean each codec driver has to implement these clock APIs (for ex: set_rate()) and program registers accordingly?
Yes, that's what we should be doing.
For a platform, different audio cards can be plugged in. In that case, each codec has to be updated to follow this. Wouldn't it be simpler to use available ASoC callbacks?
If we want to use standard DT to describe things we need to use standard bindings to do it.