Hello, On Thu, Jun 18, 2020 at 08:05:12PM +0800, Rahul Tanwar wrote: > Intel's LGM(Lightning Mountain) SoC contains a PWM fan controller > which is only used to control the fan attached to the system. This > PWM controller does not have any other consumer other than fan. > Add DT bindings documentation for this PWM fan controller. > > Signed-off-by: Rahul Tanwar > --- > .../devicetree/bindings/pwm/intel,lgm-pwm.yaml | 57 ++++++++++++++++++++++ > 1 file changed, 57 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pwm/intel,lgm-pwm.yaml > > diff --git a/Documentation/devicetree/bindings/pwm/intel,lgm-pwm.yaml b/Documentation/devicetree/bindings/pwm/intel,lgm-pwm.yaml > new file mode 100644 > index 000000000000..e71cc25e4e6a > --- /dev/null > +++ b/Documentation/devicetree/bindings/pwm/intel,lgm-pwm.yaml > @@ -0,0 +1,57 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pwm/intel,lgm-pwm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: LGM SoC PWM fan controller > + > +maintainers: > + - Rahul Tanwar > + > +properties: > + compatible: > + const: intel,lgm-pwm > + > + reg: > + maxItems: 1 > + > + "#pwm-cells": > + const: 2 > + > + clocks: > + maxItems: 1 > + > + resets: > + maxItems: 1 > + > + intel,fan-wire: > + $ref: '/schemas/types.yaml#/definitions/uint32' > + description: Specifies fan mode The default when unspecified is 2. > + > + intel,tach-plus: > + $ref: '/schemas/types.yaml#/definitions/uint32' > + description: Specifies fan tach pulse periods Only used with fan-wire = 4, default = 2. > + > + intel,max-rpm: > + $ref: '/schemas/types.yaml#/definitions/uint32' > + description: Specifies maximum RPM of fan attached to the system Ditto. Consistent with my concern that the fan code should not be part of the PWM driver I wonder if this representation that mixes fan and PWM is nice enough to be set in stone. If we decide to keep it as is I wonder if we should drop #pwm-cells as the hardware doesn't allow other uses for this PWM (IIUC) and so referencing this node doesn't make sense. > +required: > + - compatible > + - reg > + - "#pwm-cells" > + - clocks > + - resets > + > +additionalProperties: false > + > +examples: > + - | > + pwm: pwm@e0d00000 { > + compatible = "intel,lgm-pwm"; > + reg = <0xe0d00000 0x30>; > + #pwm-cells = <2>; > + clocks = <&cgu0 126>; > + resets = <&rcu0 0x30 21>; > + }; Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |