summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHyongbin Kim <hyongbink@nvidia.com>2013-08-21 12:25:03 +0900
committerGabby Lee <galee@nvidia.com>2013-08-23 04:59:21 -0700
commitf091316cf50e1d5b7a85e2387463d30fd64f360c (patch)
tree8158491b767b61e6107a746ccfb50ff80fc1db8b /arch
parent51ac69e5b329f61d7c5ab4c37da4917e36ba256c (diff)
ARM: Tegra: TT-power: set sysedp throttle
At low SOC, set current threshold with INA230 is not enough. Need to use sysedp capping in low soc. set 10000mW under 4%, 10500mW under 8%. Bug 1329495 Change-Id: I15b845f7669729692bfa3e32729512af0a20e555 Signed-off-by: Hyongbin Kim <hyongbink@nvidia.com> Reviewed-on: http://git-master/r/264168 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Gabby Lee <galee@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/tegra114-tegratab-common.dtsi4
-rw-r--r--arch/arm/mach-tegra/board-tegratab-power.c43
2 files changed, 20 insertions, 27 deletions
diff --git a/arch/arm/boot/dts/tegra114-tegratab-common.dtsi b/arch/arm/boot/dts/tegra114-tegratab-common.dtsi
index bebcd27c0b78..daf26297e795 100644
--- a/arch/arm/boot/dts/tegra114-tegratab-common.dtsi
+++ b/arch/arm/boot/dts/tegra114-tegratab-common.dtsi
@@ -858,6 +858,10 @@
current_threshold_num = <2>;
current_threshold_soc = <4 8>;
current_threshold = <1800 2500>;
+ sysedp_throttle = "sysedp_lite";
+ sysedp_throttle_num = <2>;
+ sysedp_throttle_soc = <4 8>;
+ sysedp_throttle_power = <10000 10500>;
};
};
diff --git a/arch/arm/mach-tegra/board-tegratab-power.c b/arch/arm/mach-tegra/board-tegratab-power.c
index 5b3d7738f9a5..7e52f6d36ac6 100644
--- a/arch/arm/mach-tegra/board-tegratab-power.c
+++ b/arch/arm/mach-tegra/board-tegratab-power.c
@@ -128,6 +128,10 @@ struct max17048_platform_data tegratab_max17048_pdata = {
.current_threshold_num = 2,
.current_threshold_soc = {4, 8},
.current_threshold = {1800, 2500},
+ .sysedp_throttle = sysedp_lite_throttle,
+ .sysedp_throttle_num = 2,
+ .sysedp_throttle_soc = {4, 8},
+ .sysedp_throttle_power = {10000, 10500},
};
static struct i2c_board_info __initdata tegratab_max17048_boardinfo[] = {
@@ -1062,33 +1066,18 @@ void __init tegratab_sysedp_psydepl_init(void)
WARN_ON(r);
}
+#define NO_CAP (ULONG_MAX)
static struct tegra_sysedp_corecap tegratab_sysedp_corecap[] = {
- /*
- { 1000, { 1000, 240, 204 }, { 1000, 240, 204 } },
- { 2000, { 1000, 240, 204 }, { 1000, 240, 204 } },
- { 3000, { 1000, 240, 204 }, { 1000, 240, 204 } },
- { 4000, { 1000, 240, 204 }, { 1000, 240, 204 } },
- { 5000, { 1000, 240, 204 }, { 1000, 240, 312 } },
- { 6000, { 1679, 240, 312 }, { 1679, 240, 312 } },
- */
- { 6100, { 1700, 240, 312 }, { 1700, 240, 312 } },
- { 7900, { 2743, 240, 624 }, { 2875, 324, 408 } },
- { 8400, { 3243, 240, 624 }, { 2706, 420, 624 } },
- { 9100, { 3943, 240, 624 }, { 2706, 420, 792 } },
- { 10000, { 4565, 240, 792 }, { 3398, 528, 792 } },
- { 11000, { 5565, 240, 792 }, { 4398, 528, 792 } },
- { 12000, { 6565, 240, 792 }, { 4277, 600, 792 } },
- { 13000, { 7565, 240, 792 }, { 5277, 600, 792 } },
- { 14000, { 8565, 240, 792 }, { 6277, 600, 792 } },
- { 15000, { 9565, 384, 792 }, { 7277, 600, 792 } },
- { 16000, { 10565, 468, 792 }, { 8277, 600, 792 } },
- /*
- { 17000, { 11565, 468, 792 }, { 9277, 600, 792 } },
- { 18000, { 12565, 468, 792 }, { 10277, 600, 792 } },
- { 19000, { 13565, 468, 792 }, { 11277, 600, 792 } },
- { 20000, { 14565, 468, 792 }, { 12277, 600, 792 } },
- { 23000, { 14565, 600, 792 }, { 14565, 600, 792 } },
- */
+ { 9100, { 3943, 240, 624 }, { 2706, 420, 792 } },
+ { 10000, { 4565, 240, 792 }, { 3398, 528, 792 } },
+ { 10500, { 5065, 240, 792 }, { 3898, 528, 792 } },
+ { 11000, { 5565, 240, 792 }, { 4398, 528, 792 } },
+ { 12000, { 6565, 240, 792 }, { 4277, 600, 792 } },
+ { 13000, { 7565, 240, 792 }, { 5277, 600, 792 } },
+ { 14000, { 8565, 240, 792 }, { 6277, 600, 792 } },
+ { 15000, { 9565, 384, 792 }, { 7277, 600, 792 } },
+ { 16000, { 10565, 468, 792 }, { 8277, 600, 792 } },
+ { NO_CAP, { NO_CAP, NO_CAP, NO_CAP }, { NO_CAP, NO_CAP, NO_CAP } },
};
static struct tegra_sysedp_platform_data tegratab_sysedp_platdata = {
@@ -1098,7 +1087,7 @@ static struct tegra_sysedp_platform_data tegratab_sysedp_platdata = {
};
static struct platform_device tegratab_sysedp_device = {
- .name = "tegra_sysedp",
+ .name = "tegra_sysedp_lite",
.id = -1,
.dev = { .platform_data = &tegratab_sysedp_platdata }
};