forked from Minki/linux
dt-bindings: iio: Add ltc2983 documentation
Document the LTC2983 temperature sensor devicetree bindings. Tweaked by Jonathan to take into account the lack of signed output being maintained by dtc yaml output. For now a comment added that the unsigned array should actually be signed. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
f110f3188e
commit
3986a14870
@ -0,0 +1,480 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/temperature/adi,ltc2983.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices LTC2983 Multi-sensor Temperature system
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Nuno Sá <nuno.sa@analog.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Analog Devices LTC2983 Multi-Sensor Digital Temperature Measurement System
|
||||||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/2983fc.pdf
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- adi,ltc2983
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
adi,mux-delay-config-us:
|
||||||
|
description:
|
||||||
|
The LTC2983 performs 2 or 3 internal conversion cycles per temperature
|
||||||
|
result. Each conversion cycle is performed with different excitation and
|
||||||
|
input multiplexer configurations. Prior to each conversion, these
|
||||||
|
excitation circuits and input switch configurations are changed and an
|
||||||
|
internal 1ms delay ensures settling prior to the conversion cycle in most
|
||||||
|
cases. An extra delay can be configured using this property. The value is
|
||||||
|
rounded to nearest 100us.
|
||||||
|
maximum: 255
|
||||||
|
|
||||||
|
adi,filter-notch-freq:
|
||||||
|
description:
|
||||||
|
Set's the default setting of the digital filter. The default is
|
||||||
|
simultaneous 50/60Hz rejection.
|
||||||
|
0 - 50/60Hz rejection
|
||||||
|
1 - 60Hz rejection
|
||||||
|
2 - 50Hz rejection
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- minimum: 0
|
||||||
|
maximum: 2
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"@([1-9]|1[0-9]|20)$":
|
||||||
|
type: object
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
description:
|
||||||
|
The channel number. It can be connected to one of the 20 channels of
|
||||||
|
the device.
|
||||||
|
minimum: 1
|
||||||
|
maximum: 20
|
||||||
|
|
||||||
|
adi,sensor-type:
|
||||||
|
description: Identifies the type of sensor connected to the device.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
- adi,sensor-type
|
||||||
|
|
||||||
|
"^thermocouple@":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Represents a thermocouple sensor which is connected to one of the device
|
||||||
|
channels.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
adi,sensor-type:
|
||||||
|
description: |
|
||||||
|
1 - Type J Thermocouple
|
||||||
|
2 - Type K Thermocouple
|
||||||
|
3 - Type E Thermocouple
|
||||||
|
4 - Type N Thermocouple
|
||||||
|
5 - Type R Thermocouple
|
||||||
|
6 - Type S Thermocouple
|
||||||
|
7 - Type T Thermocouple
|
||||||
|
8 - Type B Thermocouple
|
||||||
|
9 - Custom Thermocouple
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
minimum: 1
|
||||||
|
maximum: 9
|
||||||
|
|
||||||
|
adi,single-ended:
|
||||||
|
description:
|
||||||
|
Boolean property which set's the thermocouple as single-ended.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,sensor-oc-current-microamp:
|
||||||
|
description:
|
||||||
|
This property set's the pulsed current value applied during
|
||||||
|
open-circuit detect.
|
||||||
|
enum: [10, 100, 500, 1000]
|
||||||
|
|
||||||
|
adi,cold-junction-handle:
|
||||||
|
description:
|
||||||
|
Phandle which points to a sensor object responsible for measuring
|
||||||
|
the thermocouple cold junction temperature.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
|
||||||
|
adi,custom-thermocouple:
|
||||||
|
description:
|
||||||
|
This is a table, where each entry should be a pair of
|
||||||
|
voltage(mv)-temperature(K). The entries must be given in nv and uK
|
||||||
|
so that, the original values must be multiplied by 1000000. For
|
||||||
|
more details look at table 69 and 70.
|
||||||
|
Note should be signed, but dtc doesn't currently maintain the
|
||||||
|
sign.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||||
|
items:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 64
|
||||||
|
items:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
"^diode@":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Represents a diode sensor which is connected to one of the device
|
||||||
|
channels.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
adi,sensor-type:
|
||||||
|
description: Identifies the sensor as a diode.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
const: 28
|
||||||
|
|
||||||
|
adi,single-ended:
|
||||||
|
description: Boolean property which set's the diode as single-ended.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,three-conversion-cycles:
|
||||||
|
description:
|
||||||
|
Boolean property which set's three conversion cycles removing
|
||||||
|
parasitic resistance effects between the LTC2983 and the diode.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,average-on:
|
||||||
|
description:
|
||||||
|
Boolean property which enables a running average of the diode
|
||||||
|
temperature reading. This reduces the noise when the diode is used
|
||||||
|
as a cold junction temperature element on an isothermal block
|
||||||
|
where temperatures change slowly.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,excitation-current-microamp:
|
||||||
|
description:
|
||||||
|
This property controls the magnitude of the excitation current
|
||||||
|
applied to the diode. Depending on the number of conversions
|
||||||
|
cycles, this property will assume different predefined values on
|
||||||
|
each cycle. Just set the value of the first cycle (1l).
|
||||||
|
enum: [10, 20, 40, 80]
|
||||||
|
|
||||||
|
adi,ideal-factor-value:
|
||||||
|
description:
|
||||||
|
This property sets the diode ideality factor. The real value must
|
||||||
|
be multiplied by 1000000 to remove the fractional part. For more
|
||||||
|
information look at table 20 of the datasheet.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
"^rtd@":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Represents a rtd sensor which is connected to one of the device channels.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
minimum: 2
|
||||||
|
maximum: 20
|
||||||
|
|
||||||
|
adi,sensor-type:
|
||||||
|
description: |
|
||||||
|
10 - RTD PT-10
|
||||||
|
11 - RTD PT-50
|
||||||
|
12 - RTD PT-100
|
||||||
|
13 - RTD PT-200
|
||||||
|
14 - RTD PT-500
|
||||||
|
15 - RTD PT-1000
|
||||||
|
16 - RTD PT-1000 (0.00375)
|
||||||
|
17 - RTD NI-120
|
||||||
|
18 - RTD Custom
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
minimum: 10
|
||||||
|
maximum: 18
|
||||||
|
|
||||||
|
adi,rsense-handle:
|
||||||
|
description:
|
||||||
|
Phandle pointing to a rsense object associated with this RTD.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
|
||||||
|
adi,number-of-wires:
|
||||||
|
description:
|
||||||
|
Identifies the number of wires used by the RTD. Setting this
|
||||||
|
property to 5 means 4 wires with Kelvin Rsense.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- enum: [2, 3, 4, 5]
|
||||||
|
|
||||||
|
adi,rsense-share:
|
||||||
|
description:
|
||||||
|
Boolean property which enables Rsense sharing, where one sense
|
||||||
|
resistor is used for multiple 2-, 3-, and/or 4-wire RTDs.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,current-rotate:
|
||||||
|
description:
|
||||||
|
Boolean property which enables excitation current rotation to
|
||||||
|
automatically remove parasitic thermocouple effects. Note that
|
||||||
|
this property is not allowed for 2- and 3-wire RTDs.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,excitation-current-microamp:
|
||||||
|
description:
|
||||||
|
This property controls the magnitude of the excitation current
|
||||||
|
applied to the RTD.
|
||||||
|
enum: [5, 10, 25, 50, 100, 250, 500, 1000]
|
||||||
|
|
||||||
|
adi,rtd-curve:
|
||||||
|
description:
|
||||||
|
This property set the RTD curve used and the corresponding
|
||||||
|
Callendar-VanDusen constants. Look at table 30 of the datasheet.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- minimum: 0
|
||||||
|
maximum: 3
|
||||||
|
|
||||||
|
adi,custom-rtd:
|
||||||
|
description:
|
||||||
|
This is a table, where each entry should be a pair of
|
||||||
|
resistance(ohm)-temperature(K). The entries added here are in uohm
|
||||||
|
and uK. For more details values look at table 74 and 75.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||||
|
items:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 64
|
||||||
|
items:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
required:
|
||||||
|
- adi,rsense-handle
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
adi,current-rotate: [ adi,rsense-share ]
|
||||||
|
|
||||||
|
"^thermistor@":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Represents a thermistor sensor which is connected to one of the device
|
||||||
|
channels.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
adi,sensor-type:
|
||||||
|
description:
|
||||||
|
19 - Thermistor 44004/44033 2.252kohm at 25°C
|
||||||
|
20 - Thermistor 44005/44030 3kohm at 25°C
|
||||||
|
21 - Thermistor 44007/44034 5kohm at 25°C
|
||||||
|
22 - Thermistor 44006/44031 10kohm at 25°C
|
||||||
|
23 - Thermistor 44008/44032 30kohm at 25°C
|
||||||
|
24 - Thermistor YSI 400 2.252kohm at 25°C
|
||||||
|
25 - Thermistor Spectrum 1003k 1kohm
|
||||||
|
26 - Thermistor Custom Steinhart-Hart
|
||||||
|
27 - Custom Thermistor
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
minimum: 19
|
||||||
|
maximum: 27
|
||||||
|
|
||||||
|
adi,rsense-handle:
|
||||||
|
description:
|
||||||
|
Phandle pointing to a rsense object associated with this
|
||||||
|
thermistor.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
|
||||||
|
adi,single-ended:
|
||||||
|
description:
|
||||||
|
Boolean property which set's the thermistor as single-ended.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,rsense-share:
|
||||||
|
description:
|
||||||
|
Boolean property which enables Rsense sharing, where one sense
|
||||||
|
resistor is used for multiple thermistors. Note that this property
|
||||||
|
is ignored if adi,single-ended is set.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,current-rotate:
|
||||||
|
description:
|
||||||
|
Boolean property which enables excitation current rotation to
|
||||||
|
automatically remove parasitic thermocouple effects.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
adi,excitation-current-nanoamp:
|
||||||
|
description:
|
||||||
|
This property controls the magnitude of the excitation current
|
||||||
|
applied to the thermistor. Value 0 set's the sensor in auto-range
|
||||||
|
mode.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- enum: [0, 250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
|
||||||
|
250000, 500000, 1000000]
|
||||||
|
|
||||||
|
adi,custom-thermistor:
|
||||||
|
description:
|
||||||
|
This is a table, where each entry should be a pair of
|
||||||
|
resistance(ohm)-temperature(K). The entries added here are in uohm
|
||||||
|
and uK only for custom thermistors. For more details look at table
|
||||||
|
78 and 79.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||||
|
items:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 64
|
||||||
|
items:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
adi,custom-steinhart:
|
||||||
|
description:
|
||||||
|
Steinhart-Hart coefficients are also supported and can
|
||||||
|
be programmed into the device memory using this property. For
|
||||||
|
Steinhart sensors the coefficients are given in the raw
|
||||||
|
format. Look at table 82 for more information.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
items:
|
||||||
|
minItems: 6
|
||||||
|
maxItems: 6
|
||||||
|
|
||||||
|
required:
|
||||||
|
- adi,rsense-handle
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
adi,current-rotate: [ adi,rsense-share ]
|
||||||
|
|
||||||
|
"^adc@":
|
||||||
|
type: object
|
||||||
|
description: Represents a channel which is being used as a direct adc.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
adi,sensor-type:
|
||||||
|
description: Identifies the sensor as a direct adc.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
const: 30
|
||||||
|
|
||||||
|
adi,single-ended:
|
||||||
|
description: Boolean property which set's the adc as single-ended.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
"^rsense@":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Represents a rsense which is connected to one of the device channels.
|
||||||
|
Rsense are used by thermistors and RTD's.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
minimum: 2
|
||||||
|
maximum: 20
|
||||||
|
|
||||||
|
adi,sensor-type:
|
||||||
|
description: Identifies the sensor as a rsense.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
const: 29
|
||||||
|
|
||||||
|
adi,rsense-val-milli-ohms:
|
||||||
|
description:
|
||||||
|
Sets the value of the sense resistor. Look at table 20 of the
|
||||||
|
datasheet for information.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- adi,rsense-val-milli-ohms
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
sensor_ltc2983: ltc2983@0 {
|
||||||
|
compatible = "adi,ltc2983";
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
interrupts = <20 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
|
||||||
|
thermocouple@18 {
|
||||||
|
reg = <18>;
|
||||||
|
adi,sensor-type = <8>; //Type B
|
||||||
|
adi,sensor-oc-current-microamp = <10>;
|
||||||
|
adi,cold-junction-handle = <&diode5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
diode5: diode@5 {
|
||||||
|
reg = <5>;
|
||||||
|
adi,sensor-type = <28>;
|
||||||
|
};
|
||||||
|
|
||||||
|
rsense2: rsense@2 {
|
||||||
|
reg = <2>;
|
||||||
|
adi,sensor-type = <29>;
|
||||||
|
adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms
|
||||||
|
};
|
||||||
|
|
||||||
|
rtd@14 {
|
||||||
|
reg = <14>;
|
||||||
|
adi,sensor-type = <15>; //PT1000
|
||||||
|
/*2-wire, internal gnd, no current rotation*/
|
||||||
|
adi,number-of-wires = <2>;
|
||||||
|
adi,rsense-share;
|
||||||
|
adi,excitation-current-microamp = <500>;
|
||||||
|
adi,rsense-handle = <&rsense2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc@10 {
|
||||||
|
reg = <10>;
|
||||||
|
adi,sensor-type = <30>;
|
||||||
|
adi,single-ended;
|
||||||
|
};
|
||||||
|
|
||||||
|
thermistor@12 {
|
||||||
|
reg = <12>;
|
||||||
|
adi,sensor-type = <26>; //Steinhart
|
||||||
|
adi,rsense-handle = <&rsense2>;
|
||||||
|
adi,custom-steinhart = <0x00F371EC 0x12345678
|
||||||
|
0x2C0F8733 0x10018C66 0xA0FEACCD
|
||||||
|
0x90021D99>; //6 entries
|
||||||
|
};
|
||||||
|
|
||||||
|
thermocouple@20 {
|
||||||
|
reg = <20>;
|
||||||
|
adi,sensor-type = <9>; //custom thermocouple
|
||||||
|
adi,single-ended;
|
||||||
|
adi,custom-thermocouple = /bits/ 64
|
||||||
|
<(-50220000) 0
|
||||||
|
(-30200000) 99100000
|
||||||
|
(-5300000) 135400000
|
||||||
|
0 273150000
|
||||||
|
40200000 361200000
|
||||||
|
55300000 522100000
|
||||||
|
88300000 720300000
|
||||||
|
132200000 811200000
|
||||||
|
188700000 922500000
|
||||||
|
460400000 1000000000>; //10 pairs
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
@ -9629,6 +9629,7 @@ W: http://ez.analog.com/community/linux-device-drivers
|
|||||||
L: linux-iio@vger.kernel.org
|
L: linux-iio@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/iio/temperature/ltc2983.c
|
F: drivers/iio/temperature/ltc2983.c
|
||||||
|
F: Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
|
||||||
|
|
||||||
LTC4261 HARDWARE MONITOR DRIVER
|
LTC4261 HARDWARE MONITOR DRIVER
|
||||||
M: Guenter Roeck <linux@roeck-us.net>
|
M: Guenter Roeck <linux@roeck-us.net>
|
||||||
|
Loading…
Reference in New Issue
Block a user