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