xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/ntc_thermistor.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver ntc_thermistor
2*4882a593Smuzhiyun============================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported thermistors from Murata:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun* Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473,
7*4882a593Smuzhiyun  NCP15WL333, NCP03WF104, NCP15XH103
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun  Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473',
10*4882a593Smuzhiyun  'ncp15wl333', 'ncp03wf104', 'ncp15xh103'
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun  Datasheet: Publicly available at Murata
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunSupported thermistors from EPCOS:
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun* EPCOS NTC Thermistors B57330V2103
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun  Prefixes: b57330v2103
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun  Datasheet: Publicly available at EPCOS
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunOther NTC thermistors can be supported simply by adding compensation
23*4882a593Smuzhiyuntables; e.g., NCP15WL333 support is added by the table ncpXXwl333.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunAuthors:
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	MyungJoo Ham <myungjoo.ham@samsung.com>
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunDescription
30*4882a593Smuzhiyun-----------
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunThe NTC (Negative Temperature Coefficient) thermistor is a simple thermistor
33*4882a593Smuzhiyunthat requires users to provide the resistance and lookup the corresponding
34*4882a593Smuzhiyuncompensation table to get the temperature input.
35*4882a593Smuzhiyun
36*4882a593SmuzhiyunThe NTC driver provides lookup tables with a linear approximation function
37*4882a593Smuzhiyunand four circuit models with an option not to use any of the four models.
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunUsing the following convention::
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun   $	resistor
42*4882a593Smuzhiyun   [TH]	the thermistor
43*4882a593Smuzhiyun
44*4882a593SmuzhiyunThe four circuit models provided are:
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun1. connect = NTC_CONNECTED_POSITIVE, pullup_ohm > 0::
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun     [pullup_uV]
49*4882a593Smuzhiyun	 |    |
50*4882a593Smuzhiyun	[TH]  $ (pullup_ohm)
51*4882a593Smuzhiyun	 |    |
52*4882a593Smuzhiyun	 +----+-----------------------[read_uV]
53*4882a593Smuzhiyun	 |
54*4882a593Smuzhiyun	 $ (pulldown_ohm)
55*4882a593Smuzhiyun	 |
56*4882a593Smuzhiyun	-+- (ground)
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun2. connect = NTC_CONNECTED_POSITIVE, pullup_ohm = 0 (not-connected)::
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun     [pullup_uV]
61*4882a593Smuzhiyun	 |
62*4882a593Smuzhiyun	[TH]
63*4882a593Smuzhiyun	 |
64*4882a593Smuzhiyun	 +----------------------------[read_uV]
65*4882a593Smuzhiyun	 |
66*4882a593Smuzhiyun	 $ (pulldown_ohm)
67*4882a593Smuzhiyun	 |
68*4882a593Smuzhiyun	-+- (ground)
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun3. connect = NTC_CONNECTED_GROUND, pulldown_ohm > 0::
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun     [pullup_uV]
73*4882a593Smuzhiyun	 |
74*4882a593Smuzhiyun	 $ (pullup_ohm)
75*4882a593Smuzhiyun	 |
76*4882a593Smuzhiyun	 +----+-----------------------[read_uV]
77*4882a593Smuzhiyun	 |    |
78*4882a593Smuzhiyun	[TH]  $ (pulldown_ohm)
79*4882a593Smuzhiyun	 |    |
80*4882a593Smuzhiyun	-+----+- (ground)
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun4. connect = NTC_CONNECTED_GROUND, pulldown_ohm = 0 (not-connected)::
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun     [pullup_uV]
85*4882a593Smuzhiyun	 |
86*4882a593Smuzhiyun	 $ (pullup_ohm)
87*4882a593Smuzhiyun	 |
88*4882a593Smuzhiyun	 +----------------------------[read_uV]
89*4882a593Smuzhiyun	 |
90*4882a593Smuzhiyun	[TH]
91*4882a593Smuzhiyun	 |
92*4882a593Smuzhiyun	-+- (ground)
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunWhen one of the four circuit models is used, read_uV, pullup_uV, pullup_ohm,
95*4882a593Smuzhiyunpulldown_ohm, and connect should be provided. When none of the four models
96*4882a593Smuzhiyunare suitable or the user can get the resistance directly, the user should
97*4882a593Smuzhiyunprovide read_ohm and _not_ provide the others.
98*4882a593Smuzhiyun
99*4882a593SmuzhiyunSysfs Interface
100*4882a593Smuzhiyun---------------
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun=============== == =============================================================
103*4882a593Smuzhiyunname		   the mandatory global attribute, the thermistor name.
104*4882a593Smuzhiyun=============== == =============================================================
105*4882a593Smuzhiyuntemp1_type	RO always 4 (thermistor)
106*4882a593Smuzhiyun
107*4882a593Smuzhiyuntemp1_input	RO measure the temperature and provide the measured value.
108*4882a593Smuzhiyun		   (reading this file initiates the reading procedure.)
109*4882a593Smuzhiyun=============== == =============================================================
110*4882a593Smuzhiyun
111*4882a593SmuzhiyunNote that each NTC thermistor has only _one_ thermistor; thus, only temp1 exists.
112