| 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 an interrupt specifier for each fan |
| tachometer output connected to 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 number of pulses per fan revolution for |
| each tachometer input as an integer (default is 2 |
| interrupts per revolution). The value must be |
| greater than zero. |
| |
| Example: |
| fan0: pwm-fan { |
| compatible = "pwm-fan"; |
| #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>; |
| }; |
| |
| Example 3: |
| fan0: pwm-fan { |
| compatible = "pwm-fan"; |
| pwms = <&pwm1 0 25000 0>; |
| interrupts-extended = <&gpio1 1 IRQ_TYPE_EDGE_FALLING>, |
| <&gpio2 5 IRQ_TYPE_EDGE_FALLING>; |
| pulses-per-revolution = <2>, <1>; |
| }; |