On 21/01/2022 22:34, Sean Anderson wrote: > > > On 1/21/22 2:34 AM, Krzysztof Kozlowski wrote: >> On Thu, 20 Jan 2022 at 17:15, Nikita Travkin <nikita@xxxxxxx> wrote: >>> >>> Add YAML devicetree binding for clk based PWM controller >>> >>> Signed-off-by: Nikita Travkin <nikita@xxxxxxx> >>> -- >>> Changes in v2: >>> - fix the file name. >>> --- >>> .../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..4fb2c1baaad4 >>> --- /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: >>> + - clocks >>> + >>> +examples: >>> + - | >>> + pwm-flash { >> >> Node names should be generic (see devicetree specification), so just "pwm". > > And then what will you do if you have two clock-based pwms? The same as we do with fixed clocks, keys and so on: pwm-0 pwm-1 pwm-2 A descriptive suffix also appears, but there is no justification to use it here. There is only one node in the example. Best regards, Krzysztof