From: Paul Kocialkowski <contact@paulk.fr>
To: Milo Kim <milo.kim@ti.com>
Cc: "Mark Brown" <broonie@kernel.org>,
linux-kernel@vger.kernel.org, "Rob Herring" <robh+dt@kernel.org>,
"Pawel Moll" <pawel.moll@arm.com>,
"Mark Rutland" <mark.rutland@arm.com>,
"Ian Campbell" <ijc+devicetree@hellion.org.uk>,
"Kumar Gala" <galak@codeaurora.org>,
"Russell King" <linux@arm.linux.org.uk>,
"Benoît Cousson" <bcousson@baylibre.com>,
"Tony Lindgren" <tony@atomide.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-omap@vger.kernel.org
Subject: Re: [PATCH 4/6] regulator: lp872x: Add enable GPIO pin support
Date: Tue, 29 Dec 2015 12:13:33 +0100 [thread overview]
Message-ID: <1451387613.18148.9.camel@collins> (raw)
In-Reply-To: <5681D7A8.2030101@ti.com>
[-- Attachment #1: Type: text/plain, Size: 3861 bytes --]
Hi Milo,
Le mardi 29 décembre 2015 à 09:45 +0900, Milo Kim a écrit :
> Hi Paul,
>
> On 29/12/15 07:49, Paul Kocialkowski wrote:
> > Hi Milo, thanks for the review,
> >
> > Le lundi 28 décembre 2015 à 09:56 +0900, Milo Kim a écrit :
> >> Hi Paul,
> >>
> >> On 23/12/15 20:56, Mark Brown wrote:
> >>> On Wed, Dec 23, 2015 at 11:58:37AM +0100, Paul Kocialkowski wrote:
> >>>
> >>>> + gpio = lp->pdata->enable_gpio;
> >>>> + if (!gpio_is_valid(gpio))
> >>>> + return 0;
> >>>> +
> >>>> + /* Always set enable GPIO high. */
> >>>> + ret = devm_gpio_request_one(lp->dev, gpio, GPIOF_OUT_INIT_HIGH, "LP872X EN");
> >>>> + if (ret) {
> >>>> + dev_err(lp->dev, "gpio request err: %d\n", ret);
> >>>> + return ret;
> >>>> + }
> >>>
> >>> This isn't really adding support for the enable GPIO as the changelog
> >>> suggests, it's requesting but not managing the GPIO. Since there is
> >>> core support for manging enable GPIOs this seems especially silly,
> >>> please tell the core about the GPIO and then it will work at runtime
> >>> too.
> >>>
> >>
> >> With reference to my previous mail, external GPIOs for LDO3 and BUCK2 in
> >> LP8725 can be specified through regulator_config.ena_gpio. BUCK2 only
> >> can be controlled by external pin when CONFIG pin is grounded.
> >>
> >> Please see the description at page 5 of the datasheet.
> >>
> >> http://www.ti.com/lit/ds/symlink/lp8725.pdf
> >
> > After reading the datasheets thoroughly, it seems to me that for the
> > lp8720, the EN pin is used to enable the regulators output, which is a
> > good fit for the core regulator GPIO framework, as there is no reason to
> > keep it on when no regulator is in use. The serial interface is already
> > available when EN=0 and regulators can be configured in that state. The
> > lp8725 seems seems to behave the same when CONFIG=0 (the datasheet
> > clearly states: "CONFIG=0: EN=1 turns on outputs or standby mode if
> > EN=0"). On the other hand, it is indeed used as a power-on pin when
> > CONFIG=1.
>
> I think it's different use case. LP8720/5 are designed for system PMU,
> so some regulators are enabled by default after the device is on. EN pin
> is used for turning on/off the chip. This pin does not control regulator
> outputs directly. It's separate functional block in the silicon.
Well, I really don't understand why the EN pin would turn on/off the
chip. All it does it enable the regulators outputs (by entering IDLE
mode), the serial block is already available in STANDBY state.
If we want some regulators enabled at boot, the best thing to do seems
to be to request the GPIO with the GPIOF_INIT_HIGH flag, as done in e.g.
the max8952 regulator driver:
if (pdata->reg_data->constraints.boot_on)
config.ena_gpio_flags |= GPIOF_OUT_INIT_HIGH;
> On the other hand, 'ena_gpio' is used for each regulator control itself.
> For example, WM8994 has two LDOs which are controlled by external pins.
> LDOs are enabled/disabled through LDO1ENA and LDO2ENA pins. In this
> case, 'ena_gpio' is used.
Of course, but the ena_gpio feature is also a good fit for a global
enable pin, as the GPIO can be shared by multiple regulators of the same
chip, which is what we have here.
In my opinion, using the ena_gpio feature is a good fit, as we don't
need to keep the EN pin high when no regulator is used.
> http://www.cirrus.com/en/pubs/proDatasheet/WM8994_v4.4.pdf
> (please refer to page 224 and 225)
Cheers,
--
Paul Kocialkowski, Replicant developer
Replicant is a fully free Android distribution running on several
devices, a free software mobile operating system putting the emphasis on
freedom and privacy/security.
Website: https://www.replicant.us/
Blog: https://blog.replicant.us/
Wiki/tracker/forums: https://redmine.replicant.us/
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-12-29 11:13 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-23 10:58 [PATCH 0/6] LG Optimus Black (P970) codename sniper support and lp872x improvements Paul Kocialkowski
2015-12-23 10:58 ` [PATCH 1/6] regulator: lp872x: Add missing of_match in regulators descriptions Paul Kocialkowski
2015-12-28 1:04 ` Milo Kim
2015-12-23 10:58 ` [PATCH 2/6] regulator: lp872x: Get rid of duplicate reference to DVS GPIO Paul Kocialkowski
2015-12-28 1:05 ` Milo Kim
2015-12-23 10:58 ` [PATCH 3/6] regulator: lp872x: Remove warning about invalid " Paul Kocialkowski
2015-12-23 11:41 ` Mark Brown
2015-12-23 11:50 ` Paul Kocialkowski
2015-12-23 11:58 ` Mark Brown
2015-12-23 10:58 ` [PATCH 4/6] regulator: lp872x: Add enable GPIO pin support Paul Kocialkowski
[not found] ` <1450868319-20513-5-git-send-email-contact-W9ppeneeCTY@public.gmane.org>
2015-12-23 11:56 ` Mark Brown
2015-12-23 12:52 ` Paul Kocialkowski
[not found] ` <20151223115632.GS16023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-12-24 18:12 ` Paul Kocialkowski
2015-12-24 19:35 ` Mark Brown
2015-12-24 20:05 ` Paul Kocialkowski
2015-12-28 0:56 ` Milo Kim
[not found] ` <568088B4.6090207-l0cyMroinI0@public.gmane.org>
2015-12-28 22:49 ` Paul Kocialkowski
2015-12-29 0:45 ` Milo Kim
2015-12-29 11:13 ` Paul Kocialkowski [this message]
2015-12-30 0:22 ` Milo Kim
2015-12-30 8:35 ` Paul Kocialkowski
2015-12-30 16:33 ` Mark Brown
2015-12-30 18:37 ` Paul Kocialkowski
2015-12-31 21:40 ` Mark Brown
[not found] ` <20151231214007.GC16023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-12-31 21:59 ` Paul Kocialkowski
2015-12-31 22:14 ` Mark Brown
[not found] ` <20151231221407.GF16023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-01-03 10:19 ` Paul Kocialkowski
2016-01-16 7:32 ` Paul Kocialkowski
2016-01-18 16:32 ` Mark Brown
2016-02-05 18:48 ` Paul Kocialkowski
2015-12-28 0:34 ` Milo Kim
2016-02-05 18:49 ` Paul Kocialkowski
2015-12-29 20:02 ` Rob Herring
2015-12-29 21:26 ` Paul Kocialkowski
2015-12-29 21:55 ` Rob Herring
2016-02-05 18:48 ` Paul Kocialkowski
2015-12-23 10:58 ` [PATCH 5/6] ARM: LG Optimus Black (P970) codename sniper support, with basic features Paul Kocialkowski
[not found] ` <1450868319-20513-6-git-send-email-contact-W9ppeneeCTY@public.gmane.org>
2015-12-23 15:44 ` Tony Lindgren
2015-12-24 19:38 ` Paul Kocialkowski
2015-12-23 16:03 ` Javier Martinez Canillas
[not found] ` <CABxcv=moAUEPo8sq5KhuLZChrQtwjF1aBeNvV1i8HvUnwDXMZA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-24 19:38 ` Paul Kocialkowski
2015-12-23 10:58 ` [PATCH 6/6] ARM: multi_v7_defconfig: Enable LP872x regulator support Paul Kocialkowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1451387613.18148.9.camel@collins \
--to=contact@paulk.fr \
--cc=bcousson@baylibre.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=milo.kim@ti.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).