Commit 887ee434 authored by Beomho Seo's avatar Beomho Seo Committed by Guenter Roeck

hwmon: (ntc_thermistor) Add support for ncpXXwf104

This patch adds support for the ntc thermistor NCPXXWF104 series.

Cc: Jean Delvare <jdelvare@suse.de>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarBeomho Seo <beomho.seo@samsung.com>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent c65b99f0
...@@ -9,6 +9,7 @@ Requires node properties: ...@@ -9,6 +9,7 @@ Requires node properties:
"murata,ncp21wb473" "murata,ncp21wb473"
"murata,ncp03wb473" "murata,ncp03wb473"
"murata,ncp15wl333" "murata,ncp15wl333"
"murata,ncp03wf104"
/* Usage of vendor name "ntc" is deprecated */ /* Usage of vendor name "ntc" is deprecated */
<DEPRECATED> "ntc,ncp15wb473" <DEPRECATED> "ntc,ncp15wb473"
......
...@@ -2,8 +2,10 @@ Kernel driver ntc_thermistor ...@@ -2,8 +2,10 @@ Kernel driver ntc_thermistor
================= =================
Supported thermistors from Murata: Supported thermistors from Murata:
* Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333 * Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473,
Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473', 'ncp15wl333' NCP15WL333, NCP03WF104
Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473',
'ncp15wl333', 'ncp03wf104'
Datasheet: Publicly available at Murata Datasheet: Publicly available at Murata
Supported thermistors from EPCOS: Supported thermistors from EPCOS:
......
...@@ -1106,8 +1106,8 @@ config SENSORS_NTC_THERMISTOR ...@@ -1106,8 +1106,8 @@ config SENSORS_NTC_THERMISTOR
send notifications about the temperature. send notifications about the temperature.
Currently, this driver supports Currently, this driver supports
NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, and NCP15WL333 NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333,
from Murata and B57330V2103 from EPCOS. and NCP03WF104 from Murata and B57330V2103 from EPCOS.
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called ntc-thermistor. will be called ntc-thermistor.
......
...@@ -53,6 +53,7 @@ static const struct platform_device_id ntc_thermistor_id[] = { ...@@ -53,6 +53,7 @@ static const struct platform_device_id ntc_thermistor_id[] = {
{ "ncp03wb473", TYPE_NCPXXWB473 }, { "ncp03wb473", TYPE_NCPXXWB473 },
{ "ncp15wl333", TYPE_NCPXXWL333 }, { "ncp15wl333", TYPE_NCPXXWL333 },
{ "b57330v2103", TYPE_B57330V2103}, { "b57330v2103", TYPE_B57330V2103},
{ "ncp03wf104", TYPE_NCPXXWF104 },
{ }, { },
}; };
...@@ -135,6 +136,43 @@ static const struct ntc_compensation ncpXXwl333[] = { ...@@ -135,6 +136,43 @@ static const struct ntc_compensation ncpXXwl333[] = {
{ .temp_c = 125, .ohm = 707 }, { .temp_c = 125, .ohm = 707 },
}; };
static const struct ntc_compensation ncpXXwf104[] = {
{ .temp_c = -40, .ohm = 4397119 },
{ .temp_c = -35, .ohm = 3088599 },
{ .temp_c = -30, .ohm = 2197225 },
{ .temp_c = -25, .ohm = 1581881 },
{ .temp_c = -20, .ohm = 1151037 },
{ .temp_c = -15, .ohm = 846579 },
{ .temp_c = -10, .ohm = 628988 },
{ .temp_c = -5, .ohm = 471632 },
{ .temp_c = 0, .ohm = 357012 },
{ .temp_c = 5, .ohm = 272500 },
{ .temp_c = 10, .ohm = 209710 },
{ .temp_c = 15, .ohm = 162651 },
{ .temp_c = 20, .ohm = 127080 },
{ .temp_c = 25, .ohm = 100000 },
{ .temp_c = 30, .ohm = 79222 },
{ .temp_c = 35, .ohm = 63167 },
{ .temp_c = 40, .ohm = 50677 },
{ .temp_c = 45, .ohm = 40904 },
{ .temp_c = 50, .ohm = 33195 },
{ .temp_c = 55, .ohm = 27091 },
{ .temp_c = 60, .ohm = 22224 },
{ .temp_c = 65, .ohm = 18323 },
{ .temp_c = 70, .ohm = 15184 },
{ .temp_c = 75, .ohm = 12635 },
{ .temp_c = 80, .ohm = 10566 },
{ .temp_c = 85, .ohm = 8873 },
{ .temp_c = 90, .ohm = 7481 },
{ .temp_c = 95, .ohm = 6337 },
{ .temp_c = 100, .ohm = 5384 },
{ .temp_c = 105, .ohm = 4594 },
{ .temp_c = 110, .ohm = 3934 },
{ .temp_c = 115, .ohm = 3380 },
{ .temp_c = 120, .ohm = 2916 },
{ .temp_c = 125, .ohm = 2522 },
};
/* /*
* The following compensation table is from the specification of EPCOS NTC * The following compensation table is from the specification of EPCOS NTC
* Thermistors Datasheet * Thermistors Datasheet
...@@ -219,6 +257,8 @@ static const struct of_device_id ntc_match[] = { ...@@ -219,6 +257,8 @@ static const struct of_device_id ntc_match[] = {
.data = &ntc_thermistor_id[4] }, .data = &ntc_thermistor_id[4] },
{ .compatible = "epcos,b57330v2103", { .compatible = "epcos,b57330v2103",
.data = &ntc_thermistor_id[5]}, .data = &ntc_thermistor_id[5]},
{ .compatible = "murata,ncp03wf104",
.data = &ntc_thermistor_id[6] },
/* Usage of vendor name "ntc" is deprecated */ /* Usage of vendor name "ntc" is deprecated */
{ .compatible = "ntc,ncp15wb473", { .compatible = "ntc,ncp15wb473",
...@@ -567,6 +607,10 @@ static int ntc_thermistor_probe(struct platform_device *pdev) ...@@ -567,6 +607,10 @@ static int ntc_thermistor_probe(struct platform_device *pdev)
data->comp = b57330v2103; data->comp = b57330v2103;
data->n_comp = ARRAY_SIZE(b57330v2103); data->n_comp = ARRAY_SIZE(b57330v2103);
break; break;
case TYPE_NCPXXWF104:
data->comp = ncpXXwf104;
data->n_comp = ARRAY_SIZE(ncpXXwf104);
break;
default: default:
dev_err(&pdev->dev, "Unknown device type: %lu(%s)\n", dev_err(&pdev->dev, "Unknown device type: %lu(%s)\n",
pdev_id->driver_data, pdev_id->name); pdev_id->driver_data, pdev_id->name);
......
...@@ -27,6 +27,7 @@ enum ntc_thermistor_type { ...@@ -27,6 +27,7 @@ enum ntc_thermistor_type {
TYPE_NCPXXWB473, TYPE_NCPXXWB473,
TYPE_NCPXXWL333, TYPE_NCPXXWL333,
TYPE_B57330V2103, TYPE_B57330V2103,
TYPE_NCPXXWF104,
}; };
struct ntc_thermistor_platform_data { struct ntc_thermistor_platform_data {
......
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