Other Parts Discussed in Thread: AM3358,
Tool/software: Linux
Hi,
I am using am3358 processor on a custom board with TLV320AIC3106 audio driver.
Audio plays fine but if playing is stopped for more than 5 seconds, the new play has an audible pop sound.
After scoping i2c line I can see that when playing is finished only two driver registers are modified - to mute left and right DACs.
After 5s 9 more registers are modified: all outputs are powered down, left and right DACs are powered down, PLL is disabled.
Because of this the new play causes a pop, as everything has to be powered up again.
I want to modify the driver so that it does not power down everything after tune is played.
Tracing through the source code it looks like functions in soc-dapm.c are called to cycle through widgets and change power state if needed.
I do not know where these functions are called from or how the widgets are set up to be powered down when needed.
I would either want to disable the call of a function that goes through the widgets 5s after playback.
Or modify the widget description so that they are not powered down when playback stops.
Does anyone have any suggestions or examples how to do this?
Kind regards,
Ugnius