File Index
Files and directories
Sign in
FILE

qcom,rpmcc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml 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
  7title: Qualcomm RPM Clock Controller
  8
  9maintainers:
 10  - Bjorn Andersson <bjorn.andersson@linaro.org>
 11  - Krzysztof Kozlowski <krzk@kernel.org>
 12
 13description: |
 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
 22properties:
 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-msm8909
 33          - qcom,rpmcc-msm8916
 34          - qcom,rpmcc-msm8917
 35          - qcom,rpmcc-msm8936
 36          - qcom,rpmcc-msm8937
 37          - qcom,rpmcc-msm8940
 38          - qcom,rpmcc-msm8953
 39          - qcom,rpmcc-msm8974
 40          - qcom,rpmcc-msm8976
 41          - qcom,rpmcc-msm8992
 42          - qcom,rpmcc-msm8994
 43          - qcom,rpmcc-msm8996
 44          - qcom,rpmcc-msm8998
 45          - qcom,rpmcc-qcm2290
 46          - qcom,rpmcc-qcs404
 47          - qcom,rpmcc-sdm429
 48          - qcom,rpmcc-sdm660
 49          - qcom,rpmcc-sm6115
 50          - qcom,rpmcc-sm6125
 51          - qcom,rpmcc-sm6375
 52      - const: qcom,rpmcc
 53
 54  '#clock-cells':
 55    const: 1
 56
 57  clocks:
 58    minItems: 1
 59    maxItems: 2
 60
 61  clock-names:
 62    minItems: 1
 63    maxItems: 2
 64
 65required:
 66  - compatible
 67  - '#clock-cells'
 68
 69allOf:
 70  - if:
 71      properties:
 72        compatible:
 73          contains:
 74            enum:
 75              - qcom,rpmcc-apq8060
 76              - qcom,rpmcc-ipq806x
 77              - qcom,rpmcc-msm8660
 78
 79    then:
 80      properties:
 81        clocks:
 82          items:
 83            - description: pxo clock
 84
 85        clock-names:
 86          items:
 87            - const: pxo
 88
 89  - if:
 90      properties:
 91        compatible:
 92          contains:
 93            const: qcom,rpmcc-apq8064
 94    then:
 95      properties:
 96        clocks:
 97          items:
 98            - description: pxo clock
 99            - description: cxo clock
100
101        clock-names:
102          items:
103            - const: pxo
104            - const: cxo
105
106  - if:
107      properties:
108        compatible:
109          contains:
110            enum:
111              - qcom,rpmcc-mdm9607
112              - qcom,rpmcc-msm8226
113              - qcom,rpmcc-msm8916
114              - qcom,rpmcc-msm8917
115              - qcom,rpmcc-msm8936
116              - qcom,rpmcc-msm8937
117              - qcom,rpmcc-msm8940
118              - qcom,rpmcc-msm8953
119              - qcom,rpmcc-msm8974
120              - qcom,rpmcc-msm8976
121              - qcom,rpmcc-msm8992
122              - qcom,rpmcc-msm8994
123              - qcom,rpmcc-msm8996
124              - qcom,rpmcc-msm8998
125              - qcom,rpmcc-qcm2290
126              - qcom,rpmcc-qcs404
127              - qcom,rpmcc-sdm429
128              - qcom,rpmcc-sdm660
129              - qcom,rpmcc-sm6115
130              - qcom,rpmcc-sm6125
131
132    then:
133      properties:
134        clocks:
135          items:
136            - description: xo clock
137
138        clock-names:
139          items:
140            - const: xo
141
142additionalProperties: false
143
144examples:
145  - |
146    rpm {
147        rpm-requests {
148            compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
149            qcom,smd-channels = "rpm_requests";
150
151            clock-controller {
152                compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
153                #clock-cells = <1>;
154            };
155        };
156    };
157
158  - |
159    rpm {
160        clock-controller {
161            compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
162            #clock-cells = <1>;
163            clocks = <&pxo_board>;
164            clock-names = "pxo";
165        };
166    };
~/ Read-only file preview.