diff options
author | Diwakar Tundlam <dtundlam@nvidia.com> | 2011-10-20 16:43:56 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2011-10-26 15:53:46 -0700 |
commit | c65d7a774f9d7112001cfe38bfe45d3d7e498d9a (patch) | |
tree | 15302fcbd9a37f62440a9562b255c6250f8c83d4 | |
parent | 6feaad5a74a934f604f5d25220afff478c43736d (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.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-enterprise-power.c | 10 |
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 |