linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>,
	Rob Herring <robherring2@gmail.com>, Nishanth Menon <nm@ti.com>,
	kernel@stlinux.com,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
	Rafael Wysocki <rjw@rjwysocki.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Sebastian Reichel <sre@kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Ajit Pal Singh <ajitpal.singh@st.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4 2/2] dt: power: st: Provide bindings for ST's OPPs
Date: Tue, 11 Aug 2015 16:17:36 +0100	[thread overview]
Message-ID: <20150811151736.GO18282@x1> (raw)
In-Reply-To: <20150811142812.GJ5509@linux>

On Tue, 11 Aug 2015, Viresh Kumar wrote:
> On 11-08-15, 14:27, Lee Jones wrote:
> > Okay, so what you're saying is that you've already made the decision
> > to create a separate node for every OPP permutation,
> 
> Absolutely not.
> 
> > despite the fact
> > that I've told you this could lead to more nodes than anyone would
> > care to successfully write or maintain?
> 
> I have enough fear of yours and then I have to see you in another
> month as well. I wouldn't dare to disobey your command SIR :)

Funny guy! ;)

> > Perhaps an example might help explain the issue.
> > 
> > Using the current driver, we need to place the following in DT and the
> > driver does the rest:
> > 
> > opp-list {
> > 	opp1 {
> > 		opp-hz = <1500000000>;
> > 		st,avs = <1200 1200 1200 1200 1170 1140 1100 1070>;
> > 		st,substrate = <0xff>;
> > 		st,cuts = <0xff>;
> > 	};
> > 	opp0 {
> > 		opp-hz = <1200000000>;
> > 		st,avs = <1110 1150 1100 1080 1040 1020 980 930>;
> > 		st,substrate = <0xff>;
> > 		st,cuts = <0x2>;
> > 	};
> > };
> 
> Nothing is fixed as of now but this is what I am thinking of:
> 
> 	cpu0_opp_table: opp_table0 {
> 		compatible = "operating-points-v2";
>                 opp-cuts = "10", "3c", "f0";
> 		supply-names = "vcc0", "vcc1", "vcc2";
> 		opp-shared;
> 
> 		opp00 {
> 			opp-hz = /bits/ 64 <1000000000>;
> 			clock-latency-ns = <300000>;
> 			opp-microvolt-10 = <970000>;
> 			opp-microvolt-3c = <950000>;
> 			opp-microvolt-f0 = <930000>;
> 		};
> 
> 		/* OR */
> 
> 		opp00 {
> 			opp-hz = /bits/ 64 <1000000000>;
> 			clock-latency-ns = <300000>;
>                         opp-microvolt = <970000>, <950000>, <930000>;
> 		};
>         };
> 
> And then the platform code needs to tell OPP layer:
> "Use OPPs for cut f0 for device X", and OPP layer will store that
> somewhere.
> 
> And then it will only initialize OPPs after matching this string with
> the values.
> 
> Out of the earlier two options, I may prefer the first one. As we will
> be soon adding support for multiple regulators, and a single regulator
> can have min/max/target values.. So, a single list will become too
> long.

This would work if we only had a single variable to contend with, but
what I showed you in my previous example is that we have 3 variables
to consider; cut (version), pcode and substrate.

Using the two (simple) examples I provided, how would your suggestion
look in our case?

> But, something like this should be generic enough to capture most of
> the cases.
> 
> @Stephen/Rob ??
> 

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2015-08-11 15:17 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-27 15:20 [PATCH v4 1/2] dt: cpufreq: st: Provide bindings for ST's CPUFreq implementation Lee Jones
2015-07-27 15:20 ` [PATCH v4 2/2] dt: power: st: Provide bindings for ST's OPPs Lee Jones
2015-07-28  2:29   ` Viresh Kumar
2015-07-28  7:34     ` Lee Jones
2015-07-28  7:47       ` Viresh Kumar
2015-07-28  8:30         ` Lee Jones
2015-07-28 22:55     ` Stephen Boyd
2015-07-29  8:14       ` Lee Jones
2015-07-29 22:15         ` Stephen Boyd
2015-07-30  8:46           ` Lee Jones
2015-07-30 16:16             ` Rob Herring
2015-07-31 16:37               ` Stephen Boyd
2015-08-01 11:36                 ` Viresh Kumar
2015-08-03  3:46                 ` Viresh Kumar
2015-08-10 13:22                   ` Lee Jones
2015-08-11  8:00                     ` Viresh Kumar
2015-08-11  9:30                       ` Lee Jones
2015-08-11 10:09                         ` Viresh Kumar
2015-08-11 11:54                           ` Lee Jones
2015-08-11 12:01                             ` Viresh Kumar
2015-08-11 13:27                               ` Lee Jones
2015-08-11 14:28                                 ` Viresh Kumar
2015-08-11 15:17                                   ` Lee Jones [this message]
2015-08-12 11:08                                     ` Viresh Kumar
2015-08-26 12:06                                       ` Lee Jones
2015-09-02  8:06                                         ` Viresh Kumar
2015-09-02 18:58                                           ` Rob Herring
2015-09-09  6:27                                             ` Viresh Kumar
2015-09-09  7:59                                               ` Lee Jones
2015-09-09  8:30                                                 ` Viresh Kumar
2015-09-09 13:39                                                   ` Lee Jones
2015-09-09 16:02                                                     ` Viresh Kumar
2015-09-09 16:36                                                       ` Lee Jones
2015-09-09 23:50                                                         ` Rob Herring
2015-09-10  0:57                                                           ` Stephen Boyd
2015-09-10  1:04                                                             ` Viresh Kumar
2015-09-10  8:31                                                               ` Lee Jones
2015-09-16  4:33                                                                 ` Viresh Kumar
2015-09-16  6:52                                                                   ` Lee Jones
     [not found]   ` <1438010430-5802-2-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-07-28 13:55     ` Rob Herring
     [not found]       ` <CAL_JsqL=e+fL_67_GPKjt_7wJ81GfFx7m9gjxmBDvW_JBXWpfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-28 14:39         ` Lee Jones
2015-07-28 15:35           ` Rob Herring
2015-07-28 15:43             ` Lee Jones
2015-07-28  2:23 ` [PATCH v4 1/2] dt: cpufreq: st: Provide bindings for ST's CPUFreq implementation Viresh Kumar
2015-07-28  7:41   ` Lee Jones
2015-07-28  7:50     ` Viresh Kumar
2015-07-28  8:35 ` Viresh Kumar
2015-07-28  8:55   ` Lee Jones

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=20150811151736.GO18282@x1 \
    --to=lee.jones@linaro.org \
    --cc=ajitpal.singh@st.com \
    --cc=arnd.bergmann@linaro.org \
    --cc=dbaryshkov@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@stlinux.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=rjw@rjwysocki.net \
    --cc=robherring2@gmail.com \
    --cc=sboyd@codeaurora.org \
    --cc=sre@kernel.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 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).