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

adi,ltc2983.yaml (14943B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/iio/temperature/adi,ltc2983.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Analog Devices LTC2983 Multi-sensor Temperature system
      8
      9maintainers:
     10  - Nuno Sá <nuno.sa@analog.com>
     11
     12description: |
     13  Analog Devices LTC2983 Multi-Sensor Digital Temperature Measurement System
     14  https://www.analog.com/media/en/technical-documentation/data-sheets/2983fc.pdf
     15
     16properties:
     17  compatible:
     18    enum:
     19      - adi,ltc2983
     20
     21  reg:
     22    maxItems: 1
     23
     24  interrupts:
     25    maxItems: 1
     26
     27  adi,mux-delay-config-us:
     28    description:
     29      The LTC2983 performs 2 or 3 internal conversion cycles per temperature
     30      result. Each conversion cycle is performed with different excitation and
     31      input multiplexer configurations. Prior to each conversion, these
     32      excitation circuits and input switch configurations are changed and an
     33      internal 1ms delay ensures settling prior to the conversion cycle in most
     34      cases. An extra delay can be configured using this property. The value is
     35      rounded to nearest 100us.
     36    maximum: 255
     37
     38  adi,filter-notch-freq:
     39    description:
     40      Set's the default setting of the digital filter. The default is
     41      simultaneous 50/60Hz rejection.
     42      0 - 50/60Hz rejection
     43      1 - 60Hz rejection
     44      2 - 50Hz rejection
     45    $ref: /schemas/types.yaml#/definitions/uint32
     46    minimum: 0
     47    maximum: 2
     48
     49  '#address-cells':
     50    const: 1
     51
     52  '#size-cells':
     53    const: 0
     54
     55patternProperties:
     56  "@([1-9]|1[0-9]|20)$":
     57    type: object
     58
     59    properties:
     60      reg:
     61        description:
     62          The channel number. It can be connected to one of the 20 channels of
     63          the device.
     64        minimum: 1
     65        maximum: 20
     66
     67      adi,sensor-type:
     68        description: Identifies the type of sensor connected to the device.
     69        $ref: /schemas/types.yaml#/definitions/uint32
     70
     71    required:
     72      - reg
     73      - adi,sensor-type
     74
     75  "^thermocouple@":
     76    type: object
     77    description:
     78      Represents a thermocouple sensor which is connected to one of the device
     79      channels.
     80
     81    properties:
     82      adi,sensor-type:
     83        description: |
     84          1 - Type J Thermocouple
     85          2 - Type K Thermocouple
     86          3 - Type E Thermocouple
     87          4 - Type N Thermocouple
     88          5 - Type R Thermocouple
     89          6 - Type S Thermocouple
     90          7 - Type T Thermocouple
     91          8 - Type B Thermocouple
     92          9 - Custom Thermocouple
     93        $ref: /schemas/types.yaml#/definitions/uint32
     94        minimum: 1
     95        maximum: 9
     96
     97      adi,single-ended:
     98        description:
     99          Boolean property which set's the thermocouple as single-ended.
    100        type: boolean
    101
    102      adi,sensor-oc-current-microamp:
    103        description:
    104          This property set's the pulsed current value applied during
    105          open-circuit detect.
    106        enum: [10, 100, 500, 1000]
    107
    108      adi,cold-junction-handle:
    109        description:
    110          Phandle which points to a sensor object responsible for measuring
    111          the thermocouple cold junction temperature.
    112        $ref: "/schemas/types.yaml#/definitions/phandle"
    113
    114      adi,custom-thermocouple:
    115        description:
    116          This is a table, where each entry should be a pair of
    117          voltage(mv)-temperature(K). The entries must be given in nv and uK
    118          so that, the original values must be multiplied by 1000000. For
    119          more details look at table 69 and 70.
    120          Note should be signed, but dtc doesn't currently maintain the
    121          sign.
    122        $ref: /schemas/types.yaml#/definitions/uint64-matrix
    123        minItems: 3
    124        maxItems: 64
    125        items:
    126          minItems: 2
    127          maxItems: 2
    128
    129  "^diode@":
    130    type: object
    131    description:
    132      Represents a diode sensor which is connected to one of the device
    133      channels.
    134
    135    properties:
    136      adi,sensor-type:
    137        description: Identifies the sensor as a diode.
    138        $ref: /schemas/types.yaml#/definitions/uint32
    139        const: 28
    140
    141      adi,single-ended:
    142        description: Boolean property which set's the diode as single-ended.
    143        type: boolean
    144
    145      adi,three-conversion-cycles:
    146        description:
    147          Boolean property which set's three conversion cycles removing
    148          parasitic resistance effects between the LTC2983 and the diode.
    149        type: boolean
    150
    151      adi,average-on:
    152        description:
    153          Boolean property which enables a running average of the diode
    154          temperature reading. This reduces the noise when the diode is used
    155          as a cold junction temperature element on an isothermal block
    156          where temperatures change slowly.
    157        type: boolean
    158
    159      adi,excitation-current-microamp:
    160        description:
    161          This property controls the magnitude of the excitation current
    162          applied to the diode. Depending on the number of conversions
    163          cycles, this property will assume different predefined values on
    164          each cycle. Just set the value of the first cycle (1l).
    165        enum: [10, 20, 40, 80]
    166
    167      adi,ideal-factor-value:
    168        description:
    169          This property sets the diode ideality factor. The real value must
    170          be multiplied by 1000000 to remove the fractional part. For more
    171          information look at table 20 of the datasheet.
    172        $ref: /schemas/types.yaml#/definitions/uint32
    173
    174  "^rtd@":
    175    type: object
    176    description:
    177      Represents a rtd sensor which is connected to one of the device channels.
    178
    179    properties:
    180      reg:
    181        minimum: 2
    182        maximum: 20
    183
    184      adi,sensor-type:
    185        description: |
    186          10 - RTD PT-10
    187          11 - RTD PT-50
    188          12 - RTD PT-100
    189          13 - RTD PT-200
    190          14 - RTD PT-500
    191          15 - RTD PT-1000
    192          16 - RTD PT-1000 (0.00375)
    193          17 - RTD NI-120
    194          18 - RTD Custom
    195        $ref: /schemas/types.yaml#/definitions/uint32
    196        minimum: 10
    197        maximum: 18
    198
    199      adi,rsense-handle:
    200        description:
    201          Phandle pointing to a rsense object associated with this RTD.
    202        $ref: "/schemas/types.yaml#/definitions/phandle"
    203
    204      adi,number-of-wires:
    205        description:
    206          Identifies the number of wires used by the RTD. Setting this
    207          property to 5 means 4 wires with Kelvin Rsense.
    208        $ref: /schemas/types.yaml#/definitions/uint32
    209        enum: [2, 3, 4, 5]
    210
    211      adi,rsense-share:
    212        description:
    213          Boolean property which enables Rsense sharing, where one sense
    214          resistor is used for multiple 2-, 3-, and/or 4-wire RTDs.
    215        type: boolean
    216
    217      adi,current-rotate:
    218        description:
    219          Boolean property which enables excitation current rotation to
    220          automatically remove parasitic thermocouple effects. Note that
    221          this property is not allowed for 2- and 3-wire RTDs.
    222        type: boolean
    223
    224      adi,excitation-current-microamp:
    225        description:
    226          This property controls the magnitude of the excitation current
    227          applied to the RTD.
    228        enum: [5, 10, 25, 50, 100, 250, 500, 1000]
    229
    230      adi,rtd-curve:
    231        description:
    232          This property set the RTD curve used and the corresponding
    233          Callendar-VanDusen constants. Look at table 30 of the datasheet.
    234        $ref: /schemas/types.yaml#/definitions/uint32
    235        minimum: 0
    236        maximum: 3
    237
    238      adi,custom-rtd:
    239        description:
    240          This is a table, where each entry should be a pair of
    241          resistance(ohm)-temperature(K). The entries added here are in uohm
    242          and uK. For more details values look at table 74 and 75.
    243        $ref: /schemas/types.yaml#/definitions/uint64-matrix
    244        items:
    245          minItems: 3
    246          maxItems: 64
    247          items:
    248            minItems: 2
    249            maxItems: 2
    250
    251    required:
    252      - adi,rsense-handle
    253
    254    dependencies:
    255      adi,current-rotate: [ "adi,rsense-share" ]
    256
    257  "^thermistor@":
    258    type: object
    259    description:
    260      Represents a thermistor sensor which is connected to one of the device
    261      channels.
    262
    263    properties:
    264      adi,sensor-type:
    265        description:
    266          19 - Thermistor 44004/44033 2.252kohm at 25°C
    267          20 - Thermistor 44005/44030 3kohm at 25°C
    268          21 - Thermistor 44007/44034 5kohm at 25°C
    269          22 - Thermistor 44006/44031 10kohm at 25°C
    270          23 - Thermistor 44008/44032 30kohm at 25°C
    271          24 - Thermistor YSI 400 2.252kohm at 25°C
    272          25 - Thermistor Spectrum 1003k 1kohm
    273          26 - Thermistor Custom Steinhart-Hart
    274          27 - Custom Thermistor
    275        $ref: /schemas/types.yaml#/definitions/uint32
    276        minimum: 19
    277        maximum: 27
    278
    279      adi,rsense-handle:
    280        description:
    281          Phandle pointing to a rsense object associated with this
    282          thermistor.
    283        $ref: "/schemas/types.yaml#/definitions/phandle"
    284
    285      adi,single-ended:
    286        description:
    287          Boolean property which set's the thermistor as single-ended.
    288        type: boolean
    289
    290      adi,rsense-share:
    291        description:
    292          Boolean property which enables Rsense sharing, where one sense
    293          resistor is used for multiple thermistors. Note that this property
    294          is ignored if adi,single-ended is set.
    295        type: boolean
    296
    297      adi,current-rotate:
    298        description:
    299          Boolean property which enables excitation current rotation to
    300          automatically remove parasitic thermocouple effects.
    301        type: boolean
    302
    303      adi,excitation-current-nanoamp:
    304        description:
    305          This property controls the magnitude of the excitation current
    306          applied to the thermistor. Value 0 set's the sensor in auto-range
    307          mode.
    308        $ref: /schemas/types.yaml#/definitions/uint32
    309        enum: [0, 250, 500, 1000, 5000, 10000, 25000, 50000, 100000, 250000,
    310               500000, 1000000]
    311
    312      adi,custom-thermistor:
    313        description:
    314          This is a table, where each entry should be a pair of
    315          resistance(ohm)-temperature(K). The entries added here are in uohm
    316          and uK only for custom thermistors. For more details look at table
    317          78 and 79.
    318        $ref: /schemas/types.yaml#/definitions/uint64-matrix
    319        minItems: 3
    320        maxItems: 64
    321        items:
    322          minItems: 2
    323          maxItems: 2
    324
    325      adi,custom-steinhart:
    326        description:
    327          Steinhart-Hart coefficients are also supported and can
    328          be programmed into the device memory using this property. For
    329          Steinhart sensors the coefficients are given in the raw
    330          format. Look at table 82 for more information.
    331        $ref: /schemas/types.yaml#/definitions/uint32-array
    332        items:
    333          minItems: 6
    334          maxItems: 6
    335
    336    required:
    337      - adi,rsense-handle
    338
    339    dependencies:
    340      adi,current-rotate: [ "adi,rsense-share" ]
    341
    342  "^adc@":
    343    type: object
    344    description: Represents a channel which is being used as a direct adc.
    345
    346    properties:
    347      adi,sensor-type:
    348        description: Identifies the sensor as a direct adc.
    349        $ref: /schemas/types.yaml#/definitions/uint32
    350        const: 30
    351
    352      adi,single-ended:
    353        description: Boolean property which set's the adc as single-ended.
    354        type: boolean
    355
    356  "^rsense@":
    357    type: object
    358    description:
    359      Represents a rsense which is connected to one of the device channels.
    360      Rsense are used by thermistors and RTD's.
    361
    362    properties:
    363      reg:
    364        minimum: 2
    365        maximum: 20
    366
    367      adi,sensor-type:
    368        description: Identifies the sensor as a rsense.
    369        $ref: /schemas/types.yaml#/definitions/uint32
    370        const: 29
    371
    372      adi,rsense-val-milli-ohms:
    373        description:
    374          Sets the value of the sense resistor. Look at table 20 of the
    375          datasheet for information.
    376
    377    required:
    378      - adi,rsense-val-milli-ohms
    379
    380required:
    381  - compatible
    382  - reg
    383  - interrupts
    384
    385additionalProperties: false
    386
    387examples:
    388  - |
    389    #include <dt-bindings/interrupt-controller/irq.h>
    390    spi {
    391        #address-cells = <1>;
    392        #size-cells = <0>;
    393
    394        sensor_ltc2983: ltc2983@0 {
    395                compatible = "adi,ltc2983";
    396                reg = <0>;
    397
    398                #address-cells = <1>;
    399                #size-cells = <0>;
    400
    401                interrupts = <20 IRQ_TYPE_EDGE_RISING>;
    402                interrupt-parent = <&gpio>;
    403
    404                thermocouple@18 {
    405                        reg = <18>;
    406                        adi,sensor-type = <8>; //Type B
    407                        adi,sensor-oc-current-microamp = <10>;
    408                        adi,cold-junction-handle = <&diode5>;
    409                };
    410
    411                diode5: diode@5 {
    412                        reg = <5>;
    413                        adi,sensor-type = <28>;
    414                };
    415
    416                rsense2: rsense@2 {
    417                        reg = <2>;
    418                        adi,sensor-type = <29>;
    419                        adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms
    420                };
    421
    422                rtd@14 {
    423                        reg = <14>;
    424                        adi,sensor-type = <15>; //PT1000
    425                        /*2-wire, internal gnd, no current rotation*/
    426                        adi,number-of-wires = <2>;
    427                        adi,rsense-share;
    428                        adi,excitation-current-microamp = <500>;
    429                        adi,rsense-handle = <&rsense2>;
    430                };
    431
    432                adc@10 {
    433                        reg = <10>;
    434                        adi,sensor-type = <30>;
    435                        adi,single-ended;
    436                };
    437
    438                thermistor@12 {
    439                        reg = <12>;
    440                        adi,sensor-type = <26>; //Steinhart
    441                        adi,rsense-handle = <&rsense2>;
    442                        adi,custom-steinhart = <0x00F371EC 0x12345678
    443                                        0x2C0F8733 0x10018C66 0xA0FEACCD
    444                                        0x90021D99>; //6 entries
    445                };
    446
    447                thermocouple@20 {
    448                        reg = <20>;
    449                        adi,sensor-type = <9>; //custom thermocouple
    450                        adi,single-ended;
    451                        adi,custom-thermocouple =
    452                                 /bits/ 64 <(-50220000) 0>,
    453                                 /bits/ 64 <(-30200000) 99100000>,
    454                                 /bits/ 64 <(-5300000) 135400000>,
    455                                 /bits/ 64 <0 273150000>,
    456                                 /bits/ 64 <40200000 361200000>,
    457                                 /bits/ 64 <55300000 522100000>,
    458                                 /bits/ 64 <88300000 720300000>,
    459                                 /bits/ 64 <132200000 811200000>,
    460                                 /bits/ 64 <188700000 922500000>,
    461                                 /bits/ 64 <460400000 1000000000>; //10 pairs
    462               };
    463
    464        };
    465    };
    466...