All of lore.kernel.org
 help / color / mirror / Atom feed
From: khilman@linaro.org (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/2] IO voltage domain support for rk3188 and rk3288
Date: Wed, 10 Sep 2014 16:12:55 -0700	[thread overview]
Message-ID: <7hlhprqdc8.fsf@linaro.org> (raw)
In-Reply-To: <CACRpkda-XS0XLSkAZ-16=JvD8FbRJNuN4UVL4dMyV71bfU5T2A@mail.gmail.com> (Linus Walleij's message of "Thu, 4 Sep 2014 18:51:47 +0200")

Linus Walleij <linus.walleij@linaro.org> writes:

> On Sat, Aug 30, 2014 at 1:27 PM, Heiko St?bner <heiko@sntech.de> wrote:
>> Am Freitag, 29. August 2014, 21:51:46 schrieb Doug Anderson:
>>> On Thu, Aug 28, 2014 at 2:26 PM, Santosh Shilimkar
>>>
>>> <santosh.shilimkar@ti.com> wrote:
>>> > On Thursday 28 August 2014 03:36 PM, Doug Anderson wrote:
>>> >> These two patches add support for automatically configuring the IO
>>> >> voltage domains on rk3188 and rk3288 SoCs.  The first patch adds some
>>> >> new notification types to the regulator code.  It's used by the second
>>> >> patch which actually implements the IO voltage domain driver.
>>> >>
>>> >> These two patches were co-developed by Heiko St?bner and Doug Anderson
>>> >> (proof of concept patches were written by Heiko).  They were tested in
>>> >> a private branch on an rk3288 board using rk808 instead of mainline
>>> >> since rk808 support isn't finalized in mainline yet.
>>> >>
>>> >> (sorry if you got this series twice; my mailer seems unhappy with me)
>>> >>
>>> >> Heiko St?bner (2):
>>> >>   regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT)
>>> >>   soc/rockchip: io-domain: add driver handling io domains
>>> >
>>> > Sorry to shot down but your IO domains are nothing but voltage domains
>>> > and you should really build something in the drivers/power/*
>>>
>>> If everyone agrees that this belongs in drivers/power that's totally
>>> OK.  Neither Heiko nor I was confident that it should be in
>>> drivers/soc.  I had even though that the code wouldn't be totally out
>>> of place in the Rockchip pinctrl driver (adding Linus W since I think
>>> some SoCs did add code to handle 3.3V vs. 1.8V in pinctrl).
>>
>> a bit of context for Linus ...
>>
>> This is essentially the continuation of  the thread "io-domain voltages as
>> regulators?" from the beginning of august. After more discussions we found out
>> that the io voltage selection I asked about is not an independent supply, but
>> instead has to reflect the voltage of the real supplying regulator.
>>
>> And setting the io-voltage setting to 1.8V while the regulator is supplying
>> 3.3V for example may actually damage the chip.
>>
>>
>> So in our current approach here, we added a driver that tracks voltage changes
>> of the supplying regulator via a notifier and sets the register bits
>> accordingly.
>
> I feel I'm not smart enough for this. You need the PM people to look
> at this stuff, like Rafael Wysocki, Kevin Hilman and Ulf Hansson.

I think the best fit for this is along with the Adaptive Voltage Scaling
(AVS) stuff we currently have in drivers/power/avs.  It's not exactly
adaptive in the same sense as the TI/SmartReflex is because there's no
hardware being configured to dynamically make micro-adjustments to the
regulators.  But, it is adaptive in the sense that there's SoC-specific
"stuff" to do right around the same time the voltage is scaled.

So I would suggest drivers/power/avs.

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@linaro.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "Heiko Stübner" <heiko@sntech.de>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Doug Anderson" <dianders@chromium.org>,
	"Santosh Shilimkar" <santosh.shilimkar@ti.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Olof Johansson" <olof@lixom.net>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Addy Ke" <addy.ke@rock-chips.com>,
	"Sonny Rao" <sonnyrao@chromium.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Stephen Warren" <swarren@nvidia.com>,
	"Pawel Moll" <pawel.moll@arm.com>,
	"Ian Campbell" <ijc+devicetree@hellion.org.uk>,
	"Peter De Schrijver" <pdeschrijver@nvidia.com>,
	"Andy Gross" <agross@codeaurora.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Rob Herring" <robh+dt@kernel.org>
Subject: Re: [PATCH 0/2] IO voltage domain support for rk3188 and rk3288
Date: Wed, 10 Sep 2014 16:12:55 -0700	[thread overview]
Message-ID: <7hlhprqdc8.fsf@linaro.org> (raw)
In-Reply-To: <CACRpkda-XS0XLSkAZ-16=JvD8FbRJNuN4UVL4dMyV71bfU5T2A@mail.gmail.com> (Linus Walleij's message of "Thu, 4 Sep 2014 18:51:47 +0200")

Linus Walleij <linus.walleij@linaro.org> writes:

> On Sat, Aug 30, 2014 at 1:27 PM, Heiko Stübner <heiko@sntech.de> wrote:
>> Am Freitag, 29. August 2014, 21:51:46 schrieb Doug Anderson:
>>> On Thu, Aug 28, 2014 at 2:26 PM, Santosh Shilimkar
>>>
>>> <santosh.shilimkar@ti.com> wrote:
>>> > On Thursday 28 August 2014 03:36 PM, Doug Anderson wrote:
>>> >> These two patches add support for automatically configuring the IO
>>> >> voltage domains on rk3188 and rk3288 SoCs.  The first patch adds some
>>> >> new notification types to the regulator code.  It's used by the second
>>> >> patch which actually implements the IO voltage domain driver.
>>> >>
>>> >> These two patches were co-developed by Heiko Stübner and Doug Anderson
>>> >> (proof of concept patches were written by Heiko).  They were tested in
>>> >> a private branch on an rk3288 board using rk808 instead of mainline
>>> >> since rk808 support isn't finalized in mainline yet.
>>> >>
>>> >> (sorry if you got this series twice; my mailer seems unhappy with me)
>>> >>
>>> >> Heiko Stübner (2):
>>> >>   regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT)
>>> >>   soc/rockchip: io-domain: add driver handling io domains
>>> >
>>> > Sorry to shot down but your IO domains are nothing but voltage domains
>>> > and you should really build something in the drivers/power/*
>>>
>>> If everyone agrees that this belongs in drivers/power that's totally
>>> OK.  Neither Heiko nor I was confident that it should be in
>>> drivers/soc.  I had even though that the code wouldn't be totally out
>>> of place in the Rockchip pinctrl driver (adding Linus W since I think
>>> some SoCs did add code to handle 3.3V vs. 1.8V in pinctrl).
>>
>> a bit of context for Linus ...
>>
>> This is essentially the continuation of  the thread "io-domain voltages as
>> regulators?" from the beginning of august. After more discussions we found out
>> that the io voltage selection I asked about is not an independent supply, but
>> instead has to reflect the voltage of the real supplying regulator.
>>
>> And setting the io-voltage setting to 1.8V while the regulator is supplying
>> 3.3V for example may actually damage the chip.
>>
>>
>> So in our current approach here, we added a driver that tracks voltage changes
>> of the supplying regulator via a notifier and sets the register bits
>> accordingly.
>
> I feel I'm not smart enough for this. You need the PM people to look
> at this stuff, like Rafael Wysocki, Kevin Hilman and Ulf Hansson.

I think the best fit for this is along with the Adaptive Voltage Scaling
(AVS) stuff we currently have in drivers/power/avs.  It's not exactly
adaptive in the same sense as the TI/SmartReflex is because there's no
hardware being configured to dynamically make micro-adjustments to the
regulators.  But, it is adaptive in the sense that there's SoC-specific
"stuff" to do right around the same time the voltage is scaled.

So I would suggest drivers/power/avs.

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@linaro.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "Heiko Stübner" <heiko@sntech.de>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Doug Anderson" <dianders@chromium.org>,
	"Santosh Shilimkar" <santosh.shilimkar@ti.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Olof Johansson" <olof@lixom.net>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Addy Ke" <addy.ke@rock-chips.com>,
	"Sonny Rao" <sonnyrao@chromium.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Stephen Warren" <swarren@nvidia.com>,
	"Pawel Moll" <pawel.moll@arm.com>,
	"Ian Campbell" <ijc+devicetree@hellion.org.uk>,
	"Peter De Schrijver" <pdeschrijver@nvidia.com>,
	"Andy Gross" <agross@codeaurora.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Sandeep Nair" <sandeep_n@ti.com>,
	"Kumar Gala" <galak@codeaurora.org>,
	"Grant Likely" <grant.likely@linaro.org>,
	"Thierry Reding" <treding@nvidia.com>,
	"Nishanth Menon" <nm@ti.com>
Subject: Re: [PATCH 0/2] IO voltage domain support for rk3188 and rk3288
Date: Wed, 10 Sep 2014 16:12:55 -0700	[thread overview]
Message-ID: <7hlhprqdc8.fsf@linaro.org> (raw)
In-Reply-To: <CACRpkda-XS0XLSkAZ-16=JvD8FbRJNuN4UVL4dMyV71bfU5T2A@mail.gmail.com> (Linus Walleij's message of "Thu, 4 Sep 2014 18:51:47 +0200")

Linus Walleij <linus.walleij@linaro.org> writes:

> On Sat, Aug 30, 2014 at 1:27 PM, Heiko Stübner <heiko@sntech.de> wrote:
>> Am Freitag, 29. August 2014, 21:51:46 schrieb Doug Anderson:
>>> On Thu, Aug 28, 2014 at 2:26 PM, Santosh Shilimkar
>>>
>>> <santosh.shilimkar@ti.com> wrote:
>>> > On Thursday 28 August 2014 03:36 PM, Doug Anderson wrote:
>>> >> These two patches add support for automatically configuring the IO
>>> >> voltage domains on rk3188 and rk3288 SoCs.  The first patch adds some
>>> >> new notification types to the regulator code.  It's used by the second
>>> >> patch which actually implements the IO voltage domain driver.
>>> >>
>>> >> These two patches were co-developed by Heiko Stübner and Doug Anderson
>>> >> (proof of concept patches were written by Heiko).  They were tested in
>>> >> a private branch on an rk3288 board using rk808 instead of mainline
>>> >> since rk808 support isn't finalized in mainline yet.
>>> >>
>>> >> (sorry if you got this series twice; my mailer seems unhappy with me)
>>> >>
>>> >> Heiko Stübner (2):
>>> >>   regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT)
>>> >>   soc/rockchip: io-domain: add driver handling io domains
>>> >
>>> > Sorry to shot down but your IO domains are nothing but voltage domains
>>> > and you should really build something in the drivers/power/*
>>>
>>> If everyone agrees that this belongs in drivers/power that's totally
>>> OK.  Neither Heiko nor I was confident that it should be in
>>> drivers/soc.  I had even though that the code wouldn't be totally out
>>> of place in the Rockchip pinctrl driver (adding Linus W since I think
>>> some SoCs did add code to handle 3.3V vs. 1.8V in pinctrl).
>>
>> a bit of context for Linus ...
>>
>> This is essentially the continuation of  the thread "io-domain voltages as
>> regulators?" from the beginning of august. After more discussions we found out
>> that the io voltage selection I asked about is not an independent supply, but
>> instead has to reflect the voltage of the real supplying regulator.
>>
>> And setting the io-voltage setting to 1.8V while the regulator is supplying
>> 3.3V for example may actually damage the chip.
>>
>>
>> So in our current approach here, we added a driver that tracks voltage changes
>> of the supplying regulator via a notifier and sets the register bits
>> accordingly.
>
> I feel I'm not smart enough for this. You need the PM people to look
> at this stuff, like Rafael Wysocki, Kevin Hilman and Ulf Hansson.

I think the best fit for this is along with the Adaptive Voltage Scaling
(AVS) stuff we currently have in drivers/power/avs.  It's not exactly
adaptive in the same sense as the TI/SmartReflex is because there's no
hardware being configured to dynamically make micro-adjustments to the
regulators.  But, it is adaptive in the sense that there's SoC-specific
"stuff" to do right around the same time the voltage is scaled.

So I would suggest drivers/power/avs.

Kevin










  reply	other threads:[~2014-09-10 23:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-28 19:36 [PATCH 0/2] IO voltage domain support for rk3188 and rk3288 Doug Anderson
2014-08-28 19:36 ` Doug Anderson
2014-08-28 19:36 ` Doug Anderson
2014-08-28 19:36 ` [PATCH 1/2] regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT) Doug Anderson
2014-08-28 19:36   ` Doug Anderson
2014-08-29 11:05   ` Mark Brown
2014-08-29 11:05     ` Mark Brown
2014-08-28 19:36 ` [PATCH 2/2] soc/rockchip: io-domain: add driver handling io domains Doug Anderson
2014-08-28 19:36   ` Doug Anderson
2014-08-28 21:26 ` [PATCH 0/2] IO voltage domain support for rk3188 and rk3288 Santosh Shilimkar
2014-08-28 21:26   ` Santosh Shilimkar
2014-08-28 21:26   ` Santosh Shilimkar
2014-08-30  4:51   ` Doug Anderson
2014-08-30  4:51     ` Doug Anderson
2014-08-30  4:51     ` Doug Anderson
2014-08-30 11:27     ` Heiko Stübner
2014-08-30 11:27       ` Heiko Stübner
2014-08-30 11:27       ` Heiko Stübner
2014-09-04 16:51       ` Linus Walleij
2014-09-04 16:51         ` Linus Walleij
2014-09-04 16:51         ` Linus Walleij
2014-09-10 23:12         ` Kevin Hilman [this message]
2014-09-10 23:12           ` Kevin Hilman
2014-09-10 23:12           ` Kevin Hilman
  -- strict thread matches above, loose matches on Subject: below --
2014-08-28 19:19 Doug Anderson
2014-08-28 19:19 ` Doug Anderson

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=7hlhprqdc8.fsf@linaro.org \
    --to=khilman@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.