linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: Device tree binding for DVFS table
Date: Wed, 11 Jul 2012 09:03:41 -0500	[thread overview]
Message-ID: <4FFD87BD.2030206@gmail.com> (raw)
In-Reply-To: <4FFD77FE.8050206@nvidia.com>

On 07/11/2012 07:56 AM, Prashant Gaikwad wrote:
> Hi,
> 
> I am working on DT binding for Tegra DVFS.
> 
> For Tegra, DVFS node mainly consists of frequency and voltage pairs.
> Frequency in the pair may change for different process. E.g. for process
> 1 CPU clock frequency could be 900MHz at 1V while for process 2 it could
> be 1GHz at 1V.
> Tegra uses vendor specific ids to identify the correct frequency table.
> 
> Following is the proposed binding for voltage and frequency tables used
> in DVFS. Looking for comments/suggestions to make it generic.
> 
> =======DVFS table node===================
> This node defines the voltage configuration for the DVFS which includes
> the regulator and voltage array.
> 
> Required properties:
> 
> reg_id : <regulator phandle>;
> voltage-table : <voltage array, values in mV>;
> 
> #address-cells and #size-cells : To identify correct frequency table
> using process id (or some other vendor specific way).
> 
> ========Frequency table node===============
> 
> This node defines frequency configuration for the device DVFS.
> 
> Required properties:
> 
> In device node need a reference to the DVFS table node.
> 
> dvfs : the phandle for the DVFS table node
> 
> frequency-table at n
>        reg = <n>; dependent on address-cells and size-cells in DVFS
> table node.
>        frequencies = <frequency array, values in MHz>;

You are storing u32 values, why limit the resolution to MHz.

Put the unit in the property names.

> }
> 
> Example:
> -------------------------------------------------------------------------
> 
> cpu-dvfs-table : dvfs-table {

This should be located with the node that the frequencies correspond to.

>               compatible = "nvidia,tegra30-dvfs-table";
>               reg_id = <&sm0>;
>               #address-cells = <1>;
>               #size-cells = <0>;
>               voltage-array = <750 775 800 825 850 875 900 925 950 975
> 1000 1025 1050 1100 1125>;

The SOC is really characterized at all these voltages?

> };
> 
> device {
>              dvfs = <&cpu-dvfs-table>;
>              frequency-table at 102 {
>                       reg = <0x102>;
>                       frequencies = <314 314 314 456 456 456 608 608 608
> 760 817 817 912 1000>;

I don't see the point of repeating frequencies.

>              };
>              frequency-table at 002 {
>                       reg = <0x002>;
>                       frequencies = <598 598 750 750 893 893 1000>;
>              };

How do you determine the voltage for a frequency on table 2?

I'd expect a single property with freq/volt pairs or 2 properties for
freq and voltage where there is a 1:1 relationship (freq N uses voltage N).

Rob

> };
> 
> Thanks & Regards,
> Prashant G
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2012-07-11 14:03 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-11 12:56 Device tree binding for DVFS table Prashant Gaikwad
2012-07-11 14:03 ` Rob Herring [this message]
2012-07-11 14:44   ` Mark Brown
2012-07-11 20:04     ` Mike Turquette
2012-07-12  4:14       ` Prashant Gaikwad
2012-07-12 14:10       ` Peter De Schrijver
2012-07-12 17:10         ` Mike Turquette
2012-07-12 17:15           ` Mark Brown
2012-07-13 10:34           ` Peter De Schrijver
2012-07-13 17:25             ` Mike Turquette
2012-07-12  4:17     ` Prashant Gaikwad
2012-07-12 15:23       ` Mark Brown
2012-07-12 17:01       ` Mike Turquette
2012-07-12  8:19     ` Peter De Schrijver
2012-07-12  4:08   ` Prashant Gaikwad
2012-07-13 18:30     ` Prashant Gaikwad
2012-07-15 21:40       ` Mark Brown
2012-07-15 23:42     ` Rob Herring
2012-07-16 18:36       ` Turquette, Mike
2012-07-17 12:37         ` Prashant Gaikwad
2012-07-17 13:20           ` Mark Brown
2012-07-17 14:22             ` Prashant Gaikwad
2012-07-17 14:37               ` Mark Brown
2012-07-18 12:46                 ` Prashant Gaikwad
2012-07-18 21:19                   ` Mark Brown
2012-07-18 17:08 ` Shawn Guo
  -- strict thread matches above, loose matches on Subject: below --
2012-07-11 13:08 함명주
2012-07-11 13:49 ` Peter De Schrijver
2012-07-11 13:49 ` Peter De Schrijver
2012-07-12  4:22   ` Prashant Gaikwad

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=4FFD87BD.2030206@gmail.com \
    --to=robherring2@gmail.com \
    --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 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).