Documentation / devicetree / bindings / hwmon / ntc-thermistor.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
---
$id: http://devicetree.org/schemas/hwmon/ntc-thermistor.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NTC thermistor temperature sensors

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

description: |
  Thermistors with negative temperature coefficient (NTC) are resistors that
  vary in resistance in an often non-linear way in relation to temperature.
  The negative temperature coefficient means that the resistance decreases
  as the temperature rises. Since the relationship between resistance and
  temperature is non-linear, software drivers most often need to use a look
  up table and interpolation to get from resistance to temperature.
 
  When used in practice, a thermistor is often connected between ground, a
  pull-up resistor or/and a pull-down resistor and a fixed voltage like this:
 
      + e.g. 5V = pull-up voltage (puv)
      |
     +-+
     | |
     | | Pull-up resistor
     | | (puo)
     +-+
      |-------------------------o
     +-+ |                      ^
     | |/                       |
     | /                        |
     |/| Thermistor             | Measured voltage (mv)
     / |                        | "connected ground"
    /| |                        |
     +-+                        |
      |-------------------------o
     +-+                        ^
     | |                        |
     | | Pull-down resistor     | Measured voltage (mv)
     | | (pdo)                  | "connected positive"
     +-+                        |
      |                         |
      |                         v
      + GND                     GND
 
  The arrangements of where we measure the voltage over the thermistor are
  called "connected ground" and "connected positive" and shall be understood as
  the cases when either pull-up or pull-down resistance is zero.
 
  If the pull-up resistance is 0 one end of the thermistor is connected to the
  positive voltage and we get the thermistor on top of a pull-down resistor
  and we take the measure between the thermistor and the pull-down resistor.
 
  Conversely if the pull-down resistance is zero, one end of the thermistor is
  connected to ground and we get the thermistor under the pull-up resistor
  and we take the measure between the pull-up resistor and the thermistor.
 
  We can use both pull-up and pull-down resistors at the same time, and then
  the figure illustrates where the voltage will be measured for the "connected
  ground" and "connected positive" cases.

properties:
  $nodename:
    pattern: "^thermistor(.*)?$"

  compatible:
    oneOf:
      - const: epcos,b57330v2103
      - const: epcos,b57891s0103
      - const: murata,ncp15wb473
      - const: murata,ncp18wb473
      - const: murata,ncp21wb473
      - const: murata,ncp03wb473
      - const: murata,ncp15wl333
      - const: murata,ncp03wf104
      - const: murata,ncp15xh103
      - const: samsung,1404-001221
      # Deprecated "ntp," compatible strings
      - const: ntc,ncp15wb473
        deprecated: true
      - const: ntc,ncp18wb473
        deprecated: true
      - const: ntc,ncp21wb473
        deprecated: true
      - const: ntc,ncp03wb473
        deprecated: true
      - const: ntc,ncp15wl333
        deprecated: true
 
  "#thermal-sensor-cells":
    description: Thermal sensor cells if used for thermal sensoring.
    const: 0

  pullup-uv:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Pull-up voltage in micro volts. Must always be specified.

  pullup-ohm:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Pull-up resistance in ohms. Must always be specified, even
      if zero.

  pulldown-ohm:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Pull-down resistance in ohms. Must always be specified, even
      if zero.

  connected-positive:
    $ref: /schemas/types.yaml#/definitions/flag
    description: Indicates how the thermistor is connected in series with
      a pull-up and/or a pull-down resistor. See the description above for
      an illustration. If this flag is NOT specified, the thermistor is assumed
      to be connected-ground, which usually means a pull-down resistance of
      zero but complex arrangements are possible.
 
  # See /schemas/iio/adc/adc.yaml
  io-channels:
    maxItems: 1
    description: IIO ADC channel to read the voltage over the resistor. Must
      always be specified.

required:
  - compatible
  - pullup-uv
  - pullup-ohm
  - pulldown-ohm
  - io-channels

additionalProperties: false

examples:
  - |
    thermistor {
      compatible = "murata,ncp18wb473";
      io-channels = <&gpadc 0x06>;
      pullup-uv = <1800000>;
      pullup-ohm = <220000>;
      pulldown-ohm = <0>;
      #thermal-sensor-cells = <0>;
    };