# 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 = <&reg_fan>;
      interrupt-parent = <&gpio5>;
      interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
      pulses-per-revolution = <2>;
    };
