Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| 2 | %YAML 1.2 |
| 3 | --- |
| 4 | |
| 5 | $id: http://devicetree.org/schemas/hwmon/adi,ltc2991.yaml# |
| 6 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 7 | |
| 8 | title: Analog Devices LTC2991 Octal I2C Voltage, Current and Temperature Monitor |
| 9 | |
| 10 | maintainers: |
| 11 | - Antoniu Miclaus <antoniu.miclaus@analog.com> |
| 12 | |
| 13 | description: | |
| 14 | The LTC2991 is used to monitor system temperatures, voltages and currents. |
| 15 | Through the I2C serial interface, the eight monitors can individually measure |
| 16 | supply voltages and can be paired for differential measurements of current |
| 17 | sense resistors or temperature sensing transistors. |
| 18 | |
| 19 | Datasheet: |
| 20 | https://www.analog.com/en/products/ltc2991.html |
| 21 | |
| 22 | properties: |
| 23 | compatible: |
| 24 | const: adi,ltc2991 |
| 25 | |
| 26 | reg: |
| 27 | maxItems: 1 |
| 28 | |
| 29 | '#address-cells': |
| 30 | const: 1 |
| 31 | |
| 32 | '#size-cells': |
| 33 | const: 0 |
| 34 | |
| 35 | vcc-supply: true |
| 36 | |
| 37 | patternProperties: |
| 38 | "^channel@[0-3]$": |
| 39 | type: object |
| 40 | description: |
| 41 | Represents the differential/temperature channels. |
| 42 | |
| 43 | properties: |
| 44 | reg: |
| 45 | description: |
| 46 | The channel number. LTC2991 can monitor 4 currents/temperatures. |
| 47 | items: |
| 48 | minimum: 0 |
| 49 | maximum: 3 |
| 50 | |
| 51 | shunt-resistor-micro-ohms: |
| 52 | description: |
| 53 | The value of curent sense resistor in micro ohms. Pin configuration is |
| 54 | set for differential input pair. |
| 55 | |
| 56 | adi,temperature-enable: |
| 57 | description: |
| 58 | Enables temperature readings. Pin configuration is set for remote |
| 59 | diode temperature measurement. |
| 60 | type: boolean |
| 61 | |
| 62 | required: |
| 63 | - reg |
| 64 | |
| 65 | allOf: |
| 66 | - if: |
| 67 | required: |
| 68 | - shunt-resistor-micro-ohms |
| 69 | then: |
| 70 | properties: |
| 71 | adi,temperature-enable: false |
| 72 | |
| 73 | additionalProperties: false |
| 74 | |
| 75 | required: |
| 76 | - compatible |
| 77 | - reg |
| 78 | - vcc-supply |
| 79 | |
| 80 | additionalProperties: false |
| 81 | |
| 82 | examples: |
| 83 | - | |
| 84 | i2c { |
| 85 | #address-cells = <1>; |
| 86 | #size-cells = <0>; |
| 87 | |
| 88 | hwmon@48 { |
| 89 | compatible = "adi,ltc2991"; |
| 90 | reg = <0x48>; |
| 91 | vcc-supply = <&vcc>; |
| 92 | }; |
| 93 | }; |
| 94 | - | |
| 95 | i2c { |
| 96 | #address-cells = <1>; |
| 97 | #size-cells = <0>; |
| 98 | |
| 99 | hwmon@48 { |
| 100 | #address-cells = <1>; |
| 101 | #size-cells = <0>; |
| 102 | |
| 103 | compatible = "adi,ltc2991"; |
| 104 | reg = <0x48>; |
| 105 | vcc-supply = <&vcc>; |
| 106 | |
| 107 | channel@0 { |
| 108 | reg = <0x0>; |
| 109 | shunt-resistor-micro-ohms = <100000>; |
| 110 | }; |
| 111 | |
| 112 | channel@1 { |
| 113 | reg = <0x1>; |
| 114 | shunt-resistor-micro-ohms = <100000>; |
| 115 | }; |
| 116 | |
| 117 | channel@2 { |
| 118 | reg = <0x2>; |
| 119 | adi,temperature-enable; |
| 120 | }; |
| 121 | |
| 122 | channel@3 { |
| 123 | reg = <0x3>; |
| 124 | adi,temperature-enable; |
| 125 | }; |
| 126 | }; |
| 127 | }; |
| 128 | ... |