On 26/01/2022 13:58, Nikita Travkin wrote: > Add YAML devicetree binding for clk based PWM controller > > Signed-off-by: Nikita Travkin <nikita@xxxxxxx> > -- > Changes in v2: > - fix the file name. > Changes in v4: > - Use generic node name in the dt bindings example. > --- > .../devicetree/bindings/pwm/clk-pwm.yaml | 45 +++++++++++++++++++ > 1 file changed, 45 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pwm/clk-pwm.yaml > > diff --git a/Documentation/devicetree/bindings/pwm/clk-pwm.yaml b/Documentation/devicetree/bindings/pwm/clk-pwm.yaml > new file mode 100644 > index 000000000000..d3416ba549b5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pwm/clk-pwm.yaml > @@ -0,0 +1,45 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pwm/clk-pwm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Clock based PWM controller > + > +maintainers: > + - Nikita Travkin <nikita@xxxxxxx> > + > +description: | > + Some systems have clocks that can be exposed to external devices. > + (e.g. by muxing them to GPIO pins) > + It's often possible to control duty-cycle of such clocks which makes them > + suitable for generating PWM signal. > + > +allOf: > + - $ref: pwm.yaml# > + > +properties: > + compatible: > + const: clk-pwm > + > + clocks: > + description: Clock used to generate the signal. > + maxItems: 1 > + > + "#pwm-cells": > + const: 2 > + > +unevaluatedProperties: false > + > +required: You need a compatible. pwm-cells can be skipped as pwm.yaml will require them. > + - clocks > + > +examples: > + - | > + pwm { > + compatible = "clk-pwm"; > + #pwm-cells = <2>; > + clocks = <&gcc 0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pwm_clk_flash_default>; > + }; Best regards, Krzysztof