xref: /linux/Documentation/devicetree/bindings/hwmon/adt7475.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1b56400b9SLogan Shaw# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2b56400b9SLogan Shaw%YAML 1.2
3b56400b9SLogan Shaw---
4ce81bd69SRob Herring$id: http://devicetree.org/schemas/hwmon/adt7475.yaml#
5b56400b9SLogan Shaw$schema: http://devicetree.org/meta-schemas/core.yaml#
6b56400b9SLogan Shaw
7b56400b9SLogan Shawtitle: ADT7475 hwmon sensor
8b56400b9SLogan Shaw
9b56400b9SLogan Shawmaintainers:
10b56400b9SLogan Shaw  - Jean Delvare <jdelvare@suse.com>
11b56400b9SLogan Shaw
12b56400b9SLogan Shawdescription: |
13b56400b9SLogan Shaw  The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal monitors and multiple
14b56400b9SLogan Shaw  PWN fan controllers.
15b56400b9SLogan Shaw
16b56400b9SLogan Shaw  They support monitoring and controlling up to four fans (the ADT7490 can only
17b56400b9SLogan Shaw  control up to three). They support reading a single on chip temperature
18b56400b9SLogan Shaw  sensor and two off chip temperature sensors (the ADT7490 additionally
19b56400b9SLogan Shaw  supports measuring up to three current external temperature sensors with
20b56400b9SLogan Shaw  series resistance cancellation (SRC)).
21b56400b9SLogan Shaw
22b56400b9SLogan Shaw  Datasheets:
23b56400b9SLogan Shaw  https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF
24b56400b9SLogan Shaw  https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF
25b56400b9SLogan Shaw  https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF
26b56400b9SLogan Shaw  https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF
27b56400b9SLogan Shaw
28b56400b9SLogan Shaw  Description taken from onsemiconductors specification sheets, with minor
29b56400b9SLogan Shaw  rephrasing.
30b56400b9SLogan Shaw
31b56400b9SLogan Shawproperties:
32b56400b9SLogan Shaw  compatible:
33b56400b9SLogan Shaw    enum:
34b56400b9SLogan Shaw      - adi,adt7473
35b56400b9SLogan Shaw      - adi,adt7475
36b56400b9SLogan Shaw      - adi,adt7476
37b56400b9SLogan Shaw      - adi,adt7490
38b56400b9SLogan Shaw
39b56400b9SLogan Shaw  reg:
40b56400b9SLogan Shaw    maxItems: 1
41b56400b9SLogan Shaw
42f88321a3SRob Herring  adi,pwm-active-state:
43ed39ff50SChris Packham    description: |
44ed39ff50SChris Packham      Integer array, represents the active state of the pwm outputs If set to 0
45ed39ff50SChris Packham      the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm
46ed39ff50SChris Packham      uses a logic high output for 100% duty cycle.
473d21a460SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32-array
48*20705629SChris Packham    deprecated: true
493d21a460SRob Herring    minItems: 3
50ed39ff50SChris Packham    maxItems: 3
51ed39ff50SChris Packham    items:
52ed39ff50SChris Packham      enum: [0, 1]
53ed39ff50SChris Packham      default: 1
54ed39ff50SChris Packham
556b1bb535SChris Packham  "#pwm-cells":
566b1bb535SChris Packham    const: 4
576b1bb535SChris Packham    description: |
586b1bb535SChris Packham      Number of cells in a PWM specifier.
596b1bb535SChris Packham      - 0: The PWM channel
606b1bb535SChris Packham      - 1: The PWM period in nanoseconds
616b1bb535SChris Packham           - 90909091 (11 Hz)
626b1bb535SChris Packham           - 71428571 (14 Hz)
636b1bb535SChris Packham           - 45454545 (22 Hz)
646b1bb535SChris Packham           - 34482759 (29 Hz)
656b1bb535SChris Packham           - 28571429 (35 Hz)
666b1bb535SChris Packham           - 22727273 (44 Hz)
676b1bb535SChris Packham           - 17241379 (58 Hz)
686b1bb535SChris Packham           - 11363636 (88 Hz)
696b1bb535SChris Packham           - 44444 (22 kHz)
706b1bb535SChris Packham      - 2: PWM flags 0 or PWM_POLARITY_INVERTED
716b1bb535SChris Packham      - 3: The default PWM duty cycle in nanoseconds
726b1bb535SChris Packham
73f88321a3SRob HerringpatternProperties:
74f88321a3SRob Herring  "^adi,bypass-attenuator-in[0-4]$":
75f88321a3SRob Herring    description: |
76f88321a3SRob Herring      Configures bypassing the individual voltage input attenuator. If
77f88321a3SRob Herring      set to 1 the attenuator is bypassed if set to 0 the attenuator is
78f88321a3SRob Herring      not bypassed. If the property is absent then the attenuator
79be55492eSRandy Dunlap      retains its configuration from the bios/bootloader.
80f88321a3SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
81f88321a3SRob Herring    enum: [0, 1]
82f88321a3SRob Herring
837621aabdSRob Herring  "^adi,pin(5|10)-function$":
844fc1b113SChris Packham    description: |
854fc1b113SChris Packham      Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or
864fc1b113SChris Packham      pin 10 on the adi,adt7476 and adi,adt7490.
874fc1b113SChris Packham    $ref: /schemas/types.yaml#/definitions/string
884fc1b113SChris Packham    enum:
894fc1b113SChris Packham      - pwm2
904fc1b113SChris Packham      - smbalert#
914fc1b113SChris Packham
927621aabdSRob Herring  "^adi,pin(9|14)-function$":
934fc1b113SChris Packham    description: |
944fc1b113SChris Packham      Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or
954fc1b113SChris Packham      pin 14 on the adi,adt7476 and adi,adt7490
964fc1b113SChris Packham    $ref: /schemas/types.yaml#/definitions/string
974fc1b113SChris Packham    enum:
984fc1b113SChris Packham      - tach4
994fc1b113SChris Packham      - therm#
1004fc1b113SChris Packham      - smbalert#
1014fc1b113SChris Packham      - gpio
1024fc1b113SChris Packham
1036b1bb535SChris Packham  "^fan-[0-9]+$":
1046b1bb535SChris Packham    $ref: fan-common.yaml#
1056b1bb535SChris Packham    unevaluatedProperties: false
1066b1bb535SChris Packham
107b56400b9SLogan Shawrequired:
108b56400b9SLogan Shaw  - compatible
109b56400b9SLogan Shaw  - reg
110b56400b9SLogan Shaw
1115be478f9SRob HerringadditionalProperties: false
1125be478f9SRob Herring
113b56400b9SLogan Shawexamples:
114b56400b9SLogan Shaw  - |
1156b1bb535SChris Packham    #include <dt-bindings/pwm/pwm.h>
116b56400b9SLogan Shaw    i2c {
117b56400b9SLogan Shaw      #address-cells = <1>;
118b56400b9SLogan Shaw      #size-cells = <0>;
119b56400b9SLogan Shaw
1206b1bb535SChris Packham      pwm: hwmon@2e {
121b56400b9SLogan Shaw        compatible = "adi,adt7476";
122b56400b9SLogan Shaw        reg = <0x2e>;
123f8372ec4SLogan Shaw        adi,bypass-attenuator-in0 = <1>;
124f8372ec4SLogan Shaw        adi,bypass-attenuator-in1 = <0>;
1254fc1b113SChris Packham        adi,pin10-function = "smbalert#";
1264fc1b113SChris Packham        adi,pin14-function = "tach4";
1276b1bb535SChris Packham        #pwm-cells = <4>;
1286b1bb535SChris Packham
1296b1bb535SChris Packham        /* PWMs at 22.5 kHz frequency, 50% duty*/
1306b1bb535SChris Packham        fan-0 {
1316b1bb535SChris Packham          pwms = <&pwm 0 44444 0 22222>;
1326b1bb535SChris Packham        };
1336b1bb535SChris Packham
1346b1bb535SChris Packham        fan-1 {
1356b1bb535SChris Packham          pwms = <&pwm 2 44444 0 22222>;
1366b1bb535SChris Packham        };
137b56400b9SLogan Shaw      };
138b56400b9SLogan Shaw    };
139