Commit f22d9c03 authored by Amit Daniel Kachhap's avatar Amit Daniel Kachhap Committed by Zhang Rui

thermal: exynos5: add exynos5250 thermal sensor driver support

Insert exynos5 TMU sensor changes into the thermal driver.  Some exynos4
changes are made generic for exynos series.

[akpm@linux-foundation.org: fix comment layout]
Signed-off-by: default avatarSangWook Ju <sw.ju@samsung.com>
Signed-off-by: default avatarAmit Daniel Kachhap <amit.kachhap@linaro.org>
Acked-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
Cc: Durgadoss <durgadoss.r@intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Kyungmin Park <kmpark@infradead.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarAmit Daniel Kachhap <amit.daniel@samsung.com>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent c48cbba6
...@@ -49,7 +49,7 @@ config RCAR_THERMAL ...@@ -49,7 +49,7 @@ config RCAR_THERMAL
config EXYNOS_THERMAL config EXYNOS_THERMAL
tristate "Temperature sensor on Samsung EXYNOS" tristate "Temperature sensor on Samsung EXYNOS"
depends on ARCH_EXYNOS4 && THERMAL depends on (ARCH_EXYNOS4 || ARCH_EXYNOS5) && THERMAL
help help
If you say yes here you get support for TMU (Thermal Managment If you say yes here you get support for TMU (Thermal Managment
Unit) on SAMSUNG EXYNOS series of SoC. Unit) on SAMSUNG EXYNOS series of SoC.
This diff is collapsed.
/* /*
* exynos_thermal.h - Samsung EXYNOS4 TMU (Thermal Management Unit) * exynos_thermal.h - Samsung EXYNOS TMU (Thermal Management Unit)
* *
* Copyright (C) 2011 Samsung Electronics * Copyright (C) 2011 Samsung Electronics
* Donggeun Kim <dg77.kim@samsung.com> * Donggeun Kim <dg77.kim@samsung.com>
...@@ -28,8 +28,12 @@ enum calibration_type { ...@@ -28,8 +28,12 @@ enum calibration_type {
TYPE_NONE, TYPE_NONE,
}; };
enum soc_type {
SOC_ARCH_EXYNOS4210 = 1,
SOC_ARCH_EXYNOS,
};
/** /**
* struct exynos4_tmu_platform_data * struct exynos_tmu_platform_data
* @threshold: basic temperature for generating interrupt * @threshold: basic temperature for generating interrupt
* 25 <= threshold <= 125 [unit: degree Celsius] * 25 <= threshold <= 125 [unit: degree Celsius]
* @trigger_levels: array for each interrupt levels * @trigger_levels: array for each interrupt levels
...@@ -63,11 +67,15 @@ enum calibration_type { ...@@ -63,11 +67,15 @@ enum calibration_type {
* @reference_voltage: reference voltage of amplifier * @reference_voltage: reference voltage of amplifier
* in the positive-TC generator block * in the positive-TC generator block
* 0 <= reference_voltage <= 31 * 0 <= reference_voltage <= 31
* @noise_cancel_mode: noise cancellation mode
* 000, 100, 101, 110 and 111 can be different modes
* @type: determines the type of SOC
* @efuse_value: platform defined fuse value
* @cal_type: calibration type for temperature * @cal_type: calibration type for temperature
* *
* This structure is required for configuration of exynos4_tmu driver. * This structure is required for configuration of exynos_tmu driver.
*/ */
struct exynos4_tmu_platform_data { struct exynos_tmu_platform_data {
u8 threshold; u8 threshold;
u8 trigger_levels[4]; u8 trigger_levels[4];
bool trigger_level0_en; bool trigger_level0_en;
...@@ -77,7 +85,10 @@ struct exynos4_tmu_platform_data { ...@@ -77,7 +85,10 @@ struct exynos4_tmu_platform_data {
u8 gain; u8 gain;
u8 reference_voltage; u8 reference_voltage;
u8 noise_cancel_mode;
u32 efuse_value;
enum calibration_type cal_type; enum calibration_type cal_type;
enum soc_type type;
}; };
#endif /* _LINUX_EXYNOS_THERMAL_H */ #endif /* _LINUX_EXYNOS_THERMAL_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment