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 | $id: http://devicetree.org/schemas/hwmon/adt7475.yaml# |
| 5 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | |
| 7 | title: ADT7475 hwmon sensor |
| 8 | |
| 9 | maintainers: |
| 10 | - Jean Delvare <jdelvare@suse.com> |
| 11 | |
| 12 | description: | |
| 13 | The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal monitors and multiple |
| 14 | PWN fan controllers. |
| 15 | |
| 16 | They support monitoring and controlling up to four fans (the ADT7490 can only |
| 17 | control up to three). They support reading a single on chip temperature |
| 18 | sensor and two off chip temperature sensors (the ADT7490 additionally |
| 19 | supports measuring up to three current external temperature sensors with |
| 20 | series resistance cancellation (SRC)). |
| 21 | |
| 22 | Datasheets: |
| 23 | https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF |
| 24 | https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF |
| 25 | https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF |
| 26 | https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF |
| 27 | |
| 28 | Description taken from onsemiconductors specification sheets, with minor |
| 29 | rephrasing. |
| 30 | |
| 31 | properties: |
| 32 | compatible: |
| 33 | enum: |
| 34 | - adi,adt7473 |
| 35 | - adi,adt7475 |
| 36 | - adi,adt7476 |
| 37 | - adi,adt7490 |
| 38 | |
| 39 | reg: |
| 40 | maxItems: 1 |
| 41 | |
| 42 | adi,pwm-active-state: |
| 43 | description: | |
| 44 | Integer array, represents the active state of the pwm outputs If set to 0 |
| 45 | the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm |
| 46 | uses a logic high output for 100% duty cycle. |
| 47 | $ref: /schemas/types.yaml#/definitions/uint32-array |
| 48 | minItems: 3 |
| 49 | maxItems: 3 |
| 50 | items: |
| 51 | enum: [0, 1] |
| 52 | default: 1 |
| 53 | |
| 54 | patternProperties: |
| 55 | "^adi,bypass-attenuator-in[0-4]$": |
| 56 | description: | |
| 57 | Configures bypassing the individual voltage input attenuator. If |
| 58 | set to 1 the attenuator is bypassed if set to 0 the attenuator is |
| 59 | not bypassed. If the property is absent then the attenuator |
| 60 | retains its configuration from the bios/bootloader. |
| 61 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 62 | enum: [0, 1] |
| 63 | |
| 64 | "^adi,pin(5|10)-function$": |
| 65 | description: | |
| 66 | Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or |
| 67 | pin 10 on the adi,adt7476 and adi,adt7490. |
| 68 | $ref: /schemas/types.yaml#/definitions/string |
| 69 | enum: |
| 70 | - pwm2 |
| 71 | - smbalert# |
| 72 | |
| 73 | "^adi,pin(9|14)-function$": |
| 74 | description: | |
| 75 | Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or |
| 76 | pin 14 on the adi,adt7476 and adi,adt7490 |
| 77 | $ref: /schemas/types.yaml#/definitions/string |
| 78 | enum: |
| 79 | - tach4 |
| 80 | - therm# |
| 81 | - smbalert# |
| 82 | - gpio |
| 83 | |
| 84 | required: |
| 85 | - compatible |
| 86 | - reg |
| 87 | |
| 88 | additionalProperties: false |
| 89 | |
| 90 | examples: |
| 91 | - | |
| 92 | i2c { |
| 93 | #address-cells = <1>; |
| 94 | #size-cells = <0>; |
| 95 | |
| 96 | hwmon@2e { |
| 97 | compatible = "adi,adt7476"; |
| 98 | reg = <0x2e>; |
| 99 | adi,bypass-attenuator-in0 = <1>; |
| 100 | adi,bypass-attenuator-in1 = <0>; |
| 101 | adi,pwm-active-state = <1 0 1>; |
| 102 | adi,pin10-function = "smbalert#"; |
| 103 | adi,pin14-function = "tach4"; |
| 104 | }; |
| 105 | }; |