diff options
author | Jinyoung Park <jinyoungp@nvidia.com> | 2013-06-21 17:01:42 +0900 |
---|---|---|
committer | Gabby Lee <galee@nvidia.com> | 2013-06-26 01:39:33 -0700 |
commit | 0d32d13ab7792f52cdcab9a668d942d7a4e605ea (patch) | |
tree | dfb1e8138daa7ad65426d0a6644f6809c6282675 /arch | |
parent | 0fbba0ab97b549343edf7f82b5f61e48658abfd7 (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.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-tegratab-sensors.c | 26 |
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(); |