Re: [PATCH] ASoC: tlv320aic31xx: Add MICBIAS off setting

From: Andrew F. Davis
Date: Tue Sep 04 2018 - 12:02:31 EST


On 09/04/2018 10:56 AM, Mark Brown wrote:
> On Tue, Sep 04, 2018 at 10:10:24AM -0500, Andrew F. Davis wrote:
>> On 09/04/2018 09:55 AM, Mark Brown wrote:
>
>>> you get to keep the pieces" territory. If we really want to have a way
>>> of explicitly specifying that some widgets should never be turned on
>>> then it feels like rather than have something device and widget specific
>>> like this we should instead have a higher level way of doing that which
>>> can be applied to any widget, that is something that could be useful
>>> especially with things like speaker drivers where there's real potential
>>> for physical damage to the system.
>
>> Not sure how that could even look, it would need to be in DT as only
>> that layer knows the connections, but then the it would also have to
>> have internal knowledge of the widgets used in the driver..
>
> We already have a bunch of DT code that knows about and uses the
> external widgets the device has (which are I'd guess the only ones where
> this is an issue)? I was thinking just have a property that lists the
> widgets that should never be turned on.
>
>>> Like I said in my original reply I'm also worried that this will break
>>> existing boards by causing them to change to a voltage of 0 when they
>>> had managed to end up with the default of 2V which happened to work for
>>> them.
>
>> Then only time this could happen is if they specified MICBIAS_OFF in DT
>> but got the default 2v instead. In which case, yes, the behavior would
>> change, but it would also be changing to the correct behavior. We can't
>> avoid fixing code on the off chance someone depended on the broken
>> behavior, no progress could ever be made.
>
> I'm really having a lot of trouble seeing MICBIAS_OFF as a useful
> voltage to specify in DT in the first place.
>

I don't see the usefulness in specifying any bias voltage in DT at all,
it is a configuration and can be made at runtime, it has no place in DT.
But it is already here, so lets allow all available voltages a board may
need and the CODEC can supply, even 0.