xref: /freebsd/sys/contrib/device-tree/Bindings/clock/sprd,sc9860-clk.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/sprd,sc9860-clk.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Spreadtrum SC9860 clock
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Orson Zhai <orsonzhai@gmail.com>
11*0e8011faSEmmanuel Vadot  - Baolin Wang <baolin.wang7@gmail.com>
12*0e8011faSEmmanuel Vadot  - Chunyan Zhang <zhang.lyra@gmail.com>
13*0e8011faSEmmanuel Vadot
14*0e8011faSEmmanuel Vadotproperties:
15*0e8011faSEmmanuel Vadot  compatible:
16*0e8011faSEmmanuel Vadot    enum:
17*0e8011faSEmmanuel Vadot      - sprd,sc9860-agcp-gate
18*0e8011faSEmmanuel Vadot      - sprd,sc9860-aonsecure-clk
19*0e8011faSEmmanuel Vadot      - sprd,sc9860-aon-gate
20*0e8011faSEmmanuel Vadot      - sprd,sc9860-aon-prediv
21*0e8011faSEmmanuel Vadot      - sprd,sc9860-apahb-gate
22*0e8011faSEmmanuel Vadot      - sprd,sc9860-apapb-gate
23*0e8011faSEmmanuel Vadot      - sprd,sc9860-ap-clk
24*0e8011faSEmmanuel Vadot      - sprd,sc9860-cam-clk
25*0e8011faSEmmanuel Vadot      - sprd,sc9860-cam-gate
26*0e8011faSEmmanuel Vadot      - sprd,sc9860-disp-clk
27*0e8011faSEmmanuel Vadot      - sprd,sc9860-disp-gate
28*0e8011faSEmmanuel Vadot      - sprd,sc9860-gpu-clk
29*0e8011faSEmmanuel Vadot      - sprd,sc9860-pll
30*0e8011faSEmmanuel Vadot      - sprd,sc9860-pmu-gate
31*0e8011faSEmmanuel Vadot      - sprd,sc9860-vsp-clk
32*0e8011faSEmmanuel Vadot      - sprd,sc9860-vsp-gate
33*0e8011faSEmmanuel Vadot
34*0e8011faSEmmanuel Vadot  reg:
35*0e8011faSEmmanuel Vadot    maxItems: 1
36*0e8011faSEmmanuel Vadot
37*0e8011faSEmmanuel Vadot  clocks:
38*0e8011faSEmmanuel Vadot    minItems: 1
39*0e8011faSEmmanuel Vadot    maxItems: 3
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot  '#clock-cells':
42*0e8011faSEmmanuel Vadot    const: 1
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel Vadot  sprd,syscon:
45*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
46*0e8011faSEmmanuel Vadot    description:
47*0e8011faSEmmanuel Vadot      phandle to the syscon which is in the same address area with the
48*0e8011faSEmmanuel Vadot      clock, and so we can get regmap for the clocks from the syscon device
49*0e8011faSEmmanuel Vadot
50*0e8011faSEmmanuel Vadotrequired:
51*0e8011faSEmmanuel Vadot  - compatible
52*0e8011faSEmmanuel Vadot  - clocks
53*0e8011faSEmmanuel Vadot  - '#clock-cells'
54*0e8011faSEmmanuel Vadot
55*0e8011faSEmmanuel VadotallOf:
56*0e8011faSEmmanuel Vadot  - if:
57*0e8011faSEmmanuel Vadot      properties:
58*0e8011faSEmmanuel Vadot        compatible:
59*0e8011faSEmmanuel Vadot          contains:
60*0e8011faSEmmanuel Vadot            enum:
61*0e8011faSEmmanuel Vadot              - sprd,sc9860-agcp-gate
62*0e8011faSEmmanuel Vadot              - sprd,sc9860-aon-gate
63*0e8011faSEmmanuel Vadot              - sprd,sc9860-apahb-gate
64*0e8011faSEmmanuel Vadot              - sprd,sc9860-apapb-gate
65*0e8011faSEmmanuel Vadot              - sprd,sc9860-cam-gate
66*0e8011faSEmmanuel Vadot              - sprd,sc9860-disp-gate
67*0e8011faSEmmanuel Vadot              - sprd,sc9860-gpu-clk
68*0e8011faSEmmanuel Vadot              - sprd,sc9860-pll
69*0e8011faSEmmanuel Vadot              - sprd,sc9860-pmu-gate
70*0e8011faSEmmanuel Vadot              - sprd,sc9860-vsp-gate
71*0e8011faSEmmanuel Vadot    then:
72*0e8011faSEmmanuel Vadot      properties:
73*0e8011faSEmmanuel Vadot        clocks:
74*0e8011faSEmmanuel Vadot          maxItems: 1
75*0e8011faSEmmanuel Vadot  - if:
76*0e8011faSEmmanuel Vadot      properties:
77*0e8011faSEmmanuel Vadot        compatible:
78*0e8011faSEmmanuel Vadot          contains:
79*0e8011faSEmmanuel Vadot            enum:
80*0e8011faSEmmanuel Vadot              - sprd,sc9860-aonsecure-clk
81*0e8011faSEmmanuel Vadot              - sprd,sc9860-cam-clk
82*0e8011faSEmmanuel Vadot              - sprd,sc9860-disp-clk
83*0e8011faSEmmanuel Vadot              - sprd,sc9860-vsp-clk
84*0e8011faSEmmanuel Vadot    then:
85*0e8011faSEmmanuel Vadot      properties:
86*0e8011faSEmmanuel Vadot        clocks:
87*0e8011faSEmmanuel Vadot          minItems: 2
88*0e8011faSEmmanuel Vadot          maxItems: 2
89*0e8011faSEmmanuel Vadot  - if:
90*0e8011faSEmmanuel Vadot      properties:
91*0e8011faSEmmanuel Vadot        compatible:
92*0e8011faSEmmanuel Vadot          contains:
93*0e8011faSEmmanuel Vadot            enum:
94*0e8011faSEmmanuel Vadot              - sprd,sc9860-aon-prediv
95*0e8011faSEmmanuel Vadot              - sprd,sc9860-ap-clk
96*0e8011faSEmmanuel Vadot    then:
97*0e8011faSEmmanuel Vadot      properties:
98*0e8011faSEmmanuel Vadot        clocks:
99*0e8011faSEmmanuel Vadot          minItems: 3
100*0e8011faSEmmanuel Vadot  - if:
101*0e8011faSEmmanuel Vadot      properties:
102*0e8011faSEmmanuel Vadot        compatible:
103*0e8011faSEmmanuel Vadot          contains:
104*0e8011faSEmmanuel Vadot            enum:
105*0e8011faSEmmanuel Vadot              - sprd,sc9860-aonsecure-clk
106*0e8011faSEmmanuel Vadot              - sprd,sc9860-aon-prediv
107*0e8011faSEmmanuel Vadot              - sprd,sc9860-ap-clk
108*0e8011faSEmmanuel Vadot              - sprd,sc9860-cam-clk
109*0e8011faSEmmanuel Vadot              - sprd,sc9860-disp-clk
110*0e8011faSEmmanuel Vadot              - sprd,sc9860-gpu-clk
111*0e8011faSEmmanuel Vadot              - sprd,sc9860-vsp-clk
112*0e8011faSEmmanuel Vadot    then:
113*0e8011faSEmmanuel Vadot      required:
114*0e8011faSEmmanuel Vadot        - reg
115*0e8011faSEmmanuel Vadot      properties:
116*0e8011faSEmmanuel Vadot        sprd,syscon: false
117*0e8011faSEmmanuel Vadot  - if:
118*0e8011faSEmmanuel Vadot      properties:
119*0e8011faSEmmanuel Vadot        compatible:
120*0e8011faSEmmanuel Vadot          contains:
121*0e8011faSEmmanuel Vadot            enum:
122*0e8011faSEmmanuel Vadot              - sprd,sc9860-agcp-gate
123*0e8011faSEmmanuel Vadot              - sprd,sc9860-aon-gate
124*0e8011faSEmmanuel Vadot              - sprd,sc9860-apahb-gate
125*0e8011faSEmmanuel Vadot              - sprd,sc9860-apapb-gate
126*0e8011faSEmmanuel Vadot              - sprd,sc9860-cam-gate
127*0e8011faSEmmanuel Vadot              - sprd,sc9860-disp-gate
128*0e8011faSEmmanuel Vadot              - sprd,sc9860-pll
129*0e8011faSEmmanuel Vadot              - sprd,sc9860-pmu-gate
130*0e8011faSEmmanuel Vadot              - sprd,sc9860-vsp-gate
131*0e8011faSEmmanuel Vadot    then:
132*0e8011faSEmmanuel Vadot      required:
133*0e8011faSEmmanuel Vadot        - sprd,syscon
134*0e8011faSEmmanuel Vadot      properties:
135*0e8011faSEmmanuel Vadot        reg: false
136*0e8011faSEmmanuel Vadot
137*0e8011faSEmmanuel VadotadditionalProperties: false
138*0e8011faSEmmanuel Vadot
139*0e8011faSEmmanuel Vadotexamples:
140*0e8011faSEmmanuel Vadot  - |
141*0e8011faSEmmanuel Vadot    soc {
142*0e8011faSEmmanuel Vadot      #address-cells = <2>;
143*0e8011faSEmmanuel Vadot      #size-cells = <2>;
144*0e8011faSEmmanuel Vadot
145*0e8011faSEmmanuel Vadot      pmu-gate {
146*0e8011faSEmmanuel Vadot        compatible = "sprd,sc9860-pmu-gate";
147*0e8011faSEmmanuel Vadot        clocks = <&ext_26m>;
148*0e8011faSEmmanuel Vadot        #clock-cells = <1>;
149*0e8011faSEmmanuel Vadot        sprd,syscon = <&pmu_regs>;
150*0e8011faSEmmanuel Vadot      };
151*0e8011faSEmmanuel Vadot
152*0e8011faSEmmanuel Vadot      clock-controller@20000000 {
153*0e8011faSEmmanuel Vadot        compatible = "sprd,sc9860-ap-clk";
154*0e8011faSEmmanuel Vadot        reg = <0 0x20000000 0 0x400>;
155*0e8011faSEmmanuel Vadot        clocks = <&ext_26m>, <&pll 0>, <&pmu_gate 0>;
156*0e8011faSEmmanuel Vadot        #clock-cells = <1>;
157*0e8011faSEmmanuel Vadot      };
158*0e8011faSEmmanuel Vadot    };
159*0e8011faSEmmanuel Vadot...
160