Re: Question about fixed regulator DT properties

From: Vladimir Zapolskiy
Date: Wed Nov 26 2014 - 12:27:17 EST


Hello Mark,

On 25.11.2014 14:17, Mark Brown wrote:
> On Wed, Nov 19, 2014 at 04:38:01PM +0200, Vladimir Zapolskiy wrote:
>> Hello Mark,
>>
>> On 18.11.2014 17:00, Vladimir Zapolskiy wrote:
>
> Your mail is really quite long and all in quotes which makes it hard to
> follow, brevity is really helpful to readers.

my sole purpose was to describe the problems I encounter in details,
sorry for excessive verbosity.

Just to summarize my findings:
a) "enable-active-high" property has no effect on GPIO output,
b) "regulator-boot-on" does not mean that the regulator is controlled by
bootloader or firmware exclusively.

>>> | regulator-boot-on | enable-active-high | GPIO polarity | GPIO output |
>>> +-------------------+--------------------+---------------+-------------+
>>> | no | yes | active high | low |
>>> | no | no | active low | high |
>
>>> I'd rather think that both resulting GPIO outputs are incorrect or
>>> better to say do not correspond to my perception of "regulator-boot-on"
>>> and "enable-active-high" DTS properties described in the documentation,
>>> however above "enable-active-high" and actual GPIO polarity are the same
>>> (when they are not, it is another open topic for discussion).
>
> What you're saying seems sensible.

Good, I read it as a confirmation that the problem exists.

>>> Should documentation be updated to reflect "regulator-boot-on" role that
>>> a regulator is re-enabled by the kernel?
>
> I'm confused about this. That's the sole purpose of the flag and as far
> as I can tell it's what the documentation says.

Documentation/devicetree/bindings/regulator/regulator.txt says:

- regulator-boot-on: bootloader/firmware enabled regulator

I would suggest to add Linux kernel to that list of regulator
controllers, if it is the intention. In its current state the
documentation makes an impression that "regulator-boot-on" property
instructs the kernel to ignore regulator setup, since it is already
controlled by bootloader or firmware.

>>> Should "enable-active-high" be replaced by getting GPIO flags directly?
>
> Probably makes sense, it predates those flags by quite some time.
>

If you have no objection I'll take a look how to fix it by removing
"enable-active-high" flag completely from the driver's logic,
fortunately the flag has no tangible effect at the moment as it is shown
by my analysis.

--
With best wishes,
Vladimir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/