Skip to content

Commit 9de7269

Browse files
Taniya Dasbebarino
authored andcommitted
dt-bindings: clock: Add YAML schemas for the QCOM GCC clock bindings
The GCC clock provider have a bunch of generic properties that are needed in a device tree. Add a YAML schemas for those. Signed-off-by: Taniya Das <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
1 parent ffe37ed commit 9de7269

File tree

2 files changed

+174
-94
lines changed

2 files changed

+174
-94
lines changed

Documentation/devicetree/bindings/clock/qcom,gcc.txt

Lines changed: 0 additions & 94 deletions
This file was deleted.
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/bindings/clock/qcom,gcc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global Clock & Reset Controller Binding
8+
9+
maintainers:
10+
- Stephen Boyd <[email protected]>
11+
- Taniya Das <[email protected]>
12+
13+
description: |
14+
Qualcomm global clock control module which supports the clocks, resets and
15+
power domains.
16+
17+
properties:
18+
compatible :
19+
enum:
20+
- qcom,gcc-apq8064
21+
- qcom,gcc-apq8084
22+
- qcom,gcc-ipq8064
23+
- qcom,gcc-ipq4019
24+
- qcom,gcc-ipq8074
25+
- qcom,gcc-msm8660
26+
- qcom,gcc-msm8916
27+
- qcom,gcc-msm8960
28+
- qcom,gcc-msm8974
29+
- qcom,gcc-msm8974pro
30+
- qcom,gcc-msm8974pro-ac
31+
- qcom,gcc-msm8994
32+
- qcom,gcc-msm8996
33+
- qcom,gcc-msm8998
34+
- qcom,gcc-mdm9615
35+
- qcom,gcc-qcs404
36+
- qcom,gcc-sdm630
37+
- qcom,gcc-sdm660
38+
- qcom,gcc-sdm845
39+
- qcom,gcc-sm8150
40+
41+
clocks:
42+
minItems: 1
43+
maxItems: 3
44+
items:
45+
- description: Board XO source
46+
- description: Board active XO source
47+
- description: Sleep clock source
48+
49+
clock-names:
50+
minItems: 1
51+
maxItems: 3
52+
items:
53+
- const: bi_tcxo
54+
- const: bi_tcxo_ao
55+
- const: sleep_clk
56+
57+
'#clock-cells':
58+
const: 1
59+
60+
'#reset-cells':
61+
const: 1
62+
63+
'#power-domain-cells':
64+
const: 1
65+
66+
reg:
67+
maxItems: 1
68+
69+
nvmem-cells:
70+
minItems: 1
71+
maxItems: 2
72+
description:
73+
Qualcomm TSENS (thermal sensor device) on some devices can
74+
be part of GCC and hence the TSENS properties can also be part
75+
of the GCC/clock-controller node.
76+
For more details on the TSENS properties please refer
77+
Documentation/devicetree/bindings/thermal/qcom-tsens.txt
78+
79+
nvmem-cell-names:
80+
minItems: 1
81+
maxItems: 2
82+
description:
83+
Names for each nvmem-cells specified.
84+
items:
85+
- const: calib
86+
- const: calib_backup
87+
88+
'thermal-sensor-cells':
89+
const: 1
90+
91+
protected-clocks:
92+
description:
93+
Protected clock specifier list as per common clock binding
94+
95+
required:
96+
- compatible
97+
- reg
98+
- '#clock-cells'
99+
- '#reset-cells'
100+
- '#power-domain-cells'
101+
102+
if:
103+
properties:
104+
compatible:
105+
contains:
106+
const: qcom,gcc-apq8064
107+
108+
then:
109+
required:
110+
- nvmem-cells
111+
- nvmem-cell-names
112+
- '#thermal-sensor-cells'
113+
114+
else:
115+
if:
116+
properties:
117+
compatible:
118+
contains:
119+
enum:
120+
- qcom,gcc-sm8150
121+
then:
122+
required:
123+
- clocks
124+
- clock-names
125+
126+
127+
examples:
128+
# Example for GCC for MSM8960:
129+
- |
130+
clock-controller@900000 {
131+
compatible = "qcom,gcc-msm8960";
132+
reg = <0x900000 0x4000>;
133+
#clock-cells = <1>;
134+
#reset-cells = <1>;
135+
#power-domain-cells = <1>;
136+
};
137+
138+
139+
# Example of GCC with TSENS properties:
140+
- |
141+
clock-controller@900000 {
142+
compatible = "qcom,gcc-apq8064";
143+
reg = <0x00900000 0x4000>;
144+
nvmem-cells = <&tsens_calib>, <&tsens_backup>;
145+
nvmem-cell-names = "calib", "calib_backup";
146+
#clock-cells = <1>;
147+
#reset-cells = <1>;
148+
#power-domain-cells = <1>;
149+
#thermal-sensor-cells = <1>;
150+
};
151+
152+
# Example of GCC with protected-clocks properties:
153+
- |
154+
clock-controller@100000 {
155+
compatible = "qcom,gcc-sdm845";
156+
reg = <0x100000 0x1f0000>;
157+
protected-clocks = <187>, <188>, <189>, <190>, <191>;
158+
#clock-cells = <1>;
159+
#reset-cells = <1>;
160+
#power-domain-cells = <1>;
161+
};
162+
163+
# Example of GCC with clock node properties for SM8150:
164+
- |
165+
clock-controller@100000 {
166+
compatible = "qcom,gcc-sm8150";
167+
reg = <0x00100000 0x1f0000>;
168+
clocks = <&rpmhcc 0>, <&rpmhcc 1>, <&sleep_clk>;
169+
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
170+
#clock-cells = <1>;
171+
#reset-cells = <1>;
172+
#power-domain-cells = <1>;
173+
};
174+
...

0 commit comments

Comments
 (0)