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

title: UniPhier clock controller

maintainers:
  - Masahiro Yamada <yamada.masahiro@socionext.com>

properties:
  compatible:
    oneOf:
      - description: System clock
        enum:
          - socionext,uniphier-ld4-clock
          - socionext,uniphier-pro4-clock
          - socionext,uniphier-sld8-clock
          - socionext,uniphier-pro5-clock
          - socionext,uniphier-pxs2-clock
          - socionext,uniphier-ld6b-clock
          - socionext,uniphier-ld11-clock
          - socionext,uniphier-ld20-clock
          - socionext,uniphier-pxs3-clock
      - description: Media I/O (MIO) clock, SD clock
        enum:
          - socionext,uniphier-ld4-mio-clock
          - socionext,uniphier-pro4-mio-clock
          - socionext,uniphier-sld8-mio-clock
          - socionext,uniphier-pro5-sd-clock
          - socionext,uniphier-pxs2-sd-clock
          - socionext,uniphier-ld11-mio-clock
          - socionext,uniphier-ld20-sd-clock
          - socionext,uniphier-pxs3-sd-clock
      - description: Peripheral clock
        enum:
          - socionext,uniphier-ld4-peri-clock
          - socionext,uniphier-pro4-peri-clock
          - socionext,uniphier-sld8-peri-clock
          - socionext,uniphier-pro5-peri-clock
          - socionext,uniphier-pxs2-peri-clock
          - socionext,uniphier-ld11-peri-clock
          - socionext,uniphier-ld20-peri-clock
          - socionext,uniphier-pxs3-peri-clock

  "#clock-cells":
    const: 1

additionalProperties: false

required:
  - compatible
  - "#clock-cells"

examples:
  - |
    sysctrl@61840000 {
        compatible = "socionext,uniphier-sysctrl", "simple-mfd", "syscon";
        reg = <0x61840000 0x4000>;

        clock {
            compatible = "socionext,uniphier-ld11-clock";
            #clock-cells = <1>;
        };

        // other nodes ...
    };

  - |
    mioctrl@59810000 {
        compatible = "socionext,uniphier-mioctrl", "simple-mfd", "syscon";
        reg = <0x59810000 0x800>;

        clock {
            compatible = "socionext,uniphier-ld11-mio-clock";
            #clock-cells = <1>;
        };

        // other nodes ...
    };

  - |
    perictrl@59820000 {
        compatible = "socionext,uniphier-perictrl", "simple-mfd", "syscon";
        reg = <0x59820000 0x200>;

        clock {
            compatible = "socionext,uniphier-ld11-peri-clock";
            #clock-cells = <1>;
        };

        // other nodes ...
    };
