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