# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/samsung,s5pv210-audss-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S5Pv210 SoC Audio SubSystem clock controller

maintainers:
  - Chanwoo Choi <cw00.choi@samsung.com>
  - Krzysztof Kozlowski <krzk@kernel.org>
  - Sylwester Nawrocki <s.nawrocki@samsung.com>
  - Tomasz Figa <tomasz.figa@gmail.com>

description: |
  All available clocks are defined as preprocessor macros in
  include/dt-bindings/clock/s5pv210-audss.h header.

properties:
  compatible:
    const: samsung,s5pv210-audss-clock

  clocks:
    minItems: 4
    items:
      - description:
          AHB bus clock of the Audio Subsystem.
      - description:
          Optional fixed rate PLL reference clock, parent of mout_audss. If not
          specified (i.e. xusbxti is used for PLL reference), it is fixed to a
          clock named "xxti".
      - description:
          Input PLL to the AudioSS block, parent of mout_audss.
      - description:
          Audio bus clock, parent of mout_i2s.
      - description:
          Optional external i2s clock, parent of mout_i2s. If not specified, it
          is fixed to a clock named "iiscdclk0".

  clock-names:
    minItems: 4
    items:
      - const: hclk
      - const: xxti
      - const: fout_epll
      - const: sclk_audio0
      - const: iiscdclk0

  "#clock-cells":
    const: 1

  power-domains:
    maxItems: 1

  reg:
    maxItems: 1

required:
  - compatible
  - clocks
  - clock-names
  - "#clock-cells"
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/s5pv210.h>

    clock-controller@c0900000 {
        compatible = "samsung,s5pv210-audss-clock";
        reg = <0xc0900000 0x1000>;
        #clock-cells = <1>;
        clock-names = "hclk", "xxti", "fout_epll", "sclk_audio0";
        clocks = <&clocks DOUT_HCLKP>, <&xxti>, <&clocks FOUT_EPLL>,
                 <&clocks SCLK_AUDIO0>;
    };