On 11/10/2022 06:47, 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 > allOf: > - $ref: fan-common.yaml# > > Signed-off-by: Naresh Solanki <Naresh.Solanki@xxxxxxxxxxxxx> > --- > .../devicetree/bindings/hwmon/fan-common.yaml | 80 +++++++++++++++++++ > 1 file changed, 80 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..abc8375da646 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/fan-common.yaml > @@ -0,0 +1,80 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/hwmon/fan-common.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Common fan properties Is a fan a hardware monitoring device? Maybe this should not be called a fan? > + > +maintainers: > + - Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx> > + > +properties: > + max-rpm: > + description: > + Max RPM supported by fan > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + pulse-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. I think target depends on conditions, e.g. it is rarely one target. > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + pwm-frequency: > + description: > + PWM frequency for fan. > + $ref: /schemas/types.yaml#/definitions/uint32 Use common units, so -hz However I wonder if frequency is appropriate here - I thought PWMs are rather configured via duty cycles. > + > + pwm-polarity-inverse: > + description: > + PWM polarity for fan. Rather: Inversed PWM polarity for the fan. > + type: boolean > + > + label: > + description: > + Optional fan label > + $ref: /schemas/types.yaml#/definitions/string Ref is not needed, core brings it. > + > +additionalProperties: true > + > +examples: > + - | > + > + Drop unneeded empty lines. > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + fan-controller@30 { > + compatible = "maxim,max6639"; > + reg = <0x30>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + fan@0 { > + reg = <0>; > + label = "CPU0_Fan"; > + max-rpm = <32000>; > + pulse-per-revolution = <2>; > + target-rpm = <2000>; > + pwm-frequency = <25000>; > + }; > + > + fan@1 { > + reg = <1>; > + label = "PCIe0_Fan"; > + max-rpm = <32000>; > + pulse-per-revolution = <2>; > + target-rpm = <2000>; > + pwm-frequency = <25000>; > + }; > + Drop unneeded empty lines. > + }; > + }; > + > +... > > base-commit: 0cf46a653bdae56683fece68dc50340f7520e6c4 Best regards, Krzysztof