On Mon, Oct 17, 2016 at 04:33:10PM -0700, Tim Harvey wrote:
I have a TI TLV320AIC3105 codec on a board connected to a TS3A227E headset detect chip (which handles switching pins for OMTP vs std jacks as well as jack detect and headset buttons). The AIC3105 doesn't use several of the inputs and outputs yet those inputs and outputs still have mux widgets volume widgets that are not 'off'.
Is there a way to easily disable them so they a) are not muxed into mixers, b) have their gains set to 0, and c) are pruned from the list of widgets so users don't have to muddle through them in mixers?
No, you need to write that code if you want it - we do mark not connected things with the intention that someone could implement this but nobody did yet.
I am also fighting both a pop/click issue and am wondering if there is any easy way to disable the DAPM power up/down sequence upon playback start/complete (my application is not power sensitive). I'm still trying to understand the source of the pop/click.
You can ramp the power down time up but no, there's no way to disable it completely in the kernel - this is normally done in the sound server and tends to work better that way as starting and stopping the digital audio stream tends to be glitchy.
Additionally the TS3A227E requires MIC bias to be kept enabled in order to detect headset button presses. I see that setting idle_bias_off to false will keep the MIC bias enabled but I don't see a way to specify that via device-tree.
Your machine driver should force enable any widgets it needs. idle_bias_off should have no effect on microphone biases, if it does that sounds like a bug.