GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / hwmon / ntc-thermistor.yaml
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
6 title: NTC thermistor temperature sensors
7
8 maintainers:
9   - Naveen Krishna Chatradhi <ch.naveen@samsung.com>
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 description: |
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
64 properties:
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
124 required:
125   - compatible
126   - pullup-uv
127   - pullup-ohm
128   - pulldown-ohm
129   - io-channels
130
131 additionalProperties: false
132
133 examples:
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     };