[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <25b37a72-4415-2ed5-0415-040af174a70a@roeck-us.net>
Date: Tue, 22 Nov 2022 11:25:29 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Naresh Solanki <naresh.solanki@...ements.com>,
devicetree@...r.kernel.org, Jean Delvare <jdelvare@...e.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>
Cc: linux-kernel@...r.kernel.org, linux-hwmon@...r.kernel.org,
Patrick Rudolph <patrick.rudolph@...ements.com>
Subject: Re: [PATCH v7 1/4] dt-bindings: hwmon: fan: Add fan binding to schema
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@...ements.com>
> ---
> .../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@...ements.com>
> +
> +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
Powered by blists - more mailing lists