| Index: arch/arm/mach-tegra/cpu-tegra.c
|
| diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/arch/arm/mach-tegra/cpu-tegra.c
|
| index 035e1bc3146295894305a7dcf755ade742e7fcd3..fce6a6b8d21b752adbfdd485b7d32f7bbda662ab 100644
|
| --- a/arch/arm/mach-tegra/cpu-tegra.c
|
| +++ b/arch/arm/mach-tegra/cpu-tegra.c
|
| @@ -36,8 +36,10 @@
|
| #include <mach/hardware.h>
|
| #include <mach/clk.h>
|
|
|
| +#include "fuse.h"
|
| +
|
| /* Frequency table index must be sequential starting at 0 */
|
| -static struct cpufreq_frequency_table freq_table[] = {
|
| +static struct cpufreq_frequency_table freq_table_t20[] = {
|
| { 0, 216000 },
|
| { 1, 312000 },
|
| { 2, 456000 },
|
| @@ -49,6 +51,21 @@ static struct cpufreq_frequency_table freq_table[] = {
|
| { 8, CPUFREQ_TABLE_END },
|
| };
|
|
|
| +static struct cpufreq_frequency_table freq_table_t25[] = {
|
| + { 0, 216000 },
|
| + { 1, 312000 },
|
| + { 2, 456000 },
|
| + { 3, 608000 },
|
| + { 4, 760000 },
|
| + { 5, 816000 },
|
| + { 6, 912000 },
|
| + { 7, 1000000 },
|
| + { 8, 1200000 },
|
| + { 9, CPUFREQ_TABLE_END },
|
| +};
|
| +
|
| +static struct cpufreq_frequency_table *freq_table;
|
| +
|
| #define NUM_CPUS 2
|
|
|
| static struct clk *cpu_clk;
|
| @@ -192,6 +209,11 @@ static int tegra_cpu_init(struct cpufreq_policy *policy)
|
| if (policy->cpu >= NUM_CPUS)
|
| return -EINVAL;
|
|
|
| + if (tegra_sku_id() == SKU_ID_T25)
|
| + freq_table = freq_table_t25;
|
| + else
|
| + freq_table = freq_table_t20;
|
| +
|
| cpu_clk = clk_get_sys(NULL, "cpu");
|
| if (IS_ERR(cpu_clk))
|
| return PTR_ERR(cpu_clk);
|
|
|