ARM: tegra12: set CPU rate to 2.2GHz for sku 0x87
[linux-3.10.git] / arch / arm / mach-tegra / tegra11_edp.c
index 933108f..281b05b 100644 (file)
 #include <linux/clk.h>
 #include <linux/kobject.h>
 #include <linux/err.h>
+#include <linux/tegra-fuse.h>
 
 #include <mach/edp.h>
 
 #include "clock.h"
-#include "fuse.h"
+#include "common.h"
 
 #define CORE_MODULES_STATES 1
 #define TEMPERATURE_RANGES 4
@@ -874,6 +875,25 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = {
                },
                LEAKAGE_PARAMS_COMMON_PART,
        },
+       {
+               .cpu_speedo_id      = 3,
+               .safety_cap = { 1810500, 1810500, 1810500, 1810500 },
+               .max_current_cap = { /* fixed values */
+                       { .max_cur = 9000, .max_temp = 105,
+                               { 1810500, 1810500, 1530000, 1530000 }
+                       },
+                       { .max_cur = 9000, .max_temp = 90,
+                               { 1810500, 1810500, 1606500, 1606500 }
+                       },
+                       { .max_cur = 12000, .max_temp = 105,
+                               { 1810500, 1810500, 1708500, 1708500 }
+                       },
+                       { .max_cur = 15000, .max_temp = 105,
+                               { 1810500, 1810500, 1810500, 1810500 }
+                       },
+               },
+               LEAKAGE_PARAMS_COMMON_PART,
+       },
 };
 
 struct tegra_edp_cpu_leakage_params *tegra11x_get_leakage_params(int index,
@@ -947,7 +967,7 @@ int __init tegra11x_select_core_edp_table(unsigned int regulator_mA,
                                          struct tegra_core_edp_limits *limits)
 {
        int i;
-       int sku = tegra_sku_id;
+       int sku;
        unsigned long *cap_rates;
        struct core_edp_entry *edp_entry;
 
@@ -963,6 +983,7 @@ int __init tegra11x_select_core_edp_table(unsigned int regulator_mA,
                cap_clks[i] = c;
        }
 
+       sku = tegra_get_sku_id();
        edp_entry = find_edp_entry(sku, regulator_mA);
        if (!edp_entry) {
                pr_info("%s: no core edp table for sku %d, %d mA\n",