xref: /freebsd/sys/contrib/device-tree/Bindings/hwmon/maxim,max31790.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/hwmon/maxim,max31790.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: The Maxim MAX31790 Fan Controller
8
9maintainers:
10  - Guenter Roeck <linux@roeck-us.net>
11  - Chanh Nguyen <chanh@os.amperecomputing.com>
12
13description: >
14  The MAX31790 controls the speeds of up to six fans using six
15  independent PWM outputs. The desired fan speeds (or PWM duty cycles)
16  are written through the I2C interface.
17
18  Datasheets:
19    https://datasheets.maximintegrated.com/en/ds/MAX31790.pdf
20
21properties:
22  compatible:
23    const: maxim,max31790
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  resets:
32    maxItems: 1
33
34  "#pwm-cells":
35    const: 1
36
37patternProperties:
38  "^fan-[0-9]+$":
39    $ref: fan-common.yaml#
40    unevaluatedProperties: false
41
42required:
43  - compatible
44  - reg
45
46additionalProperties: false
47
48examples:
49  - |
50    i2c {
51      #address-cells = <1>;
52      #size-cells = <0>;
53
54      pwm_provider: fan-controller@20 {
55        compatible = "maxim,max31790";
56        reg = <0x20>;
57        clocks = <&sys_clk>;
58        resets = <&reset 0>;
59        #pwm-cells = <1>;
60
61        fan-0 {
62          pwms = <&pwm_provider 1>;
63        };
64
65        fan-1 {
66          pwms = <&pwm_provider 2>;
67        };
68      };
69    };
70
71