summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/dvfs.c
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2012-07-26 21:40:24 -0700
committerVarun Colbert <vcolbert@nvidia.com>2012-08-01 18:00:04 -0700
commitbc536315262eaef900429a88e19da6a607d6de4f (patch)
tree6fbb4a2a61f2ed5aacc12f3807408fb658233ce1 /arch/arm/mach-tegra/dvfs.c
parentb8f610d8a591d0287d8a996915b3dfae6d8672da (diff)
ARM: tegra: dvfs: Re-arrange dvfs late initialization
Re-arrange tegra clocks and dvfs late initialization to enforce the following order: - All boot clocks enabled by the boot-loader, but not set by the drivers must be disabled before dvfs is connected to the regulators - CPU DFLL can be initialized only after successful dvfs connection to the regulators is established - CPU clock sources should be aligned with kernel policies after attempt to initialize DFLL - CPU rate increase is not allowed until dvfs is connected to regulators (on Tegra11 any rate change was not allowed - the policy is relaxed now, and rate decrease is supported similarly to Tegra30) Bug 871124 Change-Id: Ic26059327f8939bb5c082931cb7bb1203f67aa42 Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/119137 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/dvfs.c')
-rw-r--r--arch/arm/mach-tegra/dvfs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/dvfs.c b/arch/arm/mach-tegra/dvfs.c
index cb33e3db862f..ee535b24bca2 100644
--- a/arch/arm/mach-tegra/dvfs.c
+++ b/arch/arm/mach-tegra/dvfs.c
@@ -696,12 +696,15 @@ int __init tegra_dvfs_late_init(void)
mutex_unlock(&dvfs_lock);
+#ifdef CONFIG_TEGRA_SILICON_PLATFORM
+ if (!connected)
+ return -ENODEV;
+#endif
register_pm_notifier(&tegra_dvfs_nb);
register_reboot_notifier(&tegra_dvfs_reboot_nb);
return 0;
}
-late_initcall(tegra_dvfs_late_init);
#ifdef CONFIG_DEBUG_FS
static int dvfs_tree_sort_cmp(void *p, struct list_head *a, struct list_head *b)