# 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@trvn.ru>

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:
  - compatible
  - clocks

examples:
  - |
    pwm {
      compatible = "clk-pwm";
      #pwm-cells = <2>;
      clocks = <&gcc 0>;
      pinctrl-names = "default";
      pinctrl-0 = <&pwm_clk_flash_default>;
    };