162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/hwmon/adt7475.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: ADT7475 hwmon sensor
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Jean Delvare <jdelvare@suse.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal monitors and multiple
1462306a36Sopenharmony_ci  PWN fan controllers.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  They support monitoring and controlling up to four fans (the ADT7490 can only
1762306a36Sopenharmony_ci  control up to three). They support reading a single on chip temperature
1862306a36Sopenharmony_ci  sensor and two off chip temperature sensors (the ADT7490 additionally
1962306a36Sopenharmony_ci  supports measuring up to three current external temperature sensors with
2062306a36Sopenharmony_ci  series resistance cancellation (SRC)).
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  Datasheets:
2362306a36Sopenharmony_ci  https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF
2462306a36Sopenharmony_ci  https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF
2562306a36Sopenharmony_ci  https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF
2662306a36Sopenharmony_ci  https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  Description taken from onsemiconductors specification sheets, with minor
2962306a36Sopenharmony_ci  rephrasing.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciproperties:
3262306a36Sopenharmony_ci  compatible:
3362306a36Sopenharmony_ci    enum:
3462306a36Sopenharmony_ci      - adi,adt7473
3562306a36Sopenharmony_ci      - adi,adt7475
3662306a36Sopenharmony_ci      - adi,adt7476
3762306a36Sopenharmony_ci      - adi,adt7490
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  reg:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  adi,pwm-active-state:
4362306a36Sopenharmony_ci    description: |
4462306a36Sopenharmony_ci      Integer array, represents the active state of the pwm outputs If set to 0
4562306a36Sopenharmony_ci      the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm
4662306a36Sopenharmony_ci      uses a logic high output for 100% duty cycle.
4762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
4862306a36Sopenharmony_ci    minItems: 3
4962306a36Sopenharmony_ci    maxItems: 3
5062306a36Sopenharmony_ci    items:
5162306a36Sopenharmony_ci      enum: [0, 1]
5262306a36Sopenharmony_ci      default: 1
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cipatternProperties:
5562306a36Sopenharmony_ci  "^adi,bypass-attenuator-in[0-4]$":
5662306a36Sopenharmony_ci    description: |
5762306a36Sopenharmony_ci      Configures bypassing the individual voltage input attenuator. If
5862306a36Sopenharmony_ci      set to 1 the attenuator is bypassed if set to 0 the attenuator is
5962306a36Sopenharmony_ci      not bypassed. If the property is absent then the attenuator
6062306a36Sopenharmony_ci      retains its configuration from the bios/bootloader.
6162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
6262306a36Sopenharmony_ci    enum: [0, 1]
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci  "^adi,pin(5|10)-function$":
6562306a36Sopenharmony_ci    description: |
6662306a36Sopenharmony_ci      Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or
6762306a36Sopenharmony_ci      pin 10 on the adi,adt7476 and adi,adt7490.
6862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
6962306a36Sopenharmony_ci    enum:
7062306a36Sopenharmony_ci      - pwm2
7162306a36Sopenharmony_ci      - smbalert#
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci  "^adi,pin(9|14)-function$":
7462306a36Sopenharmony_ci    description: |
7562306a36Sopenharmony_ci      Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or
7662306a36Sopenharmony_ci      pin 14 on the adi,adt7476 and adi,adt7490
7762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
7862306a36Sopenharmony_ci    enum:
7962306a36Sopenharmony_ci      - tach4
8062306a36Sopenharmony_ci      - therm#
8162306a36Sopenharmony_ci      - smbalert#
8262306a36Sopenharmony_ci      - gpio
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_cirequired:
8562306a36Sopenharmony_ci  - compatible
8662306a36Sopenharmony_ci  - reg
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciadditionalProperties: false
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ciexamples:
9162306a36Sopenharmony_ci  - |
9262306a36Sopenharmony_ci    i2c {
9362306a36Sopenharmony_ci      #address-cells = <1>;
9462306a36Sopenharmony_ci      #size-cells = <0>;
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci      hwmon@2e {
9762306a36Sopenharmony_ci        compatible = "adi,adt7476";
9862306a36Sopenharmony_ci        reg = <0x2e>;
9962306a36Sopenharmony_ci        adi,bypass-attenuator-in0 = <1>;
10062306a36Sopenharmony_ci        adi,bypass-attenuator-in1 = <0>;
10162306a36Sopenharmony_ci        adi,pwm-active-state = <1 0 1>;
10262306a36Sopenharmony_ci        adi,pin10-function = "smbalert#";
10362306a36Sopenharmony_ci        adi,pin14-function = "tach4";
10462306a36Sopenharmony_ci      };
10562306a36Sopenharmony_ci    };
106