139 lines
3.7 KiB
YAML
139 lines
3.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/hwmon/adt7475.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ADT7475 hwmon sensor
|
|
|
|
maintainers:
|
|
- Jean Delvare <jdelvare@suse.com>
|
|
|
|
description: |
|
|
The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal monitors and multiple
|
|
PWN fan controllers.
|
|
|
|
They support monitoring and controlling up to four fans (the ADT7490 can only
|
|
control up to three). They support reading a single on chip temperature
|
|
sensor and two off chip temperature sensors (the ADT7490 additionally
|
|
supports measuring up to three current external temperature sensors with
|
|
series resistance cancellation (SRC)).
|
|
|
|
Datasheets:
|
|
https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF
|
|
https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF
|
|
https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF
|
|
https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF
|
|
|
|
Description taken from onsemiconductors specification sheets, with minor
|
|
rephrasing.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- adi,adt7473
|
|
- adi,adt7475
|
|
- adi,adt7476
|
|
- adi,adt7490
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
adi,pwm-active-state:
|
|
description: |
|
|
Integer array, represents the active state of the pwm outputs If set to 0
|
|
the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm
|
|
uses a logic high output for 100% duty cycle.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
deprecated: true
|
|
minItems: 3
|
|
maxItems: 3
|
|
items:
|
|
enum: [0, 1]
|
|
default: 1
|
|
|
|
"#pwm-cells":
|
|
const: 4
|
|
description: |
|
|
Number of cells in a PWM specifier.
|
|
- 0: The PWM channel
|
|
- 1: The PWM period in nanoseconds
|
|
- 90909091 (11 Hz)
|
|
- 71428571 (14 Hz)
|
|
- 45454545 (22 Hz)
|
|
- 34482759 (29 Hz)
|
|
- 28571429 (35 Hz)
|
|
- 22727273 (44 Hz)
|
|
- 17241379 (58 Hz)
|
|
- 11363636 (88 Hz)
|
|
- 44444 (22 kHz)
|
|
- 2: PWM flags 0 or PWM_POLARITY_INVERTED
|
|
- 3: The default PWM duty cycle in nanoseconds
|
|
|
|
patternProperties:
|
|
"^adi,bypass-attenuator-in[0-4]$":
|
|
description: |
|
|
Configures bypassing the individual voltage input attenuator. If
|
|
set to 1 the attenuator is bypassed if set to 0 the attenuator is
|
|
not bypassed. If the property is absent then the attenuator
|
|
retains its configuration from the bios/bootloader.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1]
|
|
|
|
"^adi,pin(5|10)-function$":
|
|
description: |
|
|
Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or
|
|
pin 10 on the adi,adt7476 and adi,adt7490.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum:
|
|
- pwm2
|
|
- smbalert#
|
|
|
|
"^adi,pin(9|14)-function$":
|
|
description: |
|
|
Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or
|
|
pin 14 on the adi,adt7476 and adi,adt7490
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum:
|
|
- tach4
|
|
- therm#
|
|
- smbalert#
|
|
- gpio
|
|
|
|
"^fan-[0-9]+$":
|
|
$ref: fan-common.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/pwm/pwm.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pwm: hwmon@2e {
|
|
compatible = "adi,adt7476";
|
|
reg = <0x2e>;
|
|
adi,bypass-attenuator-in0 = <1>;
|
|
adi,bypass-attenuator-in1 = <0>;
|
|
adi,pin10-function = "smbalert#";
|
|
adi,pin14-function = "tach4";
|
|
#pwm-cells = <4>;
|
|
|
|
/* PWMs at 22.5 kHz frequency, 50% duty*/
|
|
fan-0 {
|
|
pwms = <&pwm 0 44444 0 22222>;
|
|
};
|
|
|
|
fan-1 {
|
|
pwms = <&pwm 2 44444 0 22222>;
|
|
};
|
|
};
|
|
};
|