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