xref: /linux/Documentation/devicetree/bindings/clock/loongson,ls2k-clk.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/loongson,ls2k-clk.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Loongson-2 SoC Clock Control Module
8
9maintainers:
10  - Yinbo Zhu <zhuyinbo@loongson.cn>
11
12description: |
13  Loongson-2 SoC clock control module is an integrated clock controller, which
14  generates and supplies to all modules.
15
16properties:
17  compatible:
18    enum:
19      - loongson,ls2k0300-clk
20      - loongson,ls2k0500-clk
21      - loongson,ls2k-clk  # This is for Loongson-2K1000
22      - loongson,ls2k2000-clk
23
24  reg:
25    maxItems: 1
26
27  clocks:
28    maxItems: 1
29
30  clock-names:
31    items:
32      - const: ref_100m
33
34  '#clock-cells':
35    const: 1
36    description:
37      The clock consumer should specify the desired clock by having the clock
38      ID in its "clocks" phandle cell. See include/dt-bindings/clock/loongson,ls2k-clk.h
39      for the full list of Loongson-2 SoC clock IDs.
40
41allOf:
42  - if:
43      properties:
44        compatible:
45          contains:
46            const: loongson,ls2k0300-clk
47    then:
48      properties:
49        clock-names: false
50    else:
51      required:
52        - clock-names
53
54required:
55  - compatible
56  - reg
57  - clocks
58  - '#clock-cells'
59
60additionalProperties: false
61
62examples:
63  - |
64    ref_100m: clock-ref-100m {
65        compatible = "fixed-clock";
66        #clock-cells = <0>;
67        clock-frequency = <100000000>;
68        clock-output-names = "ref_100m";
69    };
70
71    clk: clock-controller@1fe00480 {
72        compatible = "loongson,ls2k-clk";
73        reg = <0x1fe00480 0x58>;
74        #clock-cells = <1>;
75        clocks = <&ref_100m>;
76        clock-names = "ref_100m";
77    };
78