Message ID | 20221121122932.2493174-2-Naresh.Solanki@9elements.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Add devicetree support for max6639 | expand |
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
On 21/11/2022 13: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 I responded to v6, so let me paste here as well: 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. Maybe: type: object > + Best regards, Krzysztof
On 21/11/2022 13:29, Naresh Solanki wrote: > + 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. Ah, so it is not a PWM provider by this FAN controller? A bit confusing description. Instead maybe: PWM signal for the fan and do you expect more than one PWM for one fan? Best regards, Krzysztof
Hi Krzysztof, On 29-11-2022 01:42 pm, Krzysztof Kozlowski wrote: > On 21/11/2022 13:29, Naresh Solanki wrote: > >> + 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. > > Ah, so it is not a PWM provider by this FAN controller? A bit confusing > description. Instead maybe: > PWM signal for the fan Sure. > > and do you expect more than one PWM for one fan? One pwm per fan > > Best regards, > Krzysztof > Regards, Naresh
On 29/11/2022 16:46, Naresh Solanki wrote: > Hi Krzysztof, > > On 29-11-2022 01:42 pm, Krzysztof Kozlowski wrote: >> On 21/11/2022 13:29, Naresh Solanki wrote: >> >>> + 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. >> >> Ah, so it is not a PWM provider by this FAN controller? A bit confusing >> description. Instead maybe: >> PWM signal for the fan > Sure. >> >> and do you expect more than one PWM for one fan? > One pwm per fan then: maxItems: 1 Best regards, Krzysztof
On 29-11-2022 09:27 pm, Krzysztof Kozlowski wrote: > On 29/11/2022 16:46, Naresh Solanki wrote: >> Hi Krzysztof, >> >> On 29-11-2022 01:42 pm, Krzysztof Kozlowski wrote: >>> On 21/11/2022 13:29, Naresh Solanki wrote: >>> >>>> + 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. >>> >>> Ah, so it is not a PWM provider by this FAN controller? A bit confusing >>> description. Instead maybe: >>> PWM signal for the fan >> Sure. >>> >>> and do you expect more than one PWM for one fan? >> One pwm per fan > > then: > maxItems: 1 > Sure > Best regards, > Krzysztof > Regards, Naresh
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 + +...
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