summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJinyoung Park <jinyoungp@nvidia.com>2013-06-21 17:01:42 +0900
committerGabby Lee <galee@nvidia.com>2013-06-26 01:39:33 -0700
commit0d32d13ab7792f52cdcab9a668d942d7a4e605ea (patch)
treedfb1e8138daa7ad65426d0a6644f6809c6282675 /arch
parent0fbba0ab97b549343edf7f82b5f61e48658abfd7 (diff)
ARM: tegra: tegratab: Register proper thermal devices per board revision
Register proper thermal devices per board revision. Bug 1287901 Change-Id: Iff27f8d0ee342b565b1bccfe7e3928ce44cc9118 Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com> Reviewed-on: http://git-master/r/241377 Reviewed-by: Gabby Lee <galee@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/board-tegratab-power.c12
-rw-r--r--arch/arm/mach-tegra/board-tegratab-sensors.c26
2 files changed, 29 insertions, 9 deletions
diff --git a/arch/arm/mach-tegra/board-tegratab-power.c b/arch/arm/mach-tegra/board-tegratab-power.c
index 007fb4d08916..43c6cf906925 100644
--- a/arch/arm/mach-tegra/board-tegratab-power.c
+++ b/arch/arm/mach-tegra/board-tegratab-power.c
@@ -882,6 +882,10 @@ static struct soctherm_platform_data tegratab_soctherm_data = {
int __init tegratab_soctherm_init(void)
{
+ struct board_info board_info;
+
+ tegra_get_board_info(&board_info);
+
tegra_platform_edp_init(tegratab_soctherm_data.therm[THERM_CPU].trips,
&tegratab_soctherm_data.therm[THERM_CPU].num_trips,
6000); /* edp temperature margin */
@@ -890,5 +894,13 @@ int __init tegratab_soctherm_init(void)
tegra_add_vc_trips(tegratab_soctherm_data.therm[THERM_CPU].trips,
&tegratab_soctherm_data.therm[THERM_CPU].num_trips);
+ if (board_info.board_id != BOARD_E1569 &&
+ (board_info.board_id == BOARD_P1640 &&
+ board_info.fab != BOARD_FAB_A00)) {
+ tegra_add_cdev_trips(
+ tegratab_soctherm_data.therm[THERM_CPU].trips,
+ &tegratab_soctherm_data.therm[THERM_CPU].num_trips);
+ }
+
return tegra11_soctherm_init(&tegratab_soctherm_data);
}
diff --git a/arch/arm/mach-tegra/board-tegratab-sensors.c b/arch/arm/mach-tegra/board-tegratab-sensors.c
index 91b82e630dc7..766f57eb0974 100644
--- a/arch/arm/mach-tegra/board-tegratab-sensors.c
+++ b/arch/arm/mach-tegra/board-tegratab-sensors.c
@@ -776,14 +776,14 @@ static int gadc_thermal_tdiode_adc_to_temp(
static struct gadc_thermal_platform_data gadc_thermal_thermistor_pdata = {
.iio_channel_name = "thermistor",
- .tz_name = "Tboard-adc",
+ .tz_name = "Tboard",
.temp_offset = 0,
.adc_to_temp = gadc_thermal_thermistor_adc_to_temp,
};
static struct gadc_thermal_platform_data gadc_thermal_tdiode_pdata = {
.iio_channel_name = "tdiode",
- .tz_name = "Tdiode-adc",
+ .tz_name = "Tdiode",
.temp_offset = 0,
.adc_to_temp = gadc_thermal_tdiode_adc_to_temp,
};
@@ -815,15 +815,23 @@ int __init tegratab_sensors_init(void)
tegra_get_board_info(&board_info);
- err = tegratab_nct1008_init();
- if (err) {
- pr_err("%s: nct1008 register failed.\n", __func__);
- return err;
+ if (board_info.board_id == BOARD_E1569 ||
+ (board_info.board_id == BOARD_P1640 &&
+ board_info.fab == BOARD_FAB_A00)) {
+ err = tegratab_nct1008_init();
+ if (err) {
+ pr_err("%s: nct1008 register failed.\n", __func__);
+ return err;
+ }
+ } else {
+ err = platform_add_devices(gadc_thermal_devices,
+ ARRAY_SIZE(gadc_thermal_devices));
+ if (err) {
+ pr_err("%s: gadc_thermal register failed\n", __func__);
+ return err;
+ }
}
- platform_add_devices(gadc_thermal_devices,
- ARRAY_SIZE(gadc_thermal_devices));
-
tegratab_camera_init();
mpuirq_init();