All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
	Rob Herring <robh@kernel.org>, Nishanth Menon <nm@ti.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Dave Gerlach <d-gerlach@ti.com>
Cc: Rafael Wysocki <rjw@rjwysocki.net>,
	Linaro Kernel Mailman List <linaro-kernel@lists.linaro.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Rob Herring <rob.herring@linaro.org>,
	Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH 01/16] PM / OPP: Add 'supply-names' binding
Date: Tue, 1 Mar 2016 09:09:02 -0600	[thread overview]
Message-ID: <56D5B08E.1080201@ti.com> (raw)
In-Reply-To: <CAKohpo=fcab=eisbwMw=wvbmuXVY5iw_CSe3QK1Ax_i-56JAzA@mail.gmail.com>

On 03/01/2016 12:45 AM, Viresh Kumar wrote:
> [Removed few people and LKML from CC as its not really about DT
> change anymore but OPP]
> 
> Hi Guys,
> 
> On 15 September 2015 at 01:52, Rob Herring <robh@kernel.org> wrote:
> 
>> Remind me of when do we have multiple regulators for a cpu? The number
>> of supplies should be defined by the cpu binding as function of how many
>> supply rails a cpu has.
> 
> This thread died long back and we never worked out support for multiple
> regulators into the OPP core.
> 
> But, Dave and Nishanth (from TI) pinged me last week about it. According
> to them, their platform has got two regulators for the CPU device and they
> want OPP layer to have this support.
> 
> I was expecting them to reignite this thread, but don't know what happened.

Thanks a ton viresh bringing this back up again.

> 
> And so, I am starting it here.
> 
> @Dave/Nishanth: Can you please explain the use-case here please? So
> that we can get convinced that you really need OPP-core to support multiple
> regulators..
> 

For controlling leakage and switching frequency of the transistors,
traditional controls are usually around the voltage rail alone. This is
not entirely accurate. many SoC vendors including TI [1] and others[2]
use Body Biasing to control leakage. in fact this is already modeled as
a regulator for controlling the SoC internal LDO for TI devices in Linux
kernel (drivers/regulator/ti-abb-regulator.c).


What this means is something as simple as follows:

Typical usage:
    VDD
    ---
     |
     |
     /
   |/
 --|
   |\
     V
     |
     |
    GND


Here we provide voltage optimized for the switching frequency required
for operation.

With Body Biasing: (simplified diagram)
    VDD   VBB (Body Bias)
    ---   ---
     |     |
     |     |
     /     |
   |/      |
 --|   ----/
   |\
     V
     |
     |
    GND


This implies that for an OPP, we have the triplet {frequency, VDD(SMPS
voltage), VBB(Bias voltage) } - Multi regulator is key for all OMAP
generation SoCs since OMAP3 to function for frequencies -> DRA7 for
example mandates ABB for all OPPs.

For some reason, this entire thread slipped out attention :( - Thanks
viresh for bringing it back to focus.


[1] http://www.ti.com/product/DM3730/technicaldocuments including
http://www.ti.com/product/am5728?keyMatch=am5728  (TI) OMAP3, OMAP4,
OMAP5, DRA7, AM57xx SoCs all have this

[2] http://www.techdesignforums.com/practice/guides/dvfs-body-back-bias/
(ST Micro for example)


-- 
Regards,
Nishanth Menon

  reply	other threads:[~2016-03-01 15:09 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11 12:01 [PATCH 00/16] PM / OPP: multiple regulators & opp-transition support Viresh Kumar
2015-09-11 12:01 ` [PATCH 01/16] PM / OPP: Add 'supply-names' binding Viresh Kumar
2015-09-11 12:01   ` Viresh Kumar
2015-09-14 20:22   ` Rob Herring
2015-09-15  2:47     ` Viresh Kumar
2015-09-15  2:47       ` Viresh Kumar
2015-10-08  9:27       ` Viresh Kumar
2015-10-16  0:22     ` Stephen Boyd
2015-10-16  6:02       ` Viresh Kumar
2015-10-16 19:16         ` Stephen Boyd
2015-10-16 19:16           ` Stephen Boyd
2015-10-17  4:10           ` Viresh Kumar
2015-10-21 13:18             ` Viresh Kumar
2015-10-22 16:39             ` Mark Brown
2015-10-27  8:19               ` Viresh Kumar
2015-10-28  8:17                 ` Mark Brown
2015-10-29 23:38                   ` Stephen Boyd
2015-10-29 23:38                     ` Stephen Boyd
2016-03-01  6:45     ` Viresh Kumar
2016-03-01 15:09       ` Nishanth Menon [this message]
2016-03-02  2:50       ` Mark Brown
2016-03-02 10:28         ` Viresh Kumar
2016-03-02 11:24           ` Mark Brown
2016-03-02 15:26             ` Nishanth Menon
2016-03-02 15:30               ` Mark Brown
2016-03-02 15:43                 ` Nishanth Menon
2015-10-22 16:30   ` Mark Brown
2015-09-11 12:01 ` [PATCH 02/16] PM / OPP: Add 'opp-microvolt-triplets' binding Viresh Kumar
2015-09-11 12:01   ` Viresh Kumar
2015-09-14 20:30   ` Rob Herring
2015-09-15  3:30     ` Viresh Kumar
2015-09-19 15:39       ` Mark Brown
2015-09-11 12:01 ` [PATCH 03/16] PM / OPP: Improve debug print messages with pr_fmt Viresh Kumar
2015-09-11 12:01   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 04/16] PM / OPP: Rename routines specific to old bindings with _v1 Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 05/16] PM / OPP: Parse all power-supply related bindings together Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 06/16] PM / OPP: Create separate structure for regulator/supplies Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 07/16] PM / OPP: Add multiple regulators support Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 08/16] PM / OPP: get/put regulators from OPP core Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 09/16] PM / OPP: Disable OPPs that aren't supported by the regulators Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 10/16] PM / OPP: Introduce dev_pm_opp_get_max_volt_latency() Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 11/16] PM / OPP: Introduce dev_pm_opp_get_max_transition_latency() Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 12/16] PM / OPP: Parse clock and voltage tolerance for v1 bindings Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 13/16] PM / OPP: Manage device clk as well Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 14/16] PM / OPP: Add dev_pm_opp_set_regulator() to specify regulator Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 15/16] PM / OPP: Add dev_pm_opp_set_rate() Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar
2015-09-11 12:02 ` [PATCH 16/16] PM / OPP: don't print error message for deferred probing Viresh Kumar
2015-09-11 12:02   ` Viresh Kumar

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=56D5B08E.1080201@ti.com \
    --to=nm@ti.com \
    --cc=broonie@kernel.org \
    --cc=d-gerlach@ti.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=rob.herring@linaro.org \
    --cc=robh@kernel.org \
    --cc=sboyd@codeaurora.org \
    --cc=viresh.kumar@linaro.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.