mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	hwmon: (ntc_thermistor) Add support for ncpXXxh103
This patch adds support for the Murata NCP15XH103 thermistor series. Signed-off-by: Joseph McNally <jmcna06@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
		
							parent
							
								
									92417dad64
								
							
						
					
					
						commit
						54ce3a0d80
					
				
					 5 changed files with 49 additions and 3 deletions
				
			
		|  | @ -10,6 +10,7 @@ Requires node properties: | |||
| 	"murata,ncp03wb473" | ||||
| 	"murata,ncp15wl333" | ||||
| 	"murata,ncp03wf104" | ||||
| 	"murata,ncp15xh103" | ||||
| 
 | ||||
| /* Usage of vendor name "ntc" is deprecated */ | ||||
| <DEPRECATED>	"ntc,ncp15wb473" | ||||
|  |  | |||
|  | @ -3,9 +3,9 @@ Kernel driver ntc_thermistor | |||
| 
 | ||||
| Supported thermistors from Murata: | ||||
| * Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, | ||||
|   NCP15WL333, NCP03WF104 | ||||
|   NCP15WL333, NCP03WF104, NCP15XH103 | ||||
|   Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473', | ||||
|   'ncp15wl333', 'ncp03wf104' | ||||
|   'ncp15wl333', 'ncp03wf104', 'ncp15xh103' | ||||
|   Datasheet: Publicly available at Murata | ||||
| 
 | ||||
| Supported thermistors from EPCOS: | ||||
|  |  | |||
|  | @ -1141,7 +1141,7 @@ config SENSORS_NTC_THERMISTOR | |||
| 
 | ||||
| 	  Currently, this driver supports | ||||
| 	  NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333, | ||||
| 	  and NCP03WF104 from Murata and B57330V2103 from EPCOS. | ||||
| 	  NCP03WF104 and NCP15XH103 from Murata and B57330V2103 from EPCOS. | ||||
| 
 | ||||
| 	  This driver can also be built as a module.  If so, the module | ||||
| 	  will be called ntc-thermistor. | ||||
|  |  | |||
|  | @ -54,6 +54,7 @@ static const struct platform_device_id ntc_thermistor_id[] = { | |||
| 	{ "ncp15wl333", TYPE_NCPXXWL333 }, | ||||
| 	{ "b57330v2103", TYPE_B57330V2103}, | ||||
| 	{ "ncp03wf104", TYPE_NCPXXWF104 }, | ||||
| 	{ "ncp15xh103", TYPE_NCPXXXH103 }, | ||||
| 	{ }, | ||||
| }; | ||||
| 
 | ||||
|  | @ -173,6 +174,43 @@ static const struct ntc_compensation ncpXXwf104[] = { | |||
| 	{ .temp_c	= 125, .ohm	= 2522 }, | ||||
| }; | ||||
| 
 | ||||
| static const struct ntc_compensation ncpXXxh103[] = { | ||||
| 	{ .temp_c	= -40, .ohm	= 247565 }, | ||||
| 	{ .temp_c	= -35, .ohm	= 181742 }, | ||||
| 	{ .temp_c	= -30, .ohm	= 135128 }, | ||||
| 	{ .temp_c	= -25, .ohm	= 101678 }, | ||||
| 	{ .temp_c	= -20, .ohm	= 77373 }, | ||||
| 	{ .temp_c	= -15, .ohm	= 59504 }, | ||||
| 	{ .temp_c	= -10, .ohm	= 46222 }, | ||||
| 	{ .temp_c	= -5, .ohm	= 36244 }, | ||||
| 	{ .temp_c	= 0, .ohm	= 28674 }, | ||||
| 	{ .temp_c	= 5, .ohm	= 22878 }, | ||||
| 	{ .temp_c	= 10, .ohm	= 18399 }, | ||||
| 	{ .temp_c	= 15, .ohm	= 14910 }, | ||||
| 	{ .temp_c	= 20, .ohm	= 12169 }, | ||||
| 	{ .temp_c	= 25, .ohm	= 10000 }, | ||||
| 	{ .temp_c	= 30, .ohm	= 8271 }, | ||||
| 	{ .temp_c	= 35, .ohm	= 6883 }, | ||||
| 	{ .temp_c	= 40, .ohm	= 5762 }, | ||||
| 	{ .temp_c	= 45, .ohm	= 4851 }, | ||||
| 	{ .temp_c	= 50, .ohm	= 4105 }, | ||||
| 	{ .temp_c	= 55, .ohm	= 3492 }, | ||||
| 	{ .temp_c	= 60, .ohm	= 2985 }, | ||||
| 	{ .temp_c	= 65, .ohm	= 2563 }, | ||||
| 	{ .temp_c	= 70, .ohm	= 2211 }, | ||||
| 	{ .temp_c	= 75, .ohm	= 1915 }, | ||||
| 	{ .temp_c	= 80, .ohm	= 1666 }, | ||||
| 	{ .temp_c	= 85, .ohm	= 1454 }, | ||||
| 	{ .temp_c	= 90, .ohm	= 1275 }, | ||||
| 	{ .temp_c	= 95, .ohm	= 1121 }, | ||||
| 	{ .temp_c	= 100, .ohm	= 990 }, | ||||
| 	{ .temp_c	= 105, .ohm	= 876 }, | ||||
| 	{ .temp_c	= 110, .ohm	= 779 }, | ||||
| 	{ .temp_c	= 115, .ohm	= 694 }, | ||||
| 	{ .temp_c	= 120, .ohm	= 620 }, | ||||
| 	{ .temp_c	= 125, .ohm	= 556 }, | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  * The following compensation table is from the specification of EPCOS NTC | ||||
|  * Thermistors Datasheet | ||||
|  | @ -260,6 +298,8 @@ static const struct of_device_id ntc_match[] = { | |||
| 		.data = &ntc_thermistor_id[5]}, | ||||
| 	{ .compatible = "murata,ncp03wf104", | ||||
| 		.data = &ntc_thermistor_id[6] }, | ||||
| 	{ .compatible = "murata,ncp15xh103", | ||||
| 		.data = &ntc_thermistor_id[7] }, | ||||
| 
 | ||||
| 	/* Usage of vendor name "ntc" is deprecated */ | ||||
| 	{ .compatible = "ntc,ncp15wb473", | ||||
|  | @ -609,6 +649,10 @@ static int ntc_thermistor_probe(struct platform_device *pdev) | |||
| 		data->comp = ncpXXwf104; | ||||
| 		data->n_comp = ARRAY_SIZE(ncpXXwf104); | ||||
| 		break; | ||||
| 	case TYPE_NCPXXXH103: | ||||
| 		data->comp = ncpXXxh103; | ||||
| 		data->n_comp = ARRAY_SIZE(ncpXXxh103); | ||||
| 		break; | ||||
| 	default: | ||||
| 		dev_err(&pdev->dev, "Unknown device type: %lu(%s)\n", | ||||
| 				pdev_id->driver_data, pdev_id->name); | ||||
|  |  | |||
|  | @ -28,6 +28,7 @@ enum ntc_thermistor_type { | |||
| 	TYPE_NCPXXWL333, | ||||
| 	TYPE_B57330V2103, | ||||
| 	TYPE_NCPXXWF104, | ||||
| 	TYPE_NCPXXXH103, | ||||
| }; | ||||
| 
 | ||||
| struct ntc_thermistor_platform_data { | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Joseph McNally
						Joseph McNally