]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
soc: tegra: get min voltage from regulator
authorPeter De Schrijver <pdeschrijver@nvidia.com>
Tue, 22 Nov 2016 13:26:37 +0000 (15:26 +0200)
committermobile promotions <svcmobile_promotions@nvidia.com>
Tue, 29 Nov 2016 09:19:37 +0000 (01:19 -0800)
If the rail definition doesn't specify a minimum voltage, try to get one from
the regulator framework.

Change-Id: I67097d9636d62785e6532c81098c4c89f515c461
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/1258187
GVS: Gerrit_Virtual_Submit
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
drivers/soc/tegra/tegra-dvfs.c

index d6794094d16fcd854330c6ba6a333895ba76171b..d2ec1932738890c3d5537e11d0b317aa8e599998 100644 (file)
@@ -408,6 +408,14 @@ static int dvfs_rail_connect_to_regulator(struct device *dev,
                return v;
        }
 
+       if (!rail->min_millivolts) {
+               int min_uv, max_uv;
+
+               if (!regulator_get_constraint_voltages(rail->reg, &min_uv,
+                                                      &max_uv))
+                       rail->min_millivolts = min_uv / 1000;
+       }
+
        rail->millivolts = v / 1000;
        rail->new_millivolts = rail->millivolts;
        dvfs_rail_stats_init(rail, rail->millivolts);
@@ -606,6 +614,11 @@ int tegra_dvfs_predict_millivolts(struct clk *c, unsigned long rate)
 }
 EXPORT_SYMBOL(tegra_dvfs_predict_millivolts);
 
+int tegra_dvfs_predict_mv_at_hz_cur_tfloor(struct clk *c, unsigned long rate)
+{
+       return tegra_dvfs_predict_millivolts(c, rate);
+}
+
 /**
  * tegra_dvfs_set_rate - update rail voltage due to the clock rate change
  *