Re: [RFC] cpufreq: Add "dvfs-method" binding to probe cpufreq drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

On 26 November 2014 at 14:16, Viresh Kumar <viresh.kumar@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
>  .../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
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux