linux-hwmon.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/1] Add PWM fan support to Rock 5B board
@ 2023-04-06 18:19 Cristian Ciocaltea
  2023-04-06 18:20 ` [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema Cristian Ciocaltea
  0 siblings, 1 reply; 4+ messages in thread
From: Cristian Ciocaltea @ 2023-04-06 18:19 UTC (permalink / raw)
  To: Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
	Heiko Stuebner
  Cc: linux-hwmon, devicetree, linux-kernel, linux-arm-kernel,
	linux-rockchip, kernel

This patch series enables support for the PWM controlled heat sink fan 
on the Rock 5B SBC and, additionally, converts the hwmon PWM fan bindings 
to DT schema format.

Changes in v3:
 - Rebased on top of next-20230406 and dropped PATCH v2 2/2 already
   merged by Heiko
 - Updated PATCH v2 1/2 per Rob's review
 - v2: https://lore.kernel.org/lkml/20230404173807.490520-1-cristian.ciocaltea@collabora.com/

Changes in v2:
 - Updated PATCH 1/2 according to Rob's review
 - Added Reviewed-by from Christopher to PATCH 2/2
 - v1: https://lore.kernel.org/lkml/20230403105052.426135-1-cristian.ciocaltea@collabora.com/

Cristian Ciocaltea (1):
  dt-bindings: hwmon: pwm-fan: Convert to DT schema

 .../devicetree/bindings/hwmon/pwm-fan.txt     | 68 +------------
 .../devicetree/bindings/hwmon/pwm-fan.yaml    | 97 +++++++++++++++++++
 2 files changed, 98 insertions(+), 67 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/hwmon/pwm-fan.yaml

-- 
2.40.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema
  2023-04-06 18:19 [PATCH v3 0/1] Add PWM fan support to Rock 5B board Cristian Ciocaltea
@ 2023-04-06 18:20 ` Cristian Ciocaltea
  2023-04-12 14:33   ` Rob Herring
  2023-04-12 15:17   ` Guenter Roeck
  0 siblings, 2 replies; 4+ messages in thread
From: Cristian Ciocaltea @ 2023-04-06 18:20 UTC (permalink / raw)
  To: Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
	Heiko Stuebner
  Cc: linux-hwmon, devicetree, linux-kernel, linux-arm-kernel,
	linux-rockchip, kernel

Convert the PWM fan bindings to DT schema format.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
 .../devicetree/bindings/hwmon/pwm-fan.txt     | 68 +------------
 .../devicetree/bindings/hwmon/pwm-fan.yaml    | 97 +++++++++++++++++++
 2 files changed, 98 insertions(+), 67 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/hwmon/pwm-fan.yaml

diff --git a/Documentation/devicetree/bindings/hwmon/pwm-fan.txt b/Documentation/devicetree/bindings/hwmon/pwm-fan.txt
index 4509e688623a..48886f0ce415 100644
--- a/Documentation/devicetree/bindings/hwmon/pwm-fan.txt
+++ b/Documentation/devicetree/bindings/hwmon/pwm-fan.txt
@@ -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 = <&reg_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.
diff --git a/Documentation/devicetree/bindings/hwmon/pwm-fan.yaml b/Documentation/devicetree/bindings/hwmon/pwm-fan.yaml
new file mode 100644
index 000000000000..4e5abf7580cc
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/pwm-fan.yaml
@@ -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 = <&reg_fan>;
+      interrupt-parent = <&gpio5>;
+      interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+      pulses-per-revolution = <2>;
+    };
-- 
2.40.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema
  2023-04-06 18:20 ` [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema Cristian Ciocaltea
@ 2023-04-12 14:33   ` Rob Herring
  2023-04-12 15:17   ` Guenter Roeck
  1 sibling, 0 replies; 4+ messages in thread
From: Rob Herring @ 2023-04-12 14:33 UTC (permalink / raw)
  To: Cristian Ciocaltea
  Cc: Krzysztof Kozlowski, kernel, Rob Herring, linux-hwmon,
	linux-kernel, devicetree, Heiko Stuebner, linux-arm-kernel,
	Jean Delvare, Guenter Roeck, linux-rockchip


On Thu, 06 Apr 2023 21:20:00 +0300, Cristian Ciocaltea wrote:
> Convert the PWM fan bindings to DT schema format.
> 
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
>  .../devicetree/bindings/hwmon/pwm-fan.txt     | 68 +------------
>  .../devicetree/bindings/hwmon/pwm-fan.yaml    | 97 +++++++++++++++++++
>  2 files changed, 98 insertions(+), 67 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/hwmon/pwm-fan.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema
  2023-04-06 18:20 ` [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema Cristian Ciocaltea
  2023-04-12 14:33   ` Rob Herring
@ 2023-04-12 15:17   ` Guenter Roeck
  1 sibling, 0 replies; 4+ messages in thread
From: Guenter Roeck @ 2023-04-12 15:17 UTC (permalink / raw)
  To: Cristian Ciocaltea
  Cc: Jean Delvare, Rob Herring, Krzysztof Kozlowski, Heiko Stuebner,
	linux-hwmon, devicetree, linux-kernel, linux-arm-kernel,
	linux-rockchip, kernel

On Thu, Apr 06, 2023 at 09:20:00PM +0300, Cristian Ciocaltea wrote:
> 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>

Applied to hwmon-next.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-12 15:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-06 18:19 [PATCH v3 0/1] Add PWM fan support to Rock 5B board Cristian Ciocaltea
2023-04-06 18:20 ` [PATCH v3 1/1] dt-bindings: hwmon: pwm-fan: Convert to DT schema Cristian Ciocaltea
2023-04-12 14:33   ` Rob Herring
2023-04-12 15:17   ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).