1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/hwmon/pwm-fan.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Fan connected to PWM lines
10 - Jean Delvare <jdelvare@suse.com>
11 - Guenter Roeck <linux@roeck-us.net>
18 description: PWM duty cycle values corresponding to thermal cooling states.
19 $ref: /schemas/types.yaml#/definitions/uint32-array
24 description: Phandle to the regulator that provides power to the fan.
28 This contains an interrupt specifier for each fan tachometer output
29 connected to an interrupt source. The output signal must generate a
30 defined number of interrupts per fan revolution, which require that
31 it must be self resetting edge interrupts.
34 pulses-per-revolution:
36 Define the number of pulses per fan revolution for each tachometer
38 $ref: /schemas/types.yaml#/definitions/uint32
44 description: The PWM that is used to control the fan.
47 "#cooling-cells": true
53 additionalProperties: false
58 compatible = "pwm-fan";
59 cooling-levels = <0 102 170 230>;
60 pwms = <&pwm 0 10000 0>;
65 cpu_thermal: cpu-thermal {
66 thermal-sensors = <&tmu 0>;
67 polling-delay-passive = <0>;
71 cpu_alert1: cpu-alert1 {
72 temperature = <100000>; /* millicelsius */
73 hysteresis = <2000>; /* millicelsius */
81 cooling-device = <&fan0 0 1>;
88 #include <dt-bindings/interrupt-controller/irq.h>
91 compatible = "pwm-fan";
92 pwms = <&pwm 0 40000 0>;
93 fan-supply = <®_fan>;
94 interrupt-parent = <&gpio5>;
95 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
96 pulses-per-revolution = <2>;