cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

temperature-transducer.yaml (3714B)


      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
      7title: Temperature Transducer
      8
      9maintainers:
     10  - Liam Beguin <liambeguin@gmail.com>
     11
     12description: |
     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
     52properties:
     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
     87additionalProperties: false
     88
     89required:
     90  - compatible
     91  - io-channels
     92  - alpha-ppm-per-celsius
     93
     94examples:
     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...