xref: /freebsd/sys/contrib/device-tree/Bindings/clock/sprd,sc9863a-clk.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot# Copyright 2019 Unisoc Inc.
3c66ec88fSEmmanuel Vadot%YAML 1.2
4c66ec88fSEmmanuel Vadot---
5fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/sprd,sc9863a-clk.yaml#
6fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7c66ec88fSEmmanuel Vadot
87ef62cebSEmmanuel Vadottitle: SC9863A Clock Control Unit
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadotmaintainers:
11c66ec88fSEmmanuel Vadot  - Orson Zhai <orsonzhai@gmail.com>
12c66ec88fSEmmanuel Vadot  - Baolin Wang <baolin.wang7@gmail.com>
13c66ec88fSEmmanuel Vadot  - Chunyan Zhang <zhang.lyra@gmail.com>
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotproperties:
16c66ec88fSEmmanuel Vadot  "#clock-cells":
17c66ec88fSEmmanuel Vadot    const: 1
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot  compatible:
20c66ec88fSEmmanuel Vadot    enum:
21c66ec88fSEmmanuel Vadot      - sprd,sc9863a-ap-clk
22c66ec88fSEmmanuel Vadot      - sprd,sc9863a-aon-clk
23c66ec88fSEmmanuel Vadot      - sprd,sc9863a-apahb-gate
24c66ec88fSEmmanuel Vadot      - sprd,sc9863a-pmu-gate
25c66ec88fSEmmanuel Vadot      - sprd,sc9863a-aonapb-gate
26c66ec88fSEmmanuel Vadot      - sprd,sc9863a-pll
27c66ec88fSEmmanuel Vadot      - sprd,sc9863a-mpll
28c66ec88fSEmmanuel Vadot      - sprd,sc9863a-rpll
29c66ec88fSEmmanuel Vadot      - sprd,sc9863a-dpll
30c66ec88fSEmmanuel Vadot      - sprd,sc9863a-mm-gate
31c66ec88fSEmmanuel Vadot      - sprd,sc9863a-mm-clk
32c66ec88fSEmmanuel Vadot      - sprd,sc9863a-apapb-gate
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot  clocks:
35c66ec88fSEmmanuel Vadot    minItems: 1
36c66ec88fSEmmanuel Vadot    maxItems: 4
37c66ec88fSEmmanuel Vadot    description: |
38c66ec88fSEmmanuel Vadot      The input parent clock(s) phandle for this clock, only list fixed
39c66ec88fSEmmanuel Vadot      clocks which are declared in devicetree.
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-names:
42c66ec88fSEmmanuel Vadot    minItems: 1
43c66ec88fSEmmanuel Vadot    items:
44c66ec88fSEmmanuel Vadot      - const: ext-26m
45c66ec88fSEmmanuel Vadot      - const: ext-32k
46c66ec88fSEmmanuel Vadot      - const: ext-4m
47c66ec88fSEmmanuel Vadot      - const: rco-100m
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot  reg:
50c66ec88fSEmmanuel Vadot    maxItems: 1
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadotrequired:
53c66ec88fSEmmanuel Vadot  - compatible
54c66ec88fSEmmanuel Vadot  - '#clock-cells'
55c66ec88fSEmmanuel Vadot
56c66ec88fSEmmanuel Vadotif:
57c66ec88fSEmmanuel Vadot  properties:
58c66ec88fSEmmanuel Vadot    compatible:
59c66ec88fSEmmanuel Vadot      enum:
60c66ec88fSEmmanuel Vadot        - sprd,sc9863a-ap-clk
61c66ec88fSEmmanuel Vadot        - sprd,sc9863a-aon-clk
62c66ec88fSEmmanuel Vadotthen:
63c66ec88fSEmmanuel Vadot  required:
64c66ec88fSEmmanuel Vadot    - reg
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadotelse:
67c66ec88fSEmmanuel Vadot  description: |
68c66ec88fSEmmanuel Vadot    Other SC9863a clock nodes should be the child of a syscon node in
69*aa1a8ff2SEmmanuel Vadot    which compatible string should be:
70c66ec88fSEmmanuel Vadot            "sprd,sc9863a-glbregs", "syscon", "simple-mfd"
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot    The 'reg' property for the clock node is also required if there is a sub
73c66ec88fSEmmanuel Vadot    range of registers for the clocks.
74c66ec88fSEmmanuel Vadot
756be33864SEmmanuel VadotadditionalProperties: false
766be33864SEmmanuel Vadot
77c66ec88fSEmmanuel Vadotexamples:
78c66ec88fSEmmanuel Vadot  - |
79c66ec88fSEmmanuel Vadot    ap_clk: clock-controller@21500000 {
80c66ec88fSEmmanuel Vadot      compatible = "sprd,sc9863a-ap-clk";
81c66ec88fSEmmanuel Vadot      reg = <0x21500000 0x1000>;
82c66ec88fSEmmanuel Vadot      clocks = <&ext_26m>, <&ext_32k>;
83c66ec88fSEmmanuel Vadot      clock-names = "ext-26m", "ext-32k";
84c66ec88fSEmmanuel Vadot      #clock-cells = <1>;
85c66ec88fSEmmanuel Vadot    };
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot  - |
88c66ec88fSEmmanuel Vadot    syscon@20e00000 {
89c66ec88fSEmmanuel Vadot      compatible = "sprd,sc9863a-glbregs", "syscon", "simple-mfd";
90c66ec88fSEmmanuel Vadot      reg = <0x20e00000 0x4000>;
91c66ec88fSEmmanuel Vadot      #address-cells = <1>;
92c66ec88fSEmmanuel Vadot      #size-cells = <1>;
93c66ec88fSEmmanuel Vadot      ranges = <0 0x20e00000 0x4000>;
94c66ec88fSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot      apahb_gate: apahb-gate@0 {
96c66ec88fSEmmanuel Vadot        compatible = "sprd,sc9863a-apahb-gate";
97c66ec88fSEmmanuel Vadot        reg = <0x0 0x1020>;
98c66ec88fSEmmanuel Vadot        #clock-cells = <1>;
99c66ec88fSEmmanuel Vadot      };
100c66ec88fSEmmanuel Vadot    };
101c66ec88fSEmmanuel Vadot
102c66ec88fSEmmanuel Vadot...
103