aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-26 08:52:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-26 08:52:52 -0400
commit3cb603284b3d256ae9ae9e65887cee8416bfef15 (patch)
treea7012e9ca585c4ada1ff8896de326f540b460f80 /include/linux/platform_data
parent2355e4290336fcda4b4a799448f745155a000226 (diff)
parentc5794cfac09a585945e1632451900594db19393b (diff)
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (26 commits) hwmon: (w83627ehf) Better fix for negative temperature values hwmon: (w83627ehf) Uninline is_word_sized hwmon: (lm75) Document why clones are not detected hwmon: (w83627ehf) Move fan pins check to a separate function hwmon: (w83627ehf) Skip reading unused voltage registers hwmon: (lm75) Add support for Analog Devices ADT75 hwmon: (pmbus_core) Simplify sign extensions hwmon: (pmbus) Add support for Lineage Power DC-DC converters hwmon: (pmbus/ltc2978) Add support for LTC3880 to LTC2978 driver hwmon: (pmbus/ltc2978) Explicit driver for LTC2978 hwmon: (pmbus) Add support for TEMP2 peak attributes hwmon: AD7314 driver (ported from IIO) hwmon: (pmbus) Add support for Intersil power management chips hwmon: (pmbus) Always call _pmbus_read_byte in core driver hwmon: (pmbus) Replace EINVAL return codes with more appropriate errors hwmon: (pmbus) Provide more documentation hwmon/f71882fg: Make the decision wether to register fan attr. per fan hwmon/f71882fg: Add a f71882fg_create_fan_sysfs_files helper function hwmon/f71882fg: Make all fan/pwm attr tables 2 dimensional hwmon: (exynos4_tmu) Remove IRQF_DISABLED ...
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/exynos4_tmu.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/include/linux/platform_data/exynos4_tmu.h b/include/linux/platform_data/exynos4_tmu.h
new file mode 100644
index 000000000000..39e038cca590
--- /dev/null
+++ b/include/linux/platform_data/exynos4_tmu.h
@@ -0,0 +1,83 @@
1/*
2 * exynos4_tmu.h - Samsung EXYNOS4 TMU (Thermal Management Unit)
3 *
4 * Copyright (C) 2011 Samsung Electronics
5 * Donggeun Kim <dg77.kim@samsung.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
22#ifndef _LINUX_EXYNOS4_TMU_H
23#define _LINUX_EXYNOS4_TMU_H
24
25enum calibration_type {
26 TYPE_ONE_POINT_TRIMMING,
27 TYPE_TWO_POINT_TRIMMING,
28 TYPE_NONE,
29};
30
31/**
32 * struct exynos4_tmu_platform_data
33 * @threshold: basic temperature for generating interrupt
34 * 25 <= threshold <= 125 [unit: degree Celsius]
35 * @trigger_levels: array for each interrupt levels
36 * [unit: degree Celsius]
37 * 0: temperature for trigger_level0 interrupt
38 * condition for trigger_level0 interrupt:
39 * current temperature > threshold + trigger_levels[0]
40 * 1: temperature for trigger_level1 interrupt
41 * condition for trigger_level1 interrupt:
42 * current temperature > threshold + trigger_levels[1]
43 * 2: temperature for trigger_level2 interrupt
44 * condition for trigger_level2 interrupt:
45 * current temperature > threshold + trigger_levels[2]
46 * 3: temperature for trigger_level3 interrupt
47 * condition for trigger_level3 interrupt:
48 * current temperature > threshold + trigger_levels[3]
49 * @trigger_level0_en:
50 * 1 = enable trigger_level0 interrupt,
51 * 0 = disable trigger_level0 interrupt
52 * @trigger_level1_en:
53 * 1 = enable trigger_level1 interrupt,
54 * 0 = disable trigger_level1 interrupt
55 * @trigger_level2_en:
56 * 1 = enable trigger_level2 interrupt,
57 * 0 = disable trigger_level2 interrupt
58 * @trigger_level3_en:
59 * 1 = enable trigger_level3 interrupt,
60 * 0 = disable trigger_level3 interrupt
61 * @gain: gain of amplifier in the positive-TC generator block
62 * 0 <= gain <= 15
63 * @reference_voltage: reference voltage of amplifier
64 * in the positive-TC generator block
65 * 0 <= reference_voltage <= 31
66 * @cal_type: calibration type for temperature
67 *
68 * This structure is required for configuration of exynos4_tmu driver.
69 */
70struct exynos4_tmu_platform_data {
71 u8 threshold;
72 u8 trigger_levels[4];
73 bool trigger_level0_en;
74 bool trigger_level1_en;
75 bool trigger_level2_en;
76 bool trigger_level3_en;
77
78 u8 gain;
79 u8 reference_voltage;
80
81 enum calibration_type cal_type;
82};
83#endif /* _LINUX_EXYNOS4_TMU_H */