diff options
Diffstat (limited to 'arch/arm/mach-tegra/tegra12_speedo.c')
-rw-r--r-- | arch/arm/mach-tegra/tegra12_speedo.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/tegra12_speedo.c b/arch/arm/mach-tegra/tegra12_speedo.c index 8341128c66ba..28dfac8c0baa 100644 --- a/arch/arm/mach-tegra/tegra12_speedo.c +++ b/arch/arm/mach-tegra/tegra12_speedo.c @@ -30,6 +30,7 @@ #include "iomap.h" #include "common.h" +#include "board.h" #define TEGRA124_CPU_SPEEDO 2271 /* FIXME: Get Correct Value */ @@ -92,6 +93,7 @@ static const u32 core_process_speedos[][CORE_PROCESS_CORNERS_NUM] = { static void rev_sku_to_speedo_ids(int rev, int sku) { int can_boost = tegra_get_sku_override(); + int chip_personality = tegra_get_chip_personality(); switch (sku) { case 0x00: /* Engg sku */ @@ -111,6 +113,10 @@ static void rev_sku_to_speedo_ids(int rev, int sku) soc_speedo_id = 0; gpu_speedo_id = 1; threshold_index = 0; + if (sku == 0x87 && chip_personality == always_on) { + cpu_speedo_id = 6; + gpu_speedo_id = 4; + } break; case 0x07: if (can_boost) { @@ -310,13 +316,19 @@ int tegra_cpu_speedo_mv(void) int tegra_core_speedo_mv(void) { + int chip_personality = tegra_get_chip_personality(); + switch (soc_speedo_id) { case 0: + if (chip_personality == always_on) + return 1010; return 1150; case 1: return 1150; case 2: return 1110; + case 3: + return 1010; default: BUG(); } |