xref: /freebsd/sys/contrib/device-tree/Bindings/hwmon/ti,amc6821.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/hwmon/ti,amc6821.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: AMC6821 Intelligent Temperature Monitor and PWM Fan Controller
8
9maintainers:
10  - Farouk Bouabid <farouk.bouabid@cherry.de>
11  - Quentin Schulz <quentin.schulz@cherry.de>
12
13description:
14  Intelligent temperature monitor and pulse-width modulation (PWM) fan
15  controller.
16
17properties:
18  compatible:
19    oneOf:
20      - items:
21          - const: tsd,mule
22          - const: ti,amc6821
23      - const: ti,amc6821
24
25  reg:
26    maxItems: 1
27
28  i2c-mux:
29    type: object
30
31  fan:
32    $ref: fan-common.yaml#
33    unevaluatedProperties: false
34
35    properties:
36      cooling-levels:
37        description: PWM duty cycle values corresponding to thermal cooling states.
38        items:
39          maximum: 255
40
41  "#pwm-cells":
42    const: 2
43    description: |
44      Number of cells in a PWM specifier.
45      - cell 0: PWM period in nanoseconds
46      - cell 1: PWM polarity: 0 or PWM_POLARITY_INVERTED
47
48required:
49  - compatible
50  - reg
51
52if:
53  properties:
54    compatible:
55      contains:
56        const: tsd,mule
57
58then:
59  required:
60    - i2c-mux
61
62additionalProperties: false
63
64examples:
65  - |
66    i2c {
67        #address-cells = <1>;
68        #size-cells = <0>;
69
70        fan_controller: fan@18 {
71            compatible = "ti,amc6821";
72            reg = <0x18>;
73            #pwm-cells = <2>;
74
75            fan {
76                pwms = <&fan_controller 40000 0>;
77            };
78        };
79    };
80
81  - |
82    i2c {
83        #address-cells = <1>;
84        #size-cells = <0>;
85
86        fan@18 {
87            compatible = "tsd,mule", "ti,amc6821";
88            reg = <0x18>;
89
90            i2c-mux {
91                compatible = "tsd,mule-i2c-mux";
92                #address-cells = <1>;
93                #size-cells = <0>;
94
95                i2c@0 {
96                    reg = <0x0>;
97                    #address-cells = <1>;
98                    #size-cells = <0>;
99
100                    rtc@6f {
101                        compatible = "isil,isl1208";
102                        reg = <0x6f>;
103                    };
104                };
105            };
106        };
107    };
108...
109