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