Subject: Device tree binding for DVFS table

From: [email-masked] (Prashant Gaikwad)
Date: Tue, 17 Jul 2012 19:52:12 +0530

On Tuesday 17 July 2012 06:50 PM, Mark Brown wrote:
> On Tue, Jul 17, 2012 at 06:07:23PM +0530, Prashant Gaikwad wrote:
>> On Tuesday 17 July 2012 12:06 AM, Turquette, Mike wrote:
>> reg : operating voltage in microvolt
> What happens if there's more than one supply that needs to be varied?

Each rail's dvfs-table will have OPP nodes defined for different 
voltages and each OPP node contains frequency for all clocks affecting 
that rail.

Just for presentation:

In following example when <&ref 1> clock rate is set to 500000, sm0 need 
to operate at 750000000 micrvolt and sm1 at 800000000.

dvfs-rail-1 {
      reg_id = <&sm0>;
      opp at 750000000 {
              frequency-table at 102 {
                      frequencies = <&osc 0 314000>, <&ref 1 500000>;
              };
      };
};

dvfs-rail-2 {
     reg_id = <&sm1>;
     opp at 800000000 {
             frequency-table at 102 {
                       frequencies = <&ref 1 5000000>;
             };
     };
};

>> tolerance : can be used to calculate required voltage. (optional,
>> can be replaced by other relevant parameter to calculate required
>> voltage)
> What are the semantics of this field?

I used "tolerance" just for example to derive the range of voltage.
May be as done for OMAP,
regulator_set_voltage(mpu_reg, volt - tol, volt + tol);