[alsa-devel] [PATCH v3 1/2] ASOC: Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver

Sa, Nuno Nuno.Sa at analog.com
Fri Oct 11 09:03:15 CEST 2019


On Thu, 2019-10-10 at 16:36 +0100, Mark Brown wrote:
> 
> On Thu, Oct 10, 2019 at 03:05:24PM +0000, Sa, Nuno wrote:
> > On Thu, 2019-10-10 at 15:05 +0100, Mark Brown wrote:
> > > You could use regulator_bulk_enable() here (and similarly on
> > > disable) but it doesn't fundamentally matter - they do guarantee
> > > that they'll do things in sequence, though they don't wait for
> > > the ramp to complete before kicking off the next enable in the
> > > sequence which can be an issue for some hardware.
> > Yes, regulator_bulk_enable() could fit. The only thing that worries
> > me
> > is that we only check for errors returned from regulator_enable()
> > after
> > all async work is done (which is probably what you mean by "they
> > don't
> > wait for the ramp to complete before kicking off the next
> > enable...")
> > which could leave us with DVDD applied without IOVDD for a short
> > amount
> > of time. I'm not sure this would be a really issue and that would
> > damage the HW, but from what I can tell from the datasheet, It's
> > not
> > advised to apply DVDD without IOVDD.
> 
> Yeah, exactly.  OTOH things like that (especially for brief time
> periods) are much more likely to result in the chip being in some
> weird state on init which won't matter if we immediately power
> off than anything else.  Like I say it's not a requirement to use
> bulk operations.

Yeah, that's probably right. I can also do some internal querying to
understand if this could really damage the part. If not and since I
have to prepare a v4 either way (for dt bindings), I will use
regulator_bulk_enable().

Nuno Sá


More information about the Alsa-devel mailing list