This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
resources:tools-software:linux-drivers:iio-temperature:ltc2983 [07 Jan 2020 13:45] Nuno Sá [Files] |
resources:tools-software:linux-drivers:iio-temperature:ltc2983 [15 Nov 2022 14:57] Cosmin Tanislav more ltc2983 parts |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== LTC2983 Multi-Sensor Digital Temperature Measurement System Driver ====== | + | ====== LTC2983/LTC2984/LTC2986/LTM2985 Multi-Sensor Digital Temperature Measurement System Driver ====== |
===== Supported Devices ===== | ===== Supported Devices ===== | ||
* [[adi>LTC2983]] | * [[adi>LTC2983]] | ||
+ | * [[adi>LTC2984]] | ||
+ | * [[adi>LTC2986]] | ||
+ | * [[adi>LTM2985]] | ||
===== Evaluation Boards ===== | ===== Evaluation Boards ===== | ||
Line 26: | Line 29: | ||
^ Function ^ File ^ | ^ Function ^ File ^ | ||
| driver | [[git.linux.org>drivers/iio/temperature/ltc2983.c | drivers/iio/temperature/ltc2983.c]]| | | driver | [[git.linux.org>drivers/iio/temperature/ltc2983.c | drivers/iio/temperature/ltc2983.c]]| | ||
+ | | Documentation | [[git.linux.org>Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml | adi,ltc2983.yaml]]| | ||
====== Example SPI device initialization ====== | ====== Example SPI device initialization ====== | ||
- | The LTC2983 supports SPI interfaces. Currently, the devices can only be instantiated via device tree. All the sensors attached on the LTC2983 channels must be described and instantiated on the devicetree. | + | The devices can only be instantiated via device tree, along with all the sensors attached to it. |
- | + | ||
- | Required devicetree properties: | + | |
- | + | ||
- | * **compatible**: Must be always one of these: | + | |
- | * adi,ltc2983 | + | |
- | * **reg**: Must be the SPI device chip select number. | + | |
- | * **interrupts**: Interrupt line. | + | |
- | + | ||
- | Example with thermoucouple and RTD: | + | |
- | <code> | + | |
- | spi0 { | + | |
- | #address-cells = <1>; | + | |
- | #size-cells = <0>; | + | |
- | sensor_ltc2983: ltc2983@0 { | + | |
- | compatible = "adi,ltc2983"; | + | |
- | reg = <0>; | + | |
- | + | ||
- | #address-cells = <1>; | + | |
- | #size-cells = <0>; | + | |
- | adi,temperature-celcius; | + | |
- | interrupts = <20 IRQ_TYPE_EDGE_RISING>; | + | |
- | + | ||
- | diode5: diode@5 { | + | |
- | reg = <5>; | + | |
- | adi,sensor-type = <28>; | + | |
- | }; | + | |
- | + | ||
- | thermocouple@18 { | + | |
- | reg = <18>; | + | |
- | adi,sensor-type = <8>; //Type B | + | |
- | adi,sensor-config = <1>; //Differential, open-circuit current | + | |
- | adi,cold-junction-handle = <&diode5>; | + | |
- | }; | + | |
- | + | ||
- | rsense2: rsense@2 { | + | |
- | reg = <2>; | + | |
- | adi,sensor-type = <29>; | + | |
- | adi,rsense-val-micro-ohms = /bits/ 64 <1200000000>; //1.2Kohms | + | |
- | }; | + | |
- | + | ||
- | rtd@14 { | + | |
- | reg = <14>; | + | |
- | adi,sensor-type = <15>; //PT1000 | + | |
- | /*2-wire, internal gnd, no current rotation*/ | + | |
- | adi,sensor-config = <1>; | + | |
- | adi,excitation-current = <7>; //500uA | + | |
- | adi,rsense-handle = <&rsense2>; | + | |
- | }; | + | |
- | }; | + | |
- | }; | + | |
- | </code> | + | |
- | + | ||
- | For more details, look at [[linux.github>master?/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml|bindings]]. | + | |
====== Adding Linux driver support ====== | ====== Adding Linux driver support ====== |