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