linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Rafael Wysocki <rjw@rjwysocki.net>
Cc: Lists linaro-kernel <linaro-kernel@lists.linaro.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Nishanth Menon <nm@ti.com>, Sudeep Holla <Sudeep.Holla@arm.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Mike Turquette <mike.turquette@linaro.org>,
	Rob Herring <rob.herring@linaro.org>,
	Grant Likely <grant.likely@linaro.org>,
	Abhilash Kesavan <kesavan.abhilash@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Chander Kashyap <k.chander@samsung.com>,
	"olof@lixom.net" <olof@lixom.net>,
	Thomas Abraham <ta.omasab@gmail.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	santosh.shilimkar@oracle.com
Subject: Re: [RFC] cpufreq: Add "dvfs-method" binding to probe cpufreq drivers
Date: Wed, 26 Nov 2014 14:19:57 +0530	[thread overview]
Message-ID: <CAKohpomBijLiBgV31ZhZDTctsTLccBZ+93r+esG-WRZAS4sqww@mail.gmail.com> (raw)
In-Reply-To: <596a6d49f2b3e2837aa9a54a3e1249161d3c9265.1416991009.git.viresh.kumar@linaro.org>

Fixing Santosh's email id as he switched employer ..

On 26 November 2014 at 14:16, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> DT based cpufreq drivers doesn't require much support from platform code now a
> days as most of the stuff is moved behind generic APIs. Like clk APIs for
> changing clock rates, regulator APIs for changing voltages, etc.
>
> One of the bottleneck still left was how to select which cpufreq driver to probe
> for a given platform as there might be multiple drivers available.
>
> Traditionally, we used to create platform devices from machine specific code
> which binds with a cpufreq driver. And while we moved towards DT based device
> creation, these devices stayed as is.
>
> The problem is getting worse now as we have architectures now with Zero platform
> specific code. Forcefully these platforms have to create a new file in
> drivers/cpufreq/ to just add these platform devices in order to use the generic
> drivers like cpufreq-dt.c.
>
> This has been discussed again and again, but with no solution yet. Last it was
> discussed here:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/256154.html
>
> This patch is an attempt towards getting the bindings.
>
> We only need to have one entry in cpus@cpu0 node which will match with drivers
> name.
>
> We can then add another file drivers/cpufreq/device_dt.c, which will add a
> platform device with the name it finds from cpus@cpu0 node and existing drivers
> will work without any change. Or something else if somebody have a better
> proposal. But lets fix the bindings first.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  .../devicetree/bindings/cpufreq/drivers.txt        | 53 ++++++++++++++++++++++
>  1 file changed, 53 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/cpufreq/drivers.txt
>
> diff --git a/Documentation/devicetree/bindings/cpufreq/drivers.txt b/Documentation/devicetree/bindings/cpufreq/drivers.txt
> new file mode 100644
> index 0000000..bd14917
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/cpufreq/drivers.txt
> @@ -0,0 +1,53 @@
> +Binding to select which cpufreq driver to register
> +
> +It is a generic DT binding for selecting which cpufreq-driver to register for
> +any platform.
> +
> +The property  listed below must be defined under node /cpus/cpu@0 node. We don't
> +support multiple CPUFreq driver currently for different cluster and so this
> +information isn't required to be present in CPUs of all clusters.
> +
> +Required properties:
> +- None
> +
> +Optional properties:
> +- dvfs-method: CPUFreq driver to probe. For example: "arm-bL-cpufreq-dt",
> +  "cpufreq-dt", etc
> +
> +Examples:
> +
> +cpus {
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +
> +       cpu@0 {
> +               compatible = "arm,cortex-a9";
> +               reg = <0>;
> +               next-level-cache = <&L2>;
> +               operating-points = <
> +                       /* kHz    uV */
> +                       792000  1100000
> +                       396000  950000
> +                       198000  850000
> +               >;
> +               dvfs-method = "cpufreq-dt";
> +       };
> +
> +       cpu@1 {
> +               compatible = "arm,cortex-a9";
> +               reg = <1>;
> +               next-level-cache = <&L2>;
> +       };
> +
> +       cpu@2 {
> +               compatible = "arm,cortex-a9";
> +               reg = <2>;
> +               next-level-cache = <&L2>;
> +       };
> +
> +       cpu@3 {
> +               compatible = "arm,cortex-a9";
> +               reg = <3>;
> +               next-level-cache = <&L2>;
> +       };
> +};
> --
> 2.0.3.693.g996b0fd
>

  reply	other threads:[~2014-11-26  8:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26  8:46 [RFC] cpufreq: Add "dvfs-method" binding to probe cpufreq drivers Viresh Kumar
2014-11-26  8:49 ` Viresh Kumar [this message]
2014-11-26 16:34   ` santosh shilimkar
2014-11-27  5:14     ` Viresh Kumar
2014-11-30 20:04       ` santosh.shilimkar
2014-11-26 17:00 ` Sudeep Holla
2014-11-26 17:04   ` Sudeep Holla
2014-11-27  5:29   ` Viresh Kumar
2014-11-27  9:54     ` Sudeep Holla
2014-11-27 10:22       ` Viresh Kumar
2014-11-27 11:15         ` Sudeep Holla
2014-11-28  6:31           ` Viresh Kumar
2014-11-28 11:51             ` Sudeep Holla
2014-12-01  8:06               ` 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=CAKohpomBijLiBgV31ZhZDTctsTLccBZ+93r+esG-WRZAS4sqww@mail.gmail.com \
    --to=viresh.kumar@linaro.org \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=Sudeep.Holla@arm.com \
    --cc=arnd.bergmann@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=k.chander@samsung.com \
    --cc=kesavan.abhilash@gmail.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mike.turquette@linaro.org \
    --cc=nm@ti.com \
    --cc=olof@lixom.net \
    --cc=rjw@rjwysocki.net \
    --cc=rob.herring@linaro.org \
    --cc=santosh.shilimkar@oracle.com \
    --cc=sboyd@codeaurora.org \
    --cc=ta.omasab@gmail.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).