1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2--- 3$id: http://devicetree.org/schemas/hwmon/ntc-thermistor.yaml# 4$schema: http://devicetree.org/meta-schemas/core.yaml# 5 6title: NTC thermistor temperature sensors 7 8maintainers: 9 - Linus Walleij <linus.walleij@linaro.org> 10 11description: | 12 Thermistors with negative temperature coefficient (NTC) are resistors that 13 vary in resistance in an often non-linear way in relation to temperature. 14 The negative temperature coefficient means that the resistance decreases 15 as the temperature rises. Since the relationship between resistance and 16 temperature is non-linear, software drivers most often need to use a look 17 up table and interpolation to get from resistance to temperature. 18 19 When used in practice, a thermistor is often connected between ground, a 20 pull-up resistor or/and a pull-down resistor and a fixed voltage like this: 21 22 + e.g. 5V = pull-up voltage (puv) 23 | 24 +-+ 25 | | 26 | | Pull-up resistor 27 | | (puo) 28 +-+ 29 |-------------------------o 30 +-+ | ^ 31 | |/ | 32 | / | 33 |/| Thermistor | Measured voltage (mv) 34 / | | "connected ground" 35 /| | | 36 +-+ | 37 |-------------------------o 38 +-+ ^ 39 | | | 40 | | Pull-down resistor | Measured voltage (mv) 41 | | (pdo) | "connected positive" 42 +-+ | 43 | | 44 | v 45 + GND GND 46 47 The arrangements of where we measure the voltage over the thermistor are 48 called "connected ground" and "connected positive" and shall be understood as 49 the cases when either pull-up or pull-down resistance is zero. 50 51 If the pull-up resistance is 0 one end of the thermistor is connected to the 52 positive voltage and we get the thermistor on top of a pull-down resistor 53 and we take the measure between the thermistor and the pull-down resistor. 54 55 Conversely if the pull-down resistance is zero, one end of the thermistor is 56 connected to ground and we get the thermistor under the pull-up resistor 57 and we take the measure between the pull-up resistor and the thermistor. 58 59 We can use both pull-up and pull-down resistors at the same time, and then 60 the figure illustrates where the voltage will be measured for the "connected 61 ground" and "connected positive" cases. 62 63properties: 64 $nodename: 65 pattern: "^thermistor(.*)?$" 66 67 compatible: 68 oneOf: 69 - const: epcos,b57330v2103 70 - const: epcos,b57891s0103 71 - const: murata,ncp15wb473 72 - const: murata,ncp18wb473 73 - const: murata,ncp21wb473 74 - const: murata,ncp03wb473 75 - const: murata,ncp15wl333 76 - const: murata,ncp03wf104 77 - const: murata,ncp15xh103 78 - const: samsung,1404-001221 79 # Deprecated "ntp," compatible strings 80 - const: ntc,ncp15wb473 81 deprecated: true 82 - const: ntc,ncp18wb473 83 deprecated: true 84 - const: ntc,ncp21wb473 85 deprecated: true 86 - const: ntc,ncp03wb473 87 deprecated: true 88 - const: ntc,ncp15wl333 89 deprecated: true 90 91 "#thermal-sensor-cells": 92 description: Thermal sensor cells if used for thermal sensoring. 93 const: 0 94 95 pullup-uv: 96 $ref: /schemas/types.yaml#/definitions/uint32 97 description: Pull-up voltage in micro volts. Must always be specified. 98 99 pullup-ohm: 100 $ref: /schemas/types.yaml#/definitions/uint32 101 description: Pull-up resistance in ohms. Must always be specified, even 102 if zero. 103 104 pulldown-ohm: 105 $ref: /schemas/types.yaml#/definitions/uint32 106 description: Pull-down resistance in ohms. Must always be specified, even 107 if zero. 108 109 connected-positive: 110 $ref: /schemas/types.yaml#/definitions/flag 111 description: Indicates how the thermistor is connected in series with 112 a pull-up and/or a pull-down resistor. See the description above for 113 an illustration. If this flag is NOT specified, the thermistor is assumed 114 to be connected-ground, which usually means a pull-down resistance of 115 zero but complex arrangements are possible. 116 117 # See /schemas/iio/adc/adc.yaml 118 io-channels: 119 maxItems: 1 120 description: IIO ADC channel to read the voltage over the resistor. Must 121 always be specified. 122 123required: 124 - compatible 125 - pullup-uv 126 - pullup-ohm 127 - pulldown-ohm 128 - io-channels 129 130additionalProperties: false 131 132examples: 133 - | 134 thermistor0 { 135 compatible = "murata,ncp18wb473"; 136 io-channels = <&gpadc 0x06>; 137 pullup-uv = <1800000>; 138 pullup-ohm = <220000>; 139 pulldown-ohm = <0>; 140 #thermal-sensor-cells = <0>; 141 }; 142