| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/hwmon/pwm-fan.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Fan connected to PWM lines |
| |
| maintainers: |
| - Jean Delvare <jdelvare@suse.com> |
| - Guenter Roeck <linux@roeck-us.net> |
| |
| properties: |
| compatible: |
| const: pwm-fan |
| |
| cooling-levels: |
| description: PWM duty cycle values corresponding to thermal cooling states. |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| items: |
| maximum: 255 |
| |
| fan-supply: |
| description: Phandle to the regulator that provides power to the fan. |
| |
| interrupts: |
| description: |
| 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. |
| maxItems: 1 |
| |
| pulses-per-revolution: |
| description: |
| Define the number of pulses per fan revolution for each tachometer |
| input as an integer. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 1 |
| maximum: 4 |
| default: 2 |
| |
| pwms: |
| description: The PWM that is used to control the fan. |
| maxItems: 1 |
| |
| "#cooling-cells": true |
| |
| required: |
| - compatible |
| - pwms |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| pwm-fan { |
| compatible = "pwm-fan"; |
| cooling-levels = <0 102 170 230>; |
| pwms = <&pwm 0 10000 0>; |
| #cooling-cells = <2>; |
| }; |
| |
| 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>; |
| }; |
| }; |
| }; |
| }; |
| |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| 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>; |
| }; |