Re: [PATCH v7 1/4] dt-bindings: hwmon: fan: Add fan binding to schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/21/22 04:29, Naresh Solanki wrote:
Add common fan properties bindings to a schema.

Bindings for fan controllers can reference the common schema for the
fan

child nodes:

   patternProperties:
     "^fan@[0-2]":
       type: object
       $ref: fan-common.yaml#

Signed-off-by: Naresh Solanki <Naresh.Solanki@xxxxxxxxxxxxx>
---
  .../devicetree/bindings/hwmon/fan-common.yaml | 47 +++++++++++++++++++
  1 file changed, 47 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/hwmon/fan-common.yaml

diff --git a/Documentation/devicetree/bindings/hwmon/fan-common.yaml b/Documentation/devicetree/bindings/hwmon/fan-common.yaml
new file mode 100644
index 000000000000..0535d37624cc
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/fan-common.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/fan-common.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Common fan properties
+
+maintainers:
+  - Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>
+
+properties:
+  max-rpm:
+    description:
+      Max RPM supported by fan.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  min-rpm:
+    description:
+      Min RPM supported by fan.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  pulses-per-revolution:
+    description:
+      The number of pulse from fan sensor per revolution.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  target-rpm:
+    description:
+      Target RPM the fan should be configured during driver probe.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  pwms:
+    description:
+      PWM provider.
+
+  label:
+    description:
+      Optional fan label
+
+  fan-supply:
+    description:
+      Power supply for fan.
+
+additionalProperties: true
+
+...

Still, from my second reply to v6:

> Another property which is definitely missing and needed
> will be DC vs. PWM control. That is currently pwm[1-*]_mode
> in sysfs attributes, but it is really a fan attribute.
>
> Many fans are DC controlled, so this property is absolutely
> necessary.

Plus, with DC control there is no pwm. It would be absolutely wrong
to declare that a fan controller MUST be pwm based.

Ultimately, there are three types of fan controllers:

- PWM control, such as MAX6639
- DC control, such as MAX6620 or MAX6650/6651
- Configurable, such as MAX1669 or pretty much all fan controllers
  included in SuperIO chips

Generic fan control bindings simply _have_ to take this into account.

Guenter




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux