aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data/exynos_thermal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/platform_data/exynos_thermal.h')
-rw-r--r--include/linux/platform_data/exynos_thermal.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/platform_data/exynos_thermal.h b/include/linux/platform_data/exynos_thermal.h
index a9e960aaf98..a7bdb2f63b7 100644
--- a/include/linux/platform_data/exynos_thermal.h
+++ b/include/linux/platform_data/exynos_thermal.h
@@ -21,6 +21,7 @@
21 21
22#ifndef _LINUX_EXYNOS_THERMAL_H 22#ifndef _LINUX_EXYNOS_THERMAL_H
23#define _LINUX_EXYNOS_THERMAL_H 23#define _LINUX_EXYNOS_THERMAL_H
24#include <linux/cpu_cooling.h>
24 25
25enum calibration_type { 26enum calibration_type {
26 TYPE_ONE_POINT_TRIMMING, 27 TYPE_ONE_POINT_TRIMMING,
@@ -33,6 +34,22 @@ enum soc_type {
33 SOC_ARCH_EXYNOS, 34 SOC_ARCH_EXYNOS,
34}; 35};
35/** 36/**
37 * struct freq_clip_table
38 * @freq_clip_max: maximum frequency allowed for this cooling state.
39 * @temp_level: Temperature level at which the temperature clipping will
40 * happen.
41 * @mask_val: cpumask of the allowed cpu's where the clipping will take place.
42 *
43 * This structure is required to be filled and passed to the
44 * cpufreq_cooling_unregister function.
45 */
46struct freq_clip_table {
47 unsigned int freq_clip_max;
48 unsigned int temp_level;
49 const struct cpumask *mask_val;
50};
51
52/**
36 * struct exynos_tmu_platform_data 53 * struct exynos_tmu_platform_data
37 * @threshold: basic temperature for generating interrupt 54 * @threshold: basic temperature for generating interrupt
38 * 25 <= threshold <= 125 [unit: degree Celsius] 55 * 25 <= threshold <= 125 [unit: degree Celsius]
@@ -72,6 +89,9 @@ enum soc_type {
72 * @type: determines the type of SOC 89 * @type: determines the type of SOC
73 * @efuse_value: platform defined fuse value 90 * @efuse_value: platform defined fuse value
74 * @cal_type: calibration type for temperature 91 * @cal_type: calibration type for temperature
92 * @freq_clip_table: Table representing frequency reduction percentage.
93 * @freq_tab_count: Count of the above table as frequency reduction may
94 * applicable to only some of the trigger levels.
75 * 95 *
76 * This structure is required for configuration of exynos_tmu driver. 96 * This structure is required for configuration of exynos_tmu driver.
77 */ 97 */
@@ -90,5 +110,7 @@ struct exynos_tmu_platform_data {
90 110
91 enum calibration_type cal_type; 111 enum calibration_type cal_type;
92 enum soc_type type; 112 enum soc_type type;
113 struct freq_clip_table freq_tab[4];
114 unsigned int freq_tab_count;
93}; 115};
94#endif /* _LINUX_EXYNOS_THERMAL_H */ 116#endif /* _LINUX_EXYNOS_THERMAL_H */