[PATCH v3 3/6] dt-bindings: mfd: da9062: add regulator voltage selection documentation
m.felsch at pengutronix.de
Tue Jan 7 19:36:54 AEDT 2020
On 19-12-17 12:58, Mark Brown wrote:
> On Tue, Dec 17, 2019 at 08:35:33AM +0100, Marco Felsch wrote:
> > On 19-12-16 11:44, Mark Brown wrote:
> > > What I'm saying is that I think the binding needs to explicitly talk
> > > about that since at the minute it's really confusing reading it as it
> > > is, it sounds very much like it's trying to override that in a chip
> > > specific fashion as using gpiolib and the GPIO bindings for pinmuxing is
> > > really quite unusual.
> > Hm.. I still think that we don't mux the pin to some special function.
> > It is still a gpio input pin and if we don't request the pin we could
> > read the input from user-space too and get a 'valid' value. Muxing would
> > happen if we change the pad to so called _alternate_ function. Anyway,
> > lets find a binding description:
> I don't think any of this makes much difference from a user point of
> > IMHO this is very descriptive and needs no update.
> > description:
> > - A GPIO reference to a local general purpose input,  calls it GPI.
> > The DA9062 regulators can select between voltage-a/-b settings.
> > Each regulator has a VBUCK*_GPI or VLDO*_GPI input to determine the
> > active setting. In front of the VBUCK*_GPI/VLDO*_GPI input is a mux
> > to select between different signal sources, valid sources are: the
> > internal sequencer, GPI1, GPI2 and GPI3. See  table 63 for more
> > information. Most the time the internal sequencer is fine but
> > sometimes it is necessary to use the signal from the DA9062 GPI
> > pads. This binding covers the second use case.
> > Attention: Sharing the same GPI for other purposes or across multiple
> > regulators is possible but the polarity setting must equal.
> This doesn't say anything about how the GPIO input is expected to be
> controlled, for voltage setting any runtime control would need to be
> done by the driver and it sounds like that's all that can be controlled.
> The way this reads I'd expect one use of this to be for fast voltage
> setting for example (you could even combine that with suspend sequencing
> using the internal sequencer if you mux back to the sequencer during
The input signal is routed trough the da9062 gpio block to the
regualtors. You can't set any voltage value using a gpio instead you
decide which voltage setting is applied. The voltage values for
runtime/suspend comes from the dt-data. No it's not just a fast
switching option imagine the system suspend case where the cpu and soc
voltage can be reduced to a very low value. Older soc's like the imx6
signaling this state by a hard wired gpio line because the soc and
cpu cores don't work properly on such low voltage values. This is
my use case and I can't use the sequencer.
More information about the Linux-aspeed