Messages in this thread | | | Date | Tue, 22 Nov 2022 11:25:29 -0800 | From | Guenter Roeck <> | 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@9elements.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@9elements.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
| |