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