mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 22:08:33 -04:00
dt-bindings: hwmon: pwm-fan: Convert to DT schema
Convert the PWM fan bindings to DT schema format. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230406182000.956275-2-cristian.ciocaltea@collabora.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
committed by
Guenter Roeck
parent
7a0c7b9ff2
commit
9e51acc4db
@@ -1,67 +1 @@
|
||||
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>;
|
||||
};
|
||||
This file has moved to pwm-fan.yaml.
|
||||
|
||||
97
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml
Normal file
97
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml
Normal file
@@ -0,0 +1,97 @@
|
||||
# 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>;
|
||||
};
|
||||
Reference in New Issue
Block a user