Re: [PATCH v3 3/6] dt-bindings: mfd: da9062: add regulator voltage selection documentation
From: Marco Felsch <hidden>
Date: 2020-01-07 08:37:04
Also in:
linux-aspeed, linux-devicetree, linux-gpio, lkml
Hi Mark, On 19-12-17 12:58, Mark Brown wrote:
On Tue, Dec 17, 2019 at 08:35:33AM +0100, Marco Felsch wrote:quoted
On 19-12-16 11:44, Mark Brown wrote:quoted
quoted
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.quoted
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 view.quoted
IMHO this is very descriptive and needs no update.quoted
description: - A GPIO reference to a local general purpose input, [1] 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 [1] 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 suspend).
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. Regards, Marco _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel