| 1 | config KRAIT_CLOCKS |
| 2 | bool |
| 3 | select KRAIT_L2_ACCESSORS |
| 4 | |
| 5 | config QCOM_GDSC |
| 6 | bool |
| 7 | select PM_GENERIC_DOMAINS if PM |
| 8 | |
| 9 | config QCOM_RPMCC |
| 10 | bool |
| 11 | |
| 12 | config COMMON_CLK_QCOM |
| 13 | tristate "Support for Qualcomm's clock controllers" |
| 14 | depends on OF |
| 15 | depends on ARCH_QCOM || COMPILE_TEST |
| 16 | select REGMAP_MMIO |
| 17 | select RESET_CONTROLLER |
| 18 | |
| 19 | config QCOM_A53PLL |
| 20 | tristate "MSM8916 A53 PLL" |
| 21 | depends on COMMON_CLK_QCOM |
| 22 | default ARCH_QCOM |
| 23 | help |
| 24 | Support for the A53 PLL on MSM8916 devices. It provides |
| 25 | the CPU with frequencies above 1GHz. |
| 26 | Say Y if you want to support higher CPU frequencies on MSM8916 |
| 27 | devices. |
| 28 | |
| 29 | config QCOM_CLK_APCS_MSM8916 |
| 30 | tristate "MSM8916 APCS Clock Controller" |
| 31 | depends on COMMON_CLK_QCOM |
| 32 | depends on QCOM_APCS_IPC || COMPILE_TEST |
| 33 | default ARCH_QCOM |
| 34 | help |
| 35 | Support for the APCS Clock Controller on msm8916 devices. The |
| 36 | APCS is managing the mux and divider which feeds the CPUs. |
| 37 | Say Y if you want to support CPU frequency scaling on devices |
| 38 | such as msm8916. |
| 39 | |
| 40 | config QCOM_CLK_RPM |
| 41 | tristate "RPM based Clock Controller" |
| 42 | depends on COMMON_CLK_QCOM && MFD_QCOM_RPM |
| 43 | select QCOM_RPMCC |
| 44 | help |
| 45 | The RPM (Resource Power Manager) is a dedicated hardware engine for |
| 46 | managing the shared SoC resources in order to keep the lowest power |
| 47 | profile. It communicates with other hardware subsystems via shared |
| 48 | memory and accepts clock requests, aggregates the requests and turns |
| 49 | the clocks on/off or scales them on demand. |
| 50 | Say Y if you want to support the clocks exposed by the RPM on |
| 51 | platforms such as apq8064, msm8660, msm8960 etc. |
| 52 | |
| 53 | config QCOM_CLK_SMD_RPM |
| 54 | tristate "RPM over SMD based Clock Controller" |
| 55 | depends on COMMON_CLK_QCOM && QCOM_SMD_RPM |
| 56 | select QCOM_RPMCC |
| 57 | help |
| 58 | The RPM (Resource Power Manager) is a dedicated hardware engine for |
| 59 | managing the shared SoC resources in order to keep the lowest power |
| 60 | profile. It communicates with other hardware subsystems via shared |
| 61 | memory and accepts clock requests, aggregates the requests and turns |
| 62 | the clocks on/off or scales them on demand. |
| 63 | Say Y if you want to support the clocks exposed by the RPM on |
| 64 | platforms such as apq8016, apq8084, msm8974 etc. |
| 65 | |
| 66 | config QCOM_CLK_RPMH |
| 67 | tristate "RPMh Clock Driver" |
| 68 | depends on COMMON_CLK_QCOM && QCOM_RPMH |
| 69 | help |
| 70 | RPMh manages shared resources on some Qualcomm Technologies, Inc. |
| 71 | SoCs. It accepts requests from other hardware subsystems via RSC. |
| 72 | Say Y if you want to support the clocks exposed by RPMh on |
| 73 | platforms such as SDM845. |
| 74 | |
| 75 | config APQ_GCC_8084 |
| 76 | tristate "APQ8084 Global Clock Controller" |
| 77 | select QCOM_GDSC |
| 78 | depends on COMMON_CLK_QCOM |
| 79 | help |
| 80 | Support for the global clock controller on apq8084 devices. |
| 81 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 82 | i2c, USB, SD/eMMC, SATA, PCIe, etc. |
| 83 | |
| 84 | config APQ_MMCC_8084 |
| 85 | tristate "APQ8084 Multimedia Clock Controller" |
| 86 | select APQ_GCC_8084 |
| 87 | select QCOM_GDSC |
| 88 | depends on COMMON_CLK_QCOM |
| 89 | help |
| 90 | Support for the multimedia clock controller on apq8084 devices. |
| 91 | Say Y if you want to support multimedia devices such as display, |
| 92 | graphics, video encode/decode, camera, etc. |
| 93 | |
| 94 | config IPQ_GCC_4019 |
| 95 | tristate "IPQ4019 Global Clock Controller" |
| 96 | depends on COMMON_CLK_QCOM |
| 97 | help |
| 98 | Support for the global clock controller on ipq4019 devices. |
| 99 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 100 | i2c, USB, SD/eMMC, etc. |
| 101 | |
| 102 | config IPQ_GCC_806X |
| 103 | tristate "IPQ806x Global Clock Controller" |
| 104 | depends on COMMON_CLK_QCOM |
| 105 | help |
| 106 | Support for the global clock controller on ipq806x devices. |
| 107 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 108 | i2c, USB, SD/eMMC, etc. |
| 109 | |
| 110 | config IPQ_LCC_806X |
| 111 | tristate "IPQ806x LPASS Clock Controller" |
| 112 | select IPQ_GCC_806X |
| 113 | depends on COMMON_CLK_QCOM |
| 114 | help |
| 115 | Support for the LPASS clock controller on ipq806x devices. |
| 116 | Say Y if you want to use audio devices such as i2s, pcm, |
| 117 | S/PDIF, etc. |
| 118 | |
| 119 | config IPQ_GCC_8074 |
| 120 | tristate "IPQ8074 Global Clock Controller" |
| 121 | depends on COMMON_CLK_QCOM |
| 122 | help |
| 123 | Support for global clock controller on ipq8074 devices. |
| 124 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 125 | i2c, USB, SD/eMMC, etc. Select this for the root clock |
| 126 | of ipq8074. |
| 127 | |
| 128 | config MSM_GCC_8660 |
| 129 | tristate "MSM8660 Global Clock Controller" |
| 130 | depends on COMMON_CLK_QCOM |
| 131 | help |
| 132 | Support for the global clock controller on msm8660 devices. |
| 133 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 134 | i2c, USB, SD/eMMC, etc. |
| 135 | |
| 136 | config MSM_GCC_8916 |
| 137 | tristate "MSM8916 Global Clock Controller" |
| 138 | select QCOM_GDSC |
| 139 | depends on COMMON_CLK_QCOM |
| 140 | help |
| 141 | Support for the global clock controller on msm8916 devices. |
| 142 | Say Y if you want to use devices such as UART, SPI i2c, USB, |
| 143 | SD/eMMC, display, graphics, camera etc. |
| 144 | |
| 145 | config MSM_GCC_8960 |
| 146 | tristate "APQ8064/MSM8960 Global Clock Controller" |
| 147 | depends on COMMON_CLK_QCOM |
| 148 | help |
| 149 | Support for the global clock controller on apq8064/msm8960 devices. |
| 150 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 151 | i2c, USB, SD/eMMC, SATA, PCIe, etc. |
| 152 | |
| 153 | config MSM_LCC_8960 |
| 154 | tristate "APQ8064/MSM8960 LPASS Clock Controller" |
| 155 | select MSM_GCC_8960 |
| 156 | depends on COMMON_CLK_QCOM |
| 157 | help |
| 158 | Support for the LPASS clock controller on apq8064/msm8960 devices. |
| 159 | Say Y if you want to use audio devices such as i2s, pcm, |
| 160 | SLIMBus, etc. |
| 161 | |
| 162 | config MDM_GCC_9615 |
| 163 | tristate "MDM9615 Global Clock Controller" |
| 164 | depends on COMMON_CLK_QCOM |
| 165 | help |
| 166 | Support for the global clock controller on mdm9615 devices. |
| 167 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 168 | i2c, USB, SD/eMMC, etc. |
| 169 | |
| 170 | config MDM_LCC_9615 |
| 171 | tristate "MDM9615 LPASS Clock Controller" |
| 172 | select MDM_GCC_9615 |
| 173 | depends on COMMON_CLK_QCOM |
| 174 | help |
| 175 | Support for the LPASS clock controller on mdm9615 devices. |
| 176 | Say Y if you want to use audio devices such as i2s, pcm, |
| 177 | SLIMBus, etc. |
| 178 | |
| 179 | config MSM_MMCC_8960 |
| 180 | tristate "MSM8960 Multimedia Clock Controller" |
| 181 | select MSM_GCC_8960 |
| 182 | depends on COMMON_CLK_QCOM |
| 183 | help |
| 184 | Support for the multimedia clock controller on msm8960 devices. |
| 185 | Say Y if you want to support multimedia devices such as display, |
| 186 | graphics, video encode/decode, camera, etc. |
| 187 | |
| 188 | config MSM_GCC_8974 |
| 189 | tristate "MSM8974 Global Clock Controller" |
| 190 | select QCOM_GDSC |
| 191 | depends on COMMON_CLK_QCOM |
| 192 | help |
| 193 | Support for the global clock controller on msm8974 devices. |
| 194 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 195 | i2c, USB, SD/eMMC, SATA, PCIe, etc. |
| 196 | |
| 197 | config MSM_MMCC_8974 |
| 198 | tristate "MSM8974 Multimedia Clock Controller" |
| 199 | select MSM_GCC_8974 |
| 200 | select QCOM_GDSC |
| 201 | depends on COMMON_CLK_QCOM |
| 202 | help |
| 203 | Support for the multimedia clock controller on msm8974 devices. |
| 204 | Say Y if you want to support multimedia devices such as display, |
| 205 | graphics, video encode/decode, camera, etc. |
| 206 | |
| 207 | config MSM_GCC_8994 |
| 208 | tristate "MSM8994 Global Clock Controller" |
| 209 | depends on COMMON_CLK_QCOM |
| 210 | help |
| 211 | Support for the global clock controller on msm8994 devices. |
| 212 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 213 | i2c, USB, UFS, SD/eMMC, PCIe, etc. |
| 214 | |
| 215 | config MSM_GCC_8996 |
| 216 | tristate "MSM8996 Global Clock Controller" |
| 217 | select QCOM_GDSC |
| 218 | depends on COMMON_CLK_QCOM |
| 219 | help |
| 220 | Support for the global clock controller on msm8996 devices. |
| 221 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 222 | i2c, USB, UFS, SD/eMMC, PCIe, etc. |
| 223 | |
| 224 | config MSM_MMCC_8996 |
| 225 | tristate "MSM8996 Multimedia Clock Controller" |
| 226 | select MSM_GCC_8996 |
| 227 | select QCOM_GDSC |
| 228 | depends on COMMON_CLK_QCOM |
| 229 | help |
| 230 | Support for the multimedia clock controller on msm8996 devices. |
| 231 | Say Y if you want to support multimedia devices such as display, |
| 232 | graphics, video encode/decode, camera, etc. |
| 233 | |
| 234 | config MSM_GCC_8998 |
| 235 | tristate "MSM8998 Global Clock Controller" |
| 236 | depends on COMMON_CLK_QCOM |
| 237 | help |
| 238 | Support for the global clock controller on msm8998 devices. |
| 239 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 240 | i2c, USB, UFS, SD/eMMC, PCIe, etc. |
| 241 | |
| 242 | config SDM_GCC_845 |
| 243 | tristate "SDM845 Global Clock Controller" |
| 244 | select QCOM_GDSC |
| 245 | depends on COMMON_CLK_QCOM |
| 246 | help |
| 247 | Support for the global clock controller on SDM845 devices. |
| 248 | Say Y if you want to use peripheral devices such as UART, SPI, |
| 249 | i2C, USB, UFS, SDDC, PCIe, etc. |
| 250 | |
| 251 | config SDM_VIDEOCC_845 |
| 252 | tristate "SDM845 Video Clock Controller" |
| 253 | depends on COMMON_CLK_QCOM |
| 254 | select SDM_GCC_845 |
| 255 | select QCOM_GDSC |
| 256 | help |
| 257 | Support for the video clock controller on SDM845 devices. |
| 258 | Say Y if you want to support video devices and functionality such as |
| 259 | video encode and decode. |
| 260 | |
| 261 | config SDM_DISPCC_845 |
| 262 | tristate "SDM845 Display Clock Controller" |
| 263 | select SDM_GCC_845 |
| 264 | depends on COMMON_CLK_QCOM |
| 265 | help |
| 266 | Support for the display clock controller on Qualcomm Technologies, Inc |
| 267 | SDM845 devices. |
| 268 | Say Y if you want to support display devices and functionality such as |
| 269 | splash screen. |
| 270 | |
| 271 | config SPMI_PMIC_CLKDIV |
| 272 | tristate "SPMI PMIC clkdiv Support" |
| 273 | depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST |
| 274 | help |
| 275 | This driver supports the clkdiv functionality on the Qualcomm |
| 276 | Technologies, Inc. SPMI PMIC. It configures the frequency of |
| 277 | clkdiv outputs of the PMIC. These clocks are typically wired |
| 278 | through alternate functions on GPIO pins. |
| 279 | |
| 280 | config QCOM_HFPLL |
| 281 | tristate "High-Frequency PLL (HFPLL) Clock Controller" |
| 282 | depends on COMMON_CLK_QCOM |
| 283 | help |
| 284 | Support for the high-frequency PLLs present on Qualcomm devices. |
| 285 | Say Y if you want to support CPU frequency scaling on devices |
| 286 | such as MSM8974, APQ8084, etc. |