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 7title: Qualcomm Global Clock & Reset Controller Binding 8 9maintainers: 10 - Stephen Boyd <sboyd@kernel.org> 11 - Taniya Das <tdas@codeaurora.org> 12 13description: | 14 Qualcomm global clock control module which supports the clocks, resets and 15 power domains. 16 17properties: 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-sc7180 37 - qcom,gcc-sdm630 38 - qcom,gcc-sdm660 39 - qcom,gcc-sdm845 40 - qcom,gcc-sm8150 41 42 clocks: 43 minItems: 1 44 maxItems: 3 45 items: 46 - description: Board XO source 47 - description: Board active XO source 48 - description: Sleep clock source 49 50 clock-names: 51 minItems: 1 52 maxItems: 3 53 items: 54 - const: bi_tcxo 55 - const: bi_tcxo_ao 56 - const: sleep_clk 57 58 '#clock-cells': 59 const: 1 60 61 '#reset-cells': 62 const: 1 63 64 '#power-domain-cells': 65 const: 1 66 67 reg: 68 maxItems: 1 69 70 nvmem-cells: 71 minItems: 1 72 maxItems: 2 73 description: 74 Qualcomm TSENS (thermal sensor device) on some devices can 75 be part of GCC and hence the TSENS properties can also be part 76 of the GCC/clock-controller node. 77 For more details on the TSENS properties please refer 78 Documentation/devicetree/bindings/thermal/qcom-tsens.txt 79 80 nvmem-cell-names: 81 minItems: 1 82 maxItems: 2 83 description: 84 Names for each nvmem-cells specified. 85 items: 86 - const: calib 87 - const: calib_backup 88 89 'thermal-sensor-cells': 90 const: 1 91 92 protected-clocks: 93 description: 94 Protected clock specifier list as per common clock binding 95 96required: 97 - compatible 98 - reg 99 - '#clock-cells' 100 - '#reset-cells' 101 - '#power-domain-cells' 102 103if: 104 properties: 105 compatible: 106 contains: 107 const: qcom,gcc-apq8064 108 109then: 110 required: 111 - nvmem-cells 112 - nvmem-cell-names 113 - '#thermal-sensor-cells' 114 115else: 116 if: 117 properties: 118 compatible: 119 contains: 120 enum: 121 - qcom,gcc-sm8150 122 - qcom,gcc-sc7180 123 then: 124 required: 125 - clocks 126 - clock-names 127 128 129examples: 130 # Example for GCC for MSM8960: 131 - | 132 clock-controller@900000 { 133 compatible = "qcom,gcc-msm8960"; 134 reg = <0x900000 0x4000>; 135 #clock-cells = <1>; 136 #reset-cells = <1>; 137 #power-domain-cells = <1>; 138 }; 139 140 141 # Example of GCC with TSENS properties: 142 - | 143 clock-controller@900000 { 144 compatible = "qcom,gcc-apq8064"; 145 reg = <0x00900000 0x4000>; 146 nvmem-cells = <&tsens_calib>, <&tsens_backup>; 147 nvmem-cell-names = "calib", "calib_backup"; 148 #clock-cells = <1>; 149 #reset-cells = <1>; 150 #power-domain-cells = <1>; 151 #thermal-sensor-cells = <1>; 152 }; 153 154 # Example of GCC with protected-clocks properties: 155 - | 156 clock-controller@100000 { 157 compatible = "qcom,gcc-sdm845"; 158 reg = <0x100000 0x1f0000>; 159 protected-clocks = <187>, <188>, <189>, <190>, <191>; 160 #clock-cells = <1>; 161 #reset-cells = <1>; 162 #power-domain-cells = <1>; 163 }; 164 165 # Example of GCC with clock node properties for SM8150: 166 - | 167 clock-controller@100000 { 168 compatible = "qcom,gcc-sm8150"; 169 reg = <0x00100000 0x1f0000>; 170 clocks = <&rpmhcc 0>, <&rpmhcc 1>, <&sleep_clk>; 171 clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; 172 #clock-cells = <1>; 173 #reset-cells = <1>; 174 #power-domain-cells = <1>; 175 }; 176 177 # Example of GCC with clock nodes properties for SC7180: 178 - | 179 clock-controller@100000 { 180 compatible = "qcom,gcc-sc7180"; 181 reg = <0x100000 0x1f0000>; 182 clocks = <&rpmhcc 0>, <&rpmhcc 1>; 183 clock-names = "bi_tcxo", "bi_tcxo_ao"; 184 #clock-cells = <1>; 185 #reset-cells = <1>; 186 #power-domain-cells = <1>; 187 }; 188... 189