The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/iio/afe/temperature-transducer.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/iio/afe/temperature-transducer.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Temperature Transducer
    8 
    9 maintainers:
   10   - Liam Beguin <liambeguin@gmail.com>
   11 
   12 description: |
   13   A temperature transducer is a device that converts a thermal quantity
   14   into any other physical quantity. This binding applies to temperature to
   15   voltage (like the LTC2997), and temperature to current (like the AD590)
   16   linear transducers.
   17   In both cases these are assumed to be connected to a voltage ADC.
   18 
   19   When an io-channel measures the output voltage of a temperature analog front
   20   end such as a temperature transducer, the interesting measurement is almost
   21   always the corresponding temperature, not the voltage output. This binding
   22   describes such a circuit.
   23 
   24   The general transfer function here is (using SI units)
   25     V(T) = Rsense * Isense(T)
   26     T = (Isense(T) / alpha) + offset
   27     T = 1 / (Rsense * alpha) * (V + offset * Rsense * alpha)
   28 
   29   When using a temperature to voltage transducer, Rsense is set to 1.
   30 
   31   The following circuits show a temperature to current and a temperature to
   32   voltage transducer that can be used with this binding.
   33 
   34            VCC
   35           -----
   36             |
   37         +---+---+
   38         | AD590 |                               VCC
   39         +---+---+                              -----
   40             |                                    |
   41             V proportional to T             +----+----+
   42             |                          D+ --+         |
   43             +---- Vout                      | LTC2997 +--- Vout
   44             |                          D- --+         |
   45         +---+----+                          +---------+
   46         | Rsense |                               |
   47         +---+----+                             -----
   48             |                                   GND
   49           -----
   50            GND
   51 
   52 properties:
   53   compatible:
   54     const: temperature-transducer
   55 
   56   io-channels:
   57     maxItems: 1
   58     description: |
   59       Channel node of a voltage io-channel.
   60 
   61   '#io-channel-cells':
   62     const: 0
   63 
   64   sense-offset-millicelsius:
   65     description: |
   66       Temperature offset.
   67       This offset is commonly used to convert from Kelvins to degrees Celsius.
   68       In that case, sense-offset-millicelsius would be set to <(-273150)>.
   69     default: 0
   70 
   71   sense-resistor-ohms:
   72     description: |
   73       The sense resistor.
   74       By default sense-resistor-ohms cancels out the resistor making the
   75       circuit behave like a temperature transducer.
   76     default: 1
   77 
   78   alpha-ppm-per-celsius:
   79     description: |
   80       Sometimes referred to as output gain, slope, or temperature coefficient.
   81 
   82       alpha is expressed in parts per million which can be micro-amps per
   83       degrees Celsius or micro-volts per degrees Celsius. The is the main
   84       characteristic of a temperature transducer and should be stated in the
   85       datasheet.
   86 
   87 additionalProperties: false
   88 
   89 required:
   90   - compatible
   91   - io-channels
   92   - alpha-ppm-per-celsius
   93 
   94 examples:
   95   - |
   96     ad950: temperature-sensor-0 {
   97         compatible = "temperature-transducer";
   98         #io-channel-cells = <0>;
   99         io-channels = <&temp_adc 3>;
  100 
  101         sense-offset-millicelsius = <(-273150)>; /* Kelvin to degrees Celsius */
  102         sense-resistor-ohms = <8060>;
  103         alpha-ppm-per-celsius = <1>; /* 1 uA/K */
  104     };
  105   - |
  106     znq_tmp: temperature-sensor-1 {
  107         compatible = "temperature-transducer";
  108         #io-channel-cells = <0>;
  109         io-channels = <&temp_adc 2>;
  110 
  111         sense-offset-millicelsius = <(-273150)>; /* Kelvin to degrees Celsius */
  112         alpha-ppm-per-celsius = <4000>; /* 4 mV/K */
  113     };
  114 ...

Cache object: 12cf9dd2702c72b1a925791cd19967f2


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.