diff options
author | Diwakar Tundlam <dtundlam@nvidia.com> | 2011-08-25 17:51:44 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:48:43 -0800 |
commit | 3c9ccd23ff3eb03c0f40b0f8147e349e147f1cc9 (patch) | |
tree | e48fbf5b04d458abcfb1504470ab8780b93ede03 /arch | |
parent | 2b39c374be4ab652546f4915e3051bb8183c870d (diff) |
arm: tegra: power: set more accurate temperature guardbands
use fractional guardband accurately per chip sku
bug 844025
Original-Change-Id: I1137e39b5aa9babae740d2c9e438275183683756
Reviewed-on: http://git-master/r/49317
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Tested-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Rebase-Id: R184cddb8dbb46433e2f8ae7f36bd58f0da6f8ec9
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-sensors.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-enterprise-sensors.c | 10 |
2 files changed, 17 insertions, 10 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-sensors.c b/arch/arm/mach-tegra/board-cardhu-sensors.c index a7013ecaf475..c3ef960d673d 100644 --- a/arch/arm/mach-tegra/board-cardhu-sensors.c +++ b/arch/arm/mach-tegra/board-cardhu-sensors.c @@ -537,11 +537,6 @@ static struct nct1008_platform_data cardhu_nct1008_pdata = { .supported_hwrev = true, .ext_range = true, .conv_rate = 0x08, -/* - * BugID 844025 requires 11C guardband (9.7C for hotspot offset + 1.5C - * for sensor accuracy). FIXME: Move sensor accuracy to sensor driver. - */ - .offset = 11, .hysteresis = 5, .shutdown_ext_limit = 90, .shutdown_local_limit = 90, @@ -574,6 +569,7 @@ static int cardhu_nct1008_init(void) { int nct1008_port = -1; int ret; + struct nct1008_platform_data *pdata; #ifdef CONFIG_TEGRA_EDP_LIMITS const struct tegra_edp_limits *z; int zones_sz; @@ -607,6 +603,17 @@ static int cardhu_nct1008_init(void) tegra_gpio_enable(nct1008_port); } + /* Temperature guardband: bug 844025 */ + if (board_info.board_id == BOARD_PM269) { + /* T30S DSC */ + pdata = cardhu_i2c4_nct1008_board_info[0].platform_data; + pdata->offset = 41; /* 4 * 10.25C */ + } else { + /* T30 MID */ + pdata = cardhu_i2c4_nct1008_board_info[0].platform_data; + pdata->offset = 43; /* 4 * 10.75C */ + } + #ifdef CONFIG_TEGRA_EDP_LIMITS tegra_get_cpu_edp_limits(&z, &zones_sz); zones_sz = min(zones_sz, MAX_ZONES); diff --git a/arch/arm/mach-tegra/board-enterprise-sensors.c b/arch/arm/mach-tegra/board-enterprise-sensors.c index 0d942d50f49a..287497161fc8 100644 --- a/arch/arm/mach-tegra/board-enterprise-sensors.c +++ b/arch/arm/mach-tegra/board-enterprise-sensors.c @@ -50,11 +50,6 @@ static struct nct1008_platform_data enterprise_nct1008_pdata = { .supported_hwrev = true, .ext_range = true, .conv_rate = 0x08, -/* - * BugID 844025 requires 11C guardband (9.7C for hotspot offset + 1.5C - * for sensor accuracy). FIXME: Move sensor accuracy to sensor driver. - */ - .offset = 11, .hysteresis = 5, .shutdown_ext_limit = 90, .shutdown_local_limit = 90, @@ -73,6 +68,7 @@ static struct i2c_board_info enterprise_i2c4_nct1008_board_info[] = { static void enterprise_nct1008_init(void) { int ret; + struct nct1008_platform_data *pdata; #ifdef CONFIG_TEGRA_EDP_LIMITS const struct tegra_edp_limits *z; int zones_sz; @@ -94,6 +90,10 @@ static void enterprise_nct1008_init(void) return; } + /* Temperature guardband AP30S DSC: bug 844025 */ + pdata = enterprise_i2c4_nct1008_board_info[0].platform_data; + pdata->offset = 33; /* 4 * 8.25C */ + i2c_register_board_info(4, enterprise_i2c4_nct1008_board_info, ARRAY_SIZE(enterprise_i2c4_nct1008_board_info)); #ifdef CONFIG_TEGRA_EDP_LIMITS |