Commit e8fda2c8 authored by Peter Rosin's avatar Peter Rosin Committed by Guenter Roeck
Browse files

hwmon: (ntc_thermistor): add support for B57891S0103 from Epcos



More of the same...

Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent e1fd3be6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1218,7 +1218,8 @@ config SENSORS_NTC_THERMISTOR

	  Currently, this driver supports
	  NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333,
	  NCP03WF104 and NCP15XH103 from Murata and B57330V2103 from EPCOS.
	  NCP03WF104 and NCP15XH103 from Murata and B57330V2103 and
	  B57891S0103 from EPCOS.

	  This driver can also be built as a module. If so, the module
	  will be called ntc-thermistor.
+55 −2
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ static const struct platform_device_id ntc_thermistor_id[] = {
	{ "b57330v2103", TYPE_B57330V2103},
	{ "ncp03wf104", TYPE_NCPXXWF104 },
	{ "ncp15xh103", TYPE_NCPXXXH103 },
	{ "b57891s0103", TYPE_B57891S0103 },
	{ },
};

@@ -212,8 +213,8 @@ static const struct ntc_compensation ncpXXxh103[] = {
};

/*
 * The following compensation table is from the specification of EPCOS NTC
 * Thermistors Datasheet
 * The following compensation tables are from the specifications in EPCOS NTC
 * Thermistors Datasheets
 */
static const struct ntc_compensation b57330v2103[] = {
	{ .temp_c	= -40, .ohm	= 190030 },
@@ -252,6 +253,52 @@ static const struct ntc_compensation b57330v2103[] = {
	{ .temp_c	= 125, .ohm	= 531 },
};

static const struct ntc_compensation b57891s0103[] = {
	{ .temp_c	= -55.0, .ohm	= 878900 },
	{ .temp_c	= -50.0, .ohm	= 617590 },
	{ .temp_c	= -45.0, .ohm	= 439340 },
	{ .temp_c	= -40.0, .ohm	= 316180 },
	{ .temp_c	= -35.0, .ohm	= 230060 },
	{ .temp_c	= -30.0, .ohm	= 169150 },
	{ .temp_c	= -25.0, .ohm	= 125550 },
	{ .temp_c	= -20.0, .ohm	= 94143 },
	{ .temp_c	= -15.0, .ohm	= 71172 },
	{ .temp_c	= -10.0, .ohm	= 54308 },
	{ .temp_c	= -5.0, .ohm	= 41505 },
	{ .temp_c	= 0.0, .ohm	= 32014 },
	{ .temp_c	= 5.0, .ohm	= 25011 },
	{ .temp_c	= 10.0, .ohm	= 19691 },
	{ .temp_c	= 15.0, .ohm	= 15618 },
	{ .temp_c	= 20.0, .ohm	= 12474 },
	{ .temp_c	= 25.0, .ohm	= 10000 },
	{ .temp_c	= 30.0, .ohm	= 8080 },
	{ .temp_c	= 35.0, .ohm	= 6569 },
	{ .temp_c	= 40.0, .ohm	= 5372 },
	{ .temp_c	= 45.0, .ohm	= 4424 },
	{ .temp_c	= 50.0, .ohm	= 3661 },
	{ .temp_c	= 55.0, .ohm	= 3039 },
	{ .temp_c	= 60.0, .ohm	= 2536 },
	{ .temp_c	= 65.0, .ohm	= 2128 },
	{ .temp_c	= 70.0, .ohm	= 1794 },
	{ .temp_c	= 75.0, .ohm	= 1518 },
	{ .temp_c	= 80.0, .ohm	= 1290 },
	{ .temp_c	= 85.0, .ohm	= 1100 },
	{ .temp_c	= 90.0, .ohm	= 942 },
	{ .temp_c	= 95.0, .ohm	= 809 },
	{ .temp_c	= 100.0, .ohm	= 697 },
	{ .temp_c	= 105.0, .ohm	= 604 },
	{ .temp_c	= 110.0, .ohm	= 525 },
	{ .temp_c	= 115.0, .ohm	= 457 },
	{ .temp_c	= 120.0, .ohm	= 400 },
	{ .temp_c	= 125.0, .ohm	= 351 },
	{ .temp_c	= 130.0, .ohm	= 308 },
	{ .temp_c	= 135.0, .ohm	= 272 },
	{ .temp_c	= 140.0, .ohm	= 240 },
	{ .temp_c	= 145.0, .ohm	= 213 },
	{ .temp_c	= 150.0, .ohm	= 189 },
	{ .temp_c	= 155.0, .ohm	= 168 },
};

struct ntc_data {
	struct ntc_thermistor_platform_data *pdata;
	const struct ntc_compensation *comp;
@@ -296,6 +343,8 @@ static const struct of_device_id ntc_match[] = {
		.data = &ntc_thermistor_id[6] },
	{ .compatible = "murata,ncp15xh103",
		.data = &ntc_thermistor_id[7] },
	{ .compatible = "epcos,b57891s0103",
		.data = &ntc_thermistor_id[8] },

	/* Usage of vendor name "ntc" is deprecated */
	{ .compatible = "ntc,ncp15wb473",
@@ -627,6 +676,10 @@ static int ntc_thermistor_probe(struct platform_device *pdev)
		data->comp = ncpXXxh103;
		data->n_comp = ARRAY_SIZE(ncpXXxh103);
		break;
	case TYPE_B57891S0103:
		data->comp = b57891s0103;
		data->n_comp = ARRAY_SIZE(b57891s0103);
		break;
	default:
		dev_err(dev, "Unknown device type: %lu(%s)\n",
				pdev_id->driver_data, pdev_id->name);
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ enum ntc_thermistor_type {
	TYPE_B57330V2103,
	TYPE_NCPXXWF104,
	TYPE_NCPXXXH103,
	TYPE_B57891S0103,
};

struct ntc_thermistor_platform_data {