summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra11_edp.c
diff options
context:
space:
mode:
authorDiwakar Tundlam <dtundlam@nvidia.com>2013-06-10 14:27:35 -0700
committerHarshada Kale <hkale@nvidia.com>2013-06-21 04:33:30 -0700
commitdec800e23c7818656a6ec5e56b54d54d22681380 (patch)
tree40aece7488e1bd5c4ca7d2644fd70e2fccc47878 /arch/arm/mach-tegra/tegra11_edp.c
parent4bd3d2b5870482ebca1f6487025bc1c38fd4fe2c (diff)
arm: tegra: refactor edp parameters init
Move common numeric values to be macro-based to avoid duplicates Bug 1304350 Change-Id: Iac5fc39f421423487f6d012cbabe26ecac8a1787 Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com> Reviewed-on: http://git-master/r/237411
Diffstat (limited to 'arch/arm/mach-tegra/tegra11_edp.c')
-rw-r--r--arch/arm/mach-tegra/tegra11_edp.c146
1 files changed, 41 insertions, 105 deletions
diff --git a/arch/arm/mach-tegra/tegra11_edp.c b/arch/arm/mach-tegra/tegra11_edp.c
index e8ffd240e1da..5cddea0987ee 100644
--- a/arch/arm/mach-tegra/tegra11_edp.c
+++ b/arch/arm/mach-tegra/tegra11_edp.c
@@ -526,43 +526,47 @@ static struct core_edp_entry core_edp_table[] = {
};
#ifdef CONFIG_TEGRA_EDP_LIMITS
+#define LEAKAGE_CONSTS_IJK_COMMON \
+ { \
+ /* i = 0 */ \
+ { { -42746668, -5458429, 164998, -1711, }, \
+ { 178262421, 13375684, -411791, 4590, }, \
+ { -228866784, -10482993, 331248, -4062, }, \
+ { 94301550, 2618719, -85983, 1193, }, \
+ }, \
+ /* i = 1 */ \
+ { { -256611791, 49677413, -1655785, 14917, }, \
+ { 584675433, -132620939, 4541560, -41812, }, \
+ { -398106336, 115987156, -4102328, 38737, }, \
+ { 68897184, -33030745, 1217839, -11801, }, \
+ }, \
+ /* i = 2 */ \
+ { { 186324676, -36019083, 1177969, -10669, }, \
+ { -439237936, 98429131, -3276444, 30301, }, \
+ { 315060898, -88635036, 3004777, -28474, }, \
+ { -60854399, 26267188, -907121, 8844, }, \
+ }, \
+ /* i = 3 */ \
+ { { -35432997, 6154621, -202200, 1830, }, \
+ { 87402153, -16908683, 565152, -5220, }, \
+ { -67775314, 15326770, -521221, 4927, }, \
+ { 15618709, -4576116, 158401, -1538, }, \
+ }, \
+ }
+
+#define LEAKAGE_PARAMS_COMMON_PART \
+ .dyn_scaled = 1000000, \
+ .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 }, \
+ .consts_scaled = 1000000, \
+ .leakage_consts_n = { 538991, 752463, 959441, 1150000 }, \
+ .ijk_scaled = 100000, \
+ .leakage_min = 30, \
+ .volt_temp_cap = { 70, 1300 }, \
+ .leakage_consts_ijk = LEAKAGE_CONSTS_IJK_COMMON
+
static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = {
{
.cpu_speedo_id = 0, /* A01 CPU */
-
- .dyn_scaled = 1000000,
- .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 },
-
- .consts_scaled = 1000000,
- .leakage_consts_n = { 538991, 752463, 959441, 1150000 },
-
- .ijk_scaled = 100000,
- .leakage_consts_ijk = {
- /* i = 0 */
- { { -42746668, -5458429, 164998, -1711, },
- { 178262421, 13375684, -411791, 4590, },
- { -228866784, -10482993, 331248, -4062, },
- { 94301550, 2618719, -85983, 1193, },
- },
- /* i = 1 */
- { { -256611791, 49677413, -1655785, 14917, },
- { 584675433, -132620939, 4541560, -41812, },
- { -398106336, 115987156, -4102328, 38737, },
- { 68897184, -33030745, 1217839, -11801, },
- },
- /* i = 2 */
- { { 186324676, -36019083, 1177969, -10669, },
- { -439237936, 98429131, -3276444, 30301, },
- { 315060898, -88635036, 3004777, -28474, },
- { -60854399, 26267188, -907121, 8844, },
- },
- /* i = 3 */
- { { -35432997, 6154621, -202200, 1830, },
- { 87402153, -16908683, 565152, -5220, },
- { -67775314, 15326770, -521221, 4927, },
- { 15618709, -4576116, 158401, -1538, },
- },
- },
.max_current_cap = { /* values are from tegra4 datasheet */
{ .max_cur = 9000, .max_temp = 60,
{ 1900000, 1900000, 1600000, 1600000 }
@@ -580,44 +584,10 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = {
{ 1900000, 1900000, 1900000, 1900000 }
},
},
- .volt_temp_cap = { 70, 1300 },
+ LEAKAGE_PARAMS_COMMON_PART,
},
{
.cpu_speedo_id = 1, /* A01P+ CPU */
-
- .dyn_scaled = 1000000,
- .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 },
-
- .consts_scaled = 1000000,
- .leakage_consts_n = { 538991, 752463, 959441, 1150000 },
-
- .ijk_scaled = 100000,
- .leakage_consts_ijk = {
- /* i = 0 */
- { { -42746668, -5458429, 164998, -1711, },
- { 178262421, 13375684, -411791, 4590, },
- { -228866784, -10482993, 331248, -4062, },
- { 94301550, 2618719, -85983, 1193, },
- },
- /* i = 1 */
- { { -256611791, 49677413, -1655785, 14917, },
- { 584675433, -132620939, 4541560, -41812, },
- { -398106336, 115987156, -4102328, 38737, },
- { 68897184, -33030745, 1217839, -11801, },
- },
- /* i = 2 */
- { { 186324676, -36019083, 1177969, -10669, },
- { -439237936, 98429131, -3276444, 30301, },
- { 315060898, -88635036, 3004777, -28474, },
- { -60854399, 26267188, -907121, 8844, },
- },
- /* i = 3 */
- { { -35432997, 6154621, -202200, 1830, },
- { 87402153, -16908683, 565152, -5220, },
- { -67775314, 15326770, -521221, 4927, },
- { 15618709, -4576116, 158401, -1538, },
- },
- },
.safety_cap = { 1810500, 1810500, 1606500, 1606500 },
.max_current_cap = { /* values are from tegra4 datasheet */
{ .max_cur = 7500, .max_temp = 90,
@@ -645,44 +615,10 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = {
{ 1800000, 1800000, 1600000, 1600000 }
},
},
- .volt_temp_cap = { 70, 1300 },
+ LEAKAGE_PARAMS_COMMON_PART,
},
{
.cpu_speedo_id = 2, /* A01P+ fast CPU */
-
- .dyn_scaled = 1000000,
- .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 },
-
- .consts_scaled = 1000000,
- .leakage_consts_n = { 538991, 752463, 959441, 1150000 },
-
- .ijk_scaled = 100000,
- .leakage_consts_ijk = {
- /* i = 0 */
- { { -42746668, -5458429, 164998, -1711, },
- { 178262421, 13375684, -411791, 4590, },
- { -228866784, -10482993, 331248, -4062, },
- { 94301550, 2618719, -85983, 1193, },
- },
- /* i = 1 */
- { { -256611791, 49677413, -1655785, 14917, },
- { 584675433, -132620939, 4541560, -41812, },
- { -398106336, 115987156, -4102328, 38737, },
- { 68897184, -33030745, 1217839, -11801, },
- },
- /* i = 2 */
- { { 186324676, -36019083, 1177969, -10669, },
- { -439237936, 98429131, -3276444, 30301, },
- { 315060898, -88635036, 3004777, -28474, },
- { -60854399, 26267188, -907121, 8844, },
- },
- /* i = 3 */
- { { -35432997, 6154621, -202200, 1830, },
- { 87402153, -16908683, 565152, -5220, },
- { -67775314, 15326770, -521221, 4927, },
- { 15618709, -4576116, 158401, -1538, },
- },
- },
.safety_cap = { 1912500, 1912500, 1912500, 1912500 },
.max_current_cap = { /* values are from tegra4 datasheet */
{ .max_cur = 9000, .max_temp = 90,
@@ -701,7 +637,7 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = {
{ 1900000, 1900000, 1900000, 1900000 }
},
},
- .volt_temp_cap = { 70, 1300 },
+ LEAKAGE_PARAMS_COMMON_PART,
},
};