Bindings for a fan connected to the PWM lines Required properties: - compatible : "pwm-fan" - pwms : the PWM that is used to control the PWM fan - cooling-levels : PWM duty cycle values in a range from 0 to 255 which correspond to thermal cooling states Optional properties: - fan-supply : phandle to the regulator that provides power to the fan - interrupts : This contains a single interrupt specifier which describes the tachometer output of the fan as an interrupt source. The output signal must generate a defined number of interrupts per fan revolution, which require that it must be self resetting edge interrupts. See interrupt-controller/interrupts.txt for the format. - pulses-per-revolution : define the tachometer pulses per fan revolution as an integer (default is 2 interrupts per revolution). The value must be greater than zero. Example: fan0: pwm-fan { compatible = "pwm-fan"; cooling-min-state = <0>; cooling-max-state = <3>; #cooling-cells = <2>; pwms = <&pwm 0 10000 0>; cooling-levels = <0 102 170 230>; }; thermal-zones { cpu_thermal: cpu-thermal { thermal-sensors = <&tmu 0>; polling-delay-passive = <0>; polling-delay = <0>; trips { cpu_alert1: cpu-alert1 { temperature = <100000>; /* millicelsius */ hysteresis = <2000>; /* millicelsius */ type = "passive"; }; }; cooling-maps { map0 { trip = <&cpu_alert1>; cooling-device = <&fan0 0 1>; }; }; }; Example 2: fan0: pwm-fan { compatible = "pwm-fan"; pwms = <&pwm 0 40000 0>; fan-supply = <®_fan>; interrupt-parent = <&gpio5>; interrupts = <1 IRQ_TYPE_EDGE_FALLING>; pulses-per-revolution = <2>; };