diff options
-rw-r--r-- | Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt | 1 | ||||
-rw-r--r-- | Documentation/hwmon/ntc_thermistor | 4 | ||||
-rw-r--r-- | drivers/hwmon/Kconfig | 2 | ||||
-rw-r--r-- | drivers/hwmon/ntc_thermistor.c | 44 | ||||
-rw-r--r-- | include/linux/platform_data/ntc_thermistor.h | 1 |
5 files changed, 49 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt b/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt index a04a80f9cc70..c3b9c4cfe8df 100644 --- a/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt +++ b/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt | |||
@@ -10,6 +10,7 @@ Requires node properties: | |||
10 | "murata,ncp03wb473" | 10 | "murata,ncp03wb473" |
11 | "murata,ncp15wl333" | 11 | "murata,ncp15wl333" |
12 | "murata,ncp03wf104" | 12 | "murata,ncp03wf104" |
13 | "murata,ncp15xh103" | ||
13 | 14 | ||
14 | /* Usage of vendor name "ntc" is deprecated */ | 15 | /* Usage of vendor name "ntc" is deprecated */ |
15 | <DEPRECATED> "ntc,ncp15wb473" | 16 | <DEPRECATED> "ntc,ncp15wb473" |
diff --git a/Documentation/hwmon/ntc_thermistor b/Documentation/hwmon/ntc_thermistor index 1d4cc847c6fe..8b9ff23edc32 100644 --- a/Documentation/hwmon/ntc_thermistor +++ b/Documentation/hwmon/ntc_thermistor | |||
@@ -3,9 +3,9 @@ Kernel driver ntc_thermistor | |||
3 | 3 | ||
4 | Supported thermistors from Murata: | 4 | Supported thermistors from Murata: |
5 | * Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, | 5 | * Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, |
6 | NCP15WL333, NCP03WF104 | 6 | NCP15WL333, NCP03WF104, NCP15XH103 |
7 | Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473', | 7 | Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473', |
8 | 'ncp15wl333', 'ncp03wf104' | 8 | 'ncp15wl333', 'ncp03wf104', 'ncp15xh103' |
9 | Datasheet: Publicly available at Murata | 9 | Datasheet: Publicly available at Murata |
10 | 10 | ||
11 | Supported thermistors from EPCOS: | 11 | Supported thermistors from EPCOS: |
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index 852c8a85e1e8..7a437ce99cf2 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig | |||
@@ -1141,7 +1141,7 @@ config SENSORS_NTC_THERMISTOR | |||
1141 | 1141 | ||
1142 | Currently, this driver supports | 1142 | Currently, this driver supports |
1143 | NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333, | 1143 | NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333, |
1144 | and NCP03WF104 from Murata and B57330V2103 from EPCOS. | 1144 | NCP03WF104 and NCP15XH103 from Murata and B57330V2103 from EPCOS. |
1145 | 1145 | ||
1146 | This driver can also be built as a module. If so, the module | 1146 | This driver can also be built as a module. If so, the module |
1147 | will be called ntc-thermistor. | 1147 | will be called ntc-thermistor. |
diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c index feed30646d91..faa6e8dfbaaf 100644 --- a/drivers/hwmon/ntc_thermistor.c +++ b/drivers/hwmon/ntc_thermistor.c | |||
@@ -54,6 +54,7 @@ static const struct platform_device_id ntc_thermistor_id[] = { | |||
54 | { "ncp15wl333", TYPE_NCPXXWL333 }, | 54 | { "ncp15wl333", TYPE_NCPXXWL333 }, |
55 | { "b57330v2103", TYPE_B57330V2103}, | 55 | { "b57330v2103", TYPE_B57330V2103}, |
56 | { "ncp03wf104", TYPE_NCPXXWF104 }, | 56 | { "ncp03wf104", TYPE_NCPXXWF104 }, |
57 | { "ncp15xh103", TYPE_NCPXXXH103 }, | ||
57 | { }, | 58 | { }, |
58 | }; | 59 | }; |
59 | 60 | ||
@@ -173,6 +174,43 @@ static const struct ntc_compensation ncpXXwf104[] = { | |||
173 | { .temp_c = 125, .ohm = 2522 }, | 174 | { .temp_c = 125, .ohm = 2522 }, |
174 | }; | 175 | }; |
175 | 176 | ||
177 | static const struct ntc_compensation ncpXXxh103[] = { | ||
178 | { .temp_c = -40, .ohm = 247565 }, | ||
179 | { .temp_c = -35, .ohm = 181742 }, | ||
180 | { .temp_c = -30, .ohm = 135128 }, | ||
181 | { .temp_c = -25, .ohm = 101678 }, | ||
182 | { .temp_c = -20, .ohm = 77373 }, | ||
183 | { .temp_c = -15, .ohm = 59504 }, | ||
184 | { .temp_c = -10, .ohm = 46222 }, | ||
185 | { .temp_c = -5, .ohm = 36244 }, | ||
186 | { .temp_c = 0, .ohm = 28674 }, | ||
187 | { .temp_c = 5, .ohm = 22878 }, | ||
188 | { .temp_c = 10, .ohm = 18399 }, | ||
189 | { .temp_c = 15, .ohm = 14910 }, | ||
190 | { .temp_c = 20, .ohm = 12169 }, | ||
191 | { .temp_c = 25, .ohm = 10000 }, | ||
192 | { .temp_c = 30, .ohm = 8271 }, | ||
193 | { .temp_c = 35, .ohm = 6883 }, | ||
194 | { .temp_c = 40, .ohm = 5762 }, | ||
195 | { .temp_c = 45, .ohm = 4851 }, | ||
196 | { .temp_c = 50, .ohm = 4105 }, | ||
197 | { .temp_c = 55, .ohm = 3492 }, | ||
198 | { .temp_c = 60, .ohm = 2985 }, | ||
199 | { .temp_c = 65, .ohm = 2563 }, | ||
200 | { .temp_c = 70, .ohm = 2211 }, | ||
201 | { .temp_c = 75, .ohm = 1915 }, | ||
202 | { .temp_c = 80, .ohm = 1666 }, | ||
203 | { .temp_c = 85, .ohm = 1454 }, | ||
204 | { .temp_c = 90, .ohm = 1275 }, | ||
205 | { .temp_c = 95, .ohm = 1121 }, | ||
206 | { .temp_c = 100, .ohm = 990 }, | ||
207 | { .temp_c = 105, .ohm = 876 }, | ||
208 | { .temp_c = 110, .ohm = 779 }, | ||
209 | { .temp_c = 115, .ohm = 694 }, | ||
210 | { .temp_c = 120, .ohm = 620 }, | ||
211 | { .temp_c = 125, .ohm = 556 }, | ||
212 | }; | ||
213 | |||
176 | /* | 214 | /* |
177 | * The following compensation table is from the specification of EPCOS NTC | 215 | * The following compensation table is from the specification of EPCOS NTC |
178 | * Thermistors Datasheet | 216 | * Thermistors Datasheet |
@@ -260,6 +298,8 @@ static const struct of_device_id ntc_match[] = { | |||
260 | .data = &ntc_thermistor_id[5]}, | 298 | .data = &ntc_thermistor_id[5]}, |
261 | { .compatible = "murata,ncp03wf104", | 299 | { .compatible = "murata,ncp03wf104", |
262 | .data = &ntc_thermistor_id[6] }, | 300 | .data = &ntc_thermistor_id[6] }, |
301 | { .compatible = "murata,ncp15xh103", | ||
302 | .data = &ntc_thermistor_id[7] }, | ||
263 | 303 | ||
264 | /* Usage of vendor name "ntc" is deprecated */ | 304 | /* Usage of vendor name "ntc" is deprecated */ |
265 | { .compatible = "ntc,ncp15wb473", | 305 | { .compatible = "ntc,ncp15wb473", |
@@ -609,6 +649,10 @@ static int ntc_thermistor_probe(struct platform_device *pdev) | |||
609 | data->comp = ncpXXwf104; | 649 | data->comp = ncpXXwf104; |
610 | data->n_comp = ARRAY_SIZE(ncpXXwf104); | 650 | data->n_comp = ARRAY_SIZE(ncpXXwf104); |
611 | break; | 651 | break; |
652 | case TYPE_NCPXXXH103: | ||
653 | data->comp = ncpXXxh103; | ||
654 | data->n_comp = ARRAY_SIZE(ncpXXxh103); | ||
655 | break; | ||
612 | default: | 656 | default: |
613 | dev_err(&pdev->dev, "Unknown device type: %lu(%s)\n", | 657 | dev_err(&pdev->dev, "Unknown device type: %lu(%s)\n", |
614 | pdev_id->driver_data, pdev_id->name); | 658 | pdev_id->driver_data, pdev_id->name); |
diff --git a/include/linux/platform_data/ntc_thermistor.h b/include/linux/platform_data/ntc_thermistor.h index aed170588b74..698d0d59db76 100644 --- a/include/linux/platform_data/ntc_thermistor.h +++ b/include/linux/platform_data/ntc_thermistor.h | |||
@@ -28,6 +28,7 @@ enum ntc_thermistor_type { | |||
28 | TYPE_NCPXXWL333, | 28 | TYPE_NCPXXWL333, |
29 | TYPE_B57330V2103, | 29 | TYPE_B57330V2103, |
30 | TYPE_NCPXXWF104, | 30 | TYPE_NCPXXWF104, |
31 | TYPE_NCPXXXH103, | ||
31 | }; | 32 | }; |
32 | 33 | ||
33 | struct ntc_thermistor_platform_data { | 34 | struct ntc_thermistor_platform_data { |