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

From: Rob Herring
Date: Wed Oct 26 2022 - 09:38:04 EST


On Tue, Oct 25, 2022 at 4:16 AM Naresh Solanki
<naresh.solanki@xxxxxxxxxxxxx> wrote:
>
>
>
> On 24-10-2022 09:48 pm, Rob Herring wrote:
> > So if we unload and reload the driver module, it should go back to the
> > default?
> This is RPM to be set during probe if desired.
> >
> > I think it is really, 'target RPM if not already configured' which could
> > be keep the setting from a register (e.g. what the bootloader set) or
> > perhaps you already have temperature information to use...
> Yes. missed it. It should be target-rpm will correct this. in next version.
> >
> >> + $ref: /schemas/types.yaml#/definitions/uint32
> >> + pwm-frequency:
> >> + description:
> >> + PWM frequency for fan in Hertz(Hz).
> >> + $ref: /schemas/types.yaml#/definitions/uint32
> >> +
> >> + pwm-polarity-inverse:
> >> + description:
> >> + Inverse PWM polarity for fan.
> >> + type: boolean
> > As I said before, the PWM binding handles these 2 settings. Use it. Yes,
> > it's a bit of an overkill when the child is the consumer of the parent.
> > Until some 'clever' h/w engineer decides to use one of the PWMs for
> > something else like a backlight.
> I would like you to consider this as something recommended by fan
> datasheet for the given fan instance.
> This info can be used by fan controller driver to configure PWM
> source/provider accordingly.
>
> If you still feel that may not make sense then I'll remove this property.

You evidently don't understand my comments. My suggestion is to do this:

fanc: fan-controller {
#pwm-cells = <3>;
...

fan {
pwms = <&fanc 0 500000 PWM_POLARITY_INVERTED>;
...
};
};

0 is PWM number and 500000 is the PWM frequency. The 3rd cell are per
consumer flags. See pwm.txt for more details.

Rob