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 <krzysztof.kozlowski@linaro.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-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 minItems: 1 53 maxItems: 2 54 55 clock-names: 56 minItems: 1 57 maxItems: 2 58 59required: 60 - compatible 61 - '#clock-cells' 62 63allOf: 64 - if: 65 properties: 66 compatible: 67 contains: 68 enum: 69 - qcom,rpmcc-apq8060 70 - qcom,rpmcc-ipq806x 71 - qcom,rpmcc-msm8660 72 73 then: 74 properties: 75 clocks: 76 items: 77 - description: pxo clock 78 79 clock-names: 80 items: 81 - const: pxo 82 83 - if: 84 properties: 85 compatible: 86 contains: 87 const: qcom,rpmcc-apq8064 88 then: 89 properties: 90 clocks: 91 items: 92 - description: pxo clock 93 - description: cxo clock 94 95 clock-names: 96 items: 97 - const: pxo 98 - const: cxo 99 100 - if: 101 properties: 102 compatible: 103 contains: 104 enum: 105 - qcom,rpmcc-mdm9607 106 - qcom,rpmcc-msm8226 107 - qcom,rpmcc-msm8916 108 - qcom,rpmcc-msm8936 109 - qcom,rpmcc-msm8953 110 - qcom,rpmcc-msm8974 111 - qcom,rpmcc-msm8976 112 - qcom,rpmcc-msm8992 113 - qcom,rpmcc-msm8994 114 - qcom,rpmcc-msm8996 115 - qcom,rpmcc-msm8998 116 - qcom,rpmcc-qcm2290 117 - qcom,rpmcc-qcs404 118 - qcom,rpmcc-sdm660 119 - qcom,rpmcc-sm6115 120 - qcom,rpmcc-sm6125 121 122 then: 123 properties: 124 clocks: 125 items: 126 - description: xo clock 127 128 clock-names: 129 items: 130 - const: xo 131 132additionalProperties: false 133 134examples: 135 - | 136 rpm { 137 rpm-requests { 138 compatible = "qcom,rpm-msm8916"; 139 qcom,smd-channels = "rpm_requests"; 140 141 clock-controller { 142 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc"; 143 #clock-cells = <1>; 144 }; 145 }; 146 }; 147 148 - | 149 rpm { 150 clock-controller { 151 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc"; 152 #clock-cells = <1>; 153 clocks = <&pxo_board>; 154 clock-names = "pxo"; 155 }; 156 }; 157