Message ID | 20220623165217.59252-3-michaelsh@nvidia.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On Thu, Jun 23, 2022 at 07:52:16PM +0300, michaelsh@nvidia.com wrote: > From: Michael Shych <michaelsh@nvidia.com> > > Add basic description of emc2305 driver device tree binding. > > Signed-off-by: Michael Shych <michaelsh@nvidia.com> > Reviewed-by: Vadim Pasternak <vadimp@nvidia.com> > --- > v2->v3 > Changes pointed out by Rob Herring and Guenter Roeck: > - Describe separate channels of fan-controller; > - Remove pwm_max property; > - Fix compatible property. > Changes added by Michael Shych: > - Fix dt binding check warnings. > v1->v2 > - Fix dt binding check errors; > - Add descriptions; > - Add missing fields; > - Change the patch subject name; > - Separate pwm-min, pwm-max per PWM channel. > --- > .../bindings/hwmon/microchip,emc2305.yaml | 106 +++++++++++++++++++++ > 1 file changed, 106 insertions(+) > create mode 100644 Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml > > diff --git a/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml b/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml > new file mode 100644 > index 000000000000..d054ba46ae23 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml > @@ -0,0 +1,106 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > + > +$id: http://devicetree.org/schemas/hwmon/microchip,emc2305.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Microchip EMC2305 RPM-based PWM Fan Speed Controller RPM-based? So there is a tach signal too? Don't those need the number of pulses per revolution that the fan provides. To repeat what I say for every fan controller binding now, until there's a common binding to describe fan controllers, fans and their relationship to each other, I'm not signing off on any fan binding doing its own thing. Rob
diff --git a/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml b/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml new file mode 100644 index 000000000000..d054ba46ae23 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- + +$id: http://devicetree.org/schemas/hwmon/microchip,emc2305.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Microchip EMC2305 RPM-based PWM Fan Speed Controller + +maintainers: + - Michael Shych <michaelsh@nvidia.com> + +description: | + Microchip EMC2301/2/3/5 are RPM-based PWM Fan Controller. + The Fan Controller supports up to 5 independently controlled PWM fan drives. + Fan rotation speeds are reported in RPM. + + Datasheet: https://www.microchip.com/en-us/product/EMC2305 + +additionalProperties: false + +properties: + compatible: + enum: + - microchip,emc2305 + - microchip,emc2303 + - microchip,emc2302 + - microchip,emc2301 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + microchip,cooling-levels: + description: + Quantity of cooling level state. + $ref: /schemas/types.yaml#/definitions/uint8 + minimum: 0 + maximum: 255 + + microchip,pwm-separate: + description: + This flag indicates that separate PWM setting will be used + for different channels. + $ref: /schemas/types.yaml#/definitions/flag + +patternProperties: + "^channel@[0-4]$": + type: object + + additionalProperties: false + + properties: + reg: + items: + - enum: + - 0 + - 1 + - 2 + - 3 + - 4 + + pwm-min: + description: + Min pwm of emc2305 channel + $ref: /schemas/types.yaml#/definitions/uint8 + minimum: 0 + maximum: 255 + + required: + - reg + +required: + - compatible + + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + fan-controller@4d { + compatible = "microchip,emc2305"; + reg = <0x4d>; + #address-cells = <1>; + #size-cells = <0>; + microchip,pwm-separate; + microchip,cooling-levels = /bits/ 8 <10>; + + channel@0 { + reg = <0>; + pwm-min = /bits/ 8 <0>; + }; + channel@1 { + reg = <1>; + pwm-min = /bits/ 8 <0>; + }; + }; + }; +