summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiwakar Tundlam <dtundlam@nvidia.com>2011-10-20 16:43:56 -0700
committerSimone Willett <swillett@nvidia.com>2011-10-26 15:53:46 -0700
commitc65d7a774f9d7112001cfe38bfe45d3d7e498d9a (patch)
tree15302fcbd9a37f62440a9562b255c6250f8c83d4
parent6feaad5a74a934f604f5d25220afff478c43736d (diff)
ARM: Tegra: Power: use api to get cpu regulator max_curr
used when the chip SKU is T33/T33S (cardhu) or AP33 (enterprise) to initialize edp with a higher cpu regulator max_curr value. bug 888679 Change-Id: Ica6fd472f414908b2620b4de88a13a5c72f05e52 Reviewed-on: http://git-master/r/60087 Tested-by: Diwakar Tundlam <dtundlam@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-cardhu-power.c12
-rw-r--r--arch/arm/mach-tegra/board-enterprise-power.c10
2 files changed, 18 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-power.c b/arch/arm/mach-tegra/board-cardhu-power.c
index 2698a25b2f4c..7ba659444607 100644
--- a/arch/arm/mach-tegra/board-cardhu-power.c
+++ b/arch/arm/mach-tegra/board-cardhu-power.c
@@ -1160,9 +1160,15 @@ void __init tegra_tsensor_init(void)
int __init cardhu_edp_init(void)
{
- /* Temporary initalization, needs to be set to the actual
- regulator current */
- tegra_init_cpu_edp_limits(5000);
+ unsigned int regulator_mA;
+
+ regulator_mA = get_maximum_cpu_current_supported();
+ if (!regulator_mA) {
+ regulator_mA = 5000; /* regular T30/s */
+ }
+ pr_info("%s: CPU regulator %d mA\n", __func__, regulator_mA);
+
+ tegra_init_cpu_edp_limits(regulator_mA);
return 0;
}
#endif
diff --git a/arch/arm/mach-tegra/board-enterprise-power.c b/arch/arm/mach-tegra/board-enterprise-power.c
index acbe4a84fc28..e246a232f695 100644
--- a/arch/arm/mach-tegra/board-enterprise-power.c
+++ b/arch/arm/mach-tegra/board-enterprise-power.c
@@ -550,7 +550,15 @@ int __init enterprise_suspend_init(void)
int __init enterprise_edp_init(void)
{
- tegra_init_cpu_edp_limits(2500); /* 2.5A regulator */
+ unsigned int regulator_mA;
+
+ regulator_mA = get_maximum_cpu_current_supported();
+ if (!regulator_mA) {
+ regulator_mA = 2500; /* regular AP30 */
+ }
+ pr_info("%s: CPU regulator %d mA\n", __func__, regulator_mA);
+
+ tegra_init_cpu_edp_limits(regulator_mA);
return 0;
}
#endif