161 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/clock/qcom,rpmcc.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm RPM Clock Controller8 9maintainers:10 - Bjorn Andersson <bjorn.andersson@linaro.org>11 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>12 13description: |14 The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h> and15 come in pairs:: FOO_CLK followed by FOO_A_CLK. The latter clock is16 an "active" clock, which means that the consumer only care that the clock is17 available when the apps CPU subsystem is active, i.e. not suspended or in18 deep idle. If it is important that the clock keeps running during system19 suspend, you need to specify the non-active clock, the one not containing20 *_A_* in the enumerator name.21 22properties:23 compatible:24 items:25 - enum:26 - qcom,rpmcc-apq806027 - qcom,rpmcc-apq806428 - qcom,rpmcc-ipq806x29 - qcom,rpmcc-mdm960730 - qcom,rpmcc-msm822631 - qcom,rpmcc-msm866032 - qcom,rpmcc-msm890933 - qcom,rpmcc-msm891634 - qcom,rpmcc-msm891735 - qcom,rpmcc-msm893636 - qcom,rpmcc-msm895337 - qcom,rpmcc-msm897438 - qcom,rpmcc-msm897639 - qcom,rpmcc-msm899240 - qcom,rpmcc-msm899441 - qcom,rpmcc-msm899642 - qcom,rpmcc-msm899843 - qcom,rpmcc-qcm229044 - qcom,rpmcc-qcs40445 - qcom,rpmcc-sdm66046 - qcom,rpmcc-sm611547 - qcom,rpmcc-sm612548 - qcom,rpmcc-sm637549 - const: qcom,rpmcc50 51 '#clock-cells':52 const: 153 54 clocks:55 minItems: 156 maxItems: 257 58 clock-names:59 minItems: 160 maxItems: 261 62required:63 - compatible64 - '#clock-cells'65 66allOf:67 - if:68 properties:69 compatible:70 contains:71 enum:72 - qcom,rpmcc-apq806073 - qcom,rpmcc-ipq806x74 - qcom,rpmcc-msm866075 76 then:77 properties:78 clocks:79 items:80 - description: pxo clock81 82 clock-names:83 items:84 - const: pxo85 86 - if:87 properties:88 compatible:89 contains:90 const: qcom,rpmcc-apq806491 then:92 properties:93 clocks:94 items:95 - description: pxo clock96 - description: cxo clock97 98 clock-names:99 items:100 - const: pxo101 - const: cxo102 103 - if:104 properties:105 compatible:106 contains:107 enum:108 - qcom,rpmcc-mdm9607109 - qcom,rpmcc-msm8226110 - qcom,rpmcc-msm8916111 - qcom,rpmcc-msm8917112 - qcom,rpmcc-msm8936113 - qcom,rpmcc-msm8953114 - qcom,rpmcc-msm8974115 - qcom,rpmcc-msm8976116 - qcom,rpmcc-msm8992117 - qcom,rpmcc-msm8994118 - qcom,rpmcc-msm8996119 - qcom,rpmcc-msm8998120 - qcom,rpmcc-qcm2290121 - qcom,rpmcc-qcs404122 - qcom,rpmcc-sdm660123 - qcom,rpmcc-sm6115124 - qcom,rpmcc-sm6125125 126 then:127 properties:128 clocks:129 items:130 - description: xo clock131 132 clock-names:133 items:134 - const: xo135 136additionalProperties: false137 138examples:139 - |140 rpm {141 rpm-requests {142 compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";143 qcom,smd-channels = "rpm_requests";144 145 clock-controller {146 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";147 #clock-cells = <1>;148 };149 };150 };151 152 - |153 rpm {154 clock-controller {155 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";156 #clock-cells = <1>;157 clocks = <&pxo_board>;158 clock-names = "pxo";159 };160 };161