linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Milo Kim <milo.kim@ti.com>
To: Paul Kocialkowski <contact@paulk.fr>
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: Wed, 30 Dec 2015 09:22:15 +0900	[thread overview]
Message-ID: <568323B7.7080101@ti.com> (raw)
In-Reply-To: <1451387613.18148.9.camel@collins>

Hi Paul,

On 29/12/15 20:13, Paul Kocialkowski wrote:
> 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;

According to MAX8952 datasheet, output regulator is enabled/disabled 
using EN pin, so ena_gpio is used correctly.
However, LP8720/5 regulators are enabled/disabled through I2C command. 
Only few regulators of LP8725 can be on/off by separate external pins. 
(B2_EN and LDO3_EN)
Please note that EN pin in LP8720/5 is not the control pin for 
enabling/disabling regulators.

Best regards,
Milo

  reply	other threads:[~2015-12-30  0:22 UTC|newest]

Thread overview: 44+ 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-23 12:13   ` Applied "regulator: lp872x: Add missing of_match in regulators descriptions" to the regulator tree Mark Brown
2015-12-28  1:04   ` [PATCH 1/6] regulator: lp872x: Add missing of_match in regulators descriptions Milo Kim
2015-12-23 10:58 ` [PATCH 2/6] regulator: lp872x: Get rid of duplicate reference to DVS GPIO Paul Kocialkowski
2015-12-23 12:13   ` Applied "regulator: lp872x: Get rid of duplicate reference to DVS GPIO" to the regulator tree Mark Brown
2015-12-28  1:05   ` [PATCH 2/6] regulator: lp872x: Get rid of duplicate reference to DVS GPIO 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
2015-12-23 11:56   ` Mark Brown
2015-12-23 12:52     ` Paul Kocialkowski
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
2015-12-28 22:49       ` Paul Kocialkowski
2015-12-29  0:45         ` Milo Kim
2015-12-29 11:13           ` Paul Kocialkowski
2015-12-30  0:22             ` Milo Kim [this message]
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
2015-12-31 21:59                       ` Paul Kocialkowski
2015-12-31 22:14                         ` Mark Brown
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
2015-12-23 15:44   ` Tony Lindgren
2015-12-24 19:38     ` Paul Kocialkowski
2015-12-23 16:03   ` Javier Martinez Canillas
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=568323B7.7080101@ti.com \
    --to=milo.kim@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=broonie@kernel.org \
    --cc=contact@paulk.fr \
    --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=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).