GNU Linux-libre 5.19-rc6-gnu
[releases.git] / Documentation / devicetree / bindings / clock / qcom,rpmcc.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/clock/qcom,rpmcc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm RPM Clock Controller
8
9 maintainers:
10   - Bjorn Andersson <bjorn.andersson@linaro.org>
11   - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
12
13 description: |
14   The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h> and
15   come in pairs:: FOO_CLK followed by FOO_A_CLK. The latter clock is
16   an "active" clock, which means that the consumer only care that the clock is
17   available when the apps CPU subsystem is active, i.e. not suspended or in
18   deep idle. If it is important that the clock keeps running during system
19   suspend, you need to specify the non-active clock, the one not containing
20   *_A_* in the enumerator name.
21
22 properties:
23   compatible:
24     items:
25       - enum:
26           - qcom,rpmcc-apq8060
27           - qcom,rpmcc-apq8064
28           - qcom,rpmcc-ipq806x
29           - qcom,rpmcc-mdm9607
30           - qcom,rpmcc-msm8226
31           - qcom,rpmcc-msm8660
32           - qcom,rpmcc-msm8916
33           - qcom,rpmcc-msm8936
34           - qcom,rpmcc-msm8953
35           - qcom,rpmcc-msm8974
36           - qcom,rpmcc-msm8976
37           - qcom,rpmcc-msm8992
38           - qcom,rpmcc-msm8994
39           - qcom,rpmcc-msm8996
40           - qcom,rpmcc-msm8998
41           - qcom,rpmcc-qcm2290
42           - qcom,rpmcc-qcs404
43           - qcom,rpmcc-sdm660
44           - qcom,rpmcc-sm6115
45           - qcom,rpmcc-sm6125
46       - const: qcom,rpmcc
47
48   '#clock-cells':
49     const: 1
50
51   clocks:
52     maxItems: 1
53
54   clock-names:
55     const: xo
56
57 required:
58   - compatible
59   - '#clock-cells'
60
61 additionalProperties: false
62
63 examples:
64   - |
65     rpm {
66         rpm-requests {
67             compatible = "qcom,rpm-msm8916";
68             qcom,smd-channels = "rpm_requests";
69
70             clock-controller {
71                 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
72                 #clock-cells = <1>;
73             };
74         };
75     };