summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra12_speedo.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/tegra12_speedo.c')
-rw-r--r--arch/arm/mach-tegra/tegra12_speedo.c12
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();
}