1# SPDX-License-Identifier: GPL-2.0-only 2config KRAIT_CLOCKS 3 bool 4 select KRAIT_L2_ACCESSORS 5 6config QCOM_GDSC 7 bool 8 select PM_GENERIC_DOMAINS if PM 9 10config QCOM_RPMCC 11 bool 12 13menuconfig COMMON_CLK_QCOM 14 tristate "Support for Qualcomm's clock controllers" 15 depends on OF 16 depends on ARCH_QCOM || COMPILE_TEST 17 select RATIONAL 18 select REGMAP_MMIO 19 select RESET_CONTROLLER 20 21if COMMON_CLK_QCOM 22 23config CLK_X1E80100_CAMCC 24 tristate "X1E80100 Camera Clock Controller" 25 depends on ARM64 || COMPILE_TEST 26 select CLK_X1E80100_GCC 27 help 28 Support for the camera clock controller on X1E80100 devices. 29 Say Y if you want to support camera devices and camera functionality. 30 31config CLK_X1E80100_DISPCC 32 tristate "X1E80100 Display Clock Controller" 33 depends on ARM64 || COMPILE_TEST 34 select CLK_X1E80100_GCC 35 help 36 Support for the two display clock controllers on Qualcomm 37 Technologies, Inc. X1E80100 devices. 38 Say Y if you want to support display devices and functionality such as 39 splash screen. 40 41config CLK_X1E80100_GCC 42 tristate "X1E80100 Global Clock Controller" 43 depends on ARM64 || COMPILE_TEST 44 select QCOM_GDSC 45 help 46 Support for the global clock controller on Qualcomm Technologies, Inc 47 X1E80100 devices. 48 Say Y if you want to use peripheral devices such as UART, SPI, I2C, 49 USB, UFS, SD/eMMC, PCIe, etc. 50 51config CLK_X1E80100_GPUCC 52 tristate "X1E80100 Graphics Clock Controller" 53 depends on ARM64 || COMPILE_TEST 54 select CLK_X1E80100_GCC 55 help 56 Support for the graphics clock controller on X1E80100 devices. 57 Say Y if you want to support graphics controller devices and 58 functionality such as 3D graphics. 59 60config CLK_X1E80100_TCSRCC 61 tristate "X1E80100 TCSR Clock Controller" 62 depends on ARM64 || COMPILE_TEST 63 select QCOM_GDSC 64 help 65 Support for the TCSR clock controller on X1E80100 devices. 66 Say Y if you want to use peripheral devices such as SD/UFS. 67 68config QCOM_A53PLL 69 tristate "MSM8916 A53 PLL" 70 help 71 Support for the A53 PLL on MSM8916 devices. It provides 72 the CPU with frequencies above 1GHz. 73 Say Y if you want to support higher CPU frequencies on MSM8916 74 devices. 75 76config QCOM_A7PLL 77 tristate "A7 PLL driver for SDX55 and SDX65" 78 help 79 Support for the A7 PLL on SDX55 and SDX65 devices. It provides the CPU with 80 frequencies above 1GHz. 81 Say Y if you want to support higher CPU frequencies on SDX55 and SDX65 82 devices. 83 84config QCOM_CLK_APCS_MSM8916 85 tristate "MSM8916 APCS Clock Controller" 86 depends on QCOM_APCS_IPC || COMPILE_TEST 87 help 88 Support for the APCS Clock Controller on msm8916 devices. The 89 APCS is managing the mux and divider which feeds the CPUs. 90 Say Y if you want to support CPU frequency scaling on devices 91 such as msm8916. 92 93config QCOM_CLK_APCC_MSM8996 94 tristate "MSM8996 CPU Clock Controller" 95 select QCOM_KRYO_L2_ACCESSORS 96 select INTERCONNECT_CLK if INTERCONNECT 97 depends on ARM64 98 help 99 Support for the CPU clock controller on msm8996 devices. 100 Say Y if you want to support CPU clock scaling using CPUfreq 101 drivers for dynamic power management. 102 103config QCOM_CLK_APCS_SDX55 104 tristate "SDX55 and SDX65 APCS Clock Controller" 105 depends on QCOM_APCS_IPC || COMPILE_TEST 106 depends on ARM || COMPILE_TEST 107 help 108 Support for the APCS Clock Controller on SDX55, SDX65 platforms. The 109 APCS is managing the mux and divider which feeds the CPUs. 110 Say Y if you want to support CPU frequency scaling on devices 111 such as SDX55, SDX65. 112 113config QCOM_CLK_RPM 114 tristate "RPM based Clock Controller" 115 depends on MFD_QCOM_RPM 116 select QCOM_RPMCC 117 help 118 The RPM (Resource Power Manager) is a dedicated hardware engine for 119 managing the shared SoC resources in order to keep the lowest power 120 profile. It communicates with other hardware subsystems via shared 121 memory and accepts clock requests, aggregates the requests and turns 122 the clocks on/off or scales them on demand. 123 Say Y if you want to support the clocks exposed by the RPM on 124 platforms such as apq8064, msm8660, msm8960 etc. 125 126config QCOM_CLK_SMD_RPM 127 tristate "RPM over SMD based Clock Controller" 128 depends on QCOM_SMD_RPM 129 select QCOM_RPMCC 130 help 131 The RPM (Resource Power Manager) is a dedicated hardware engine for 132 managing the shared SoC resources in order to keep the lowest power 133 profile. It communicates with other hardware subsystems via shared 134 memory and accepts clock requests, aggregates the requests and turns 135 the clocks on/off or scales them on demand. 136 Say Y if you want to support the clocks exposed by the RPM on 137 platforms such as apq8016, apq8084, msm8974 etc. 138 139config QCOM_CLK_RPMH 140 tristate "RPMh Clock Driver" 141 depends on QCOM_RPMH 142 help 143 RPMh manages shared resources on some Qualcomm Technologies, Inc. 144 SoCs. It accepts requests from other hardware subsystems via RSC. 145 Say Y if you want to support the clocks exposed by RPMh on 146 platforms such as SDM845. 147 148config APQ_GCC_8084 149 tristate "APQ8084 Global Clock Controller" 150 depends on ARM || COMPILE_TEST 151 select QCOM_GDSC 152 help 153 Support for the global clock controller on apq8084 devices. 154 Say Y if you want to use peripheral devices such as UART, SPI, 155 i2c, USB, SD/eMMC, SATA, PCIe, etc. 156 157config APQ_MMCC_8084 158 tristate "APQ8084 Multimedia Clock Controller" 159 depends on ARM || COMPILE_TEST 160 select APQ_GCC_8084 161 select QCOM_GDSC 162 help 163 Support for the multimedia clock controller on apq8084 devices. 164 Say Y if you want to support multimedia devices such as display, 165 graphics, video encode/decode, camera, etc. 166 167config IPQ_APSS_PLL 168 tristate "IPQ APSS PLL" 169 help 170 Support for APSS PLL on ipq devices. The APSS PLL is the main 171 clock that feeds the CPUs on ipq based devices. 172 Say Y if you want to support CPU frequency scaling on ipq based 173 devices. 174 175config IPQ_APSS_6018 176 tristate "IPQ APSS Clock Controller" 177 select IPQ_APSS_PLL 178 depends on QCOM_APCS_IPC || COMPILE_TEST 179 depends on QCOM_SMEM 180 help 181 Support for APSS clock controller on IPQ platforms. The 182 APSS clock controller manages the Mux and enable block that feeds the 183 CPUs. 184 Say Y if you want to support CPU frequency scaling on 185 ipq based devices. 186 187config IPQ_GCC_4019 188 tristate "IPQ4019 Global Clock Controller" 189 help 190 Support for the global clock controller on ipq4019 devices. 191 Say Y if you want to use peripheral devices such as UART, SPI, 192 i2c, USB, SD/eMMC, etc. 193 194config IPQ_GCC_5018 195 tristate "IPQ5018 Global Clock Controller" 196 depends on ARM64 || COMPILE_TEST 197 help 198 Support for global clock controller on ipq5018 devices. 199 Say Y if you want to use peripheral devices such as UART, SPI, 200 i2c, USB, SD/eMMC, etc. 201 202config IPQ_GCC_5332 203 tristate "IPQ5332 Global Clock Controller" 204 depends on ARM64 || COMPILE_TEST 205 help 206 Support for the global clock controller on ipq5332 devices. 207 Say Y if you want to use peripheral devices such as UART, SPI, 208 i2c, USB, SD/eMMC, etc. 209 210config IPQ_GCC_6018 211 tristate "IPQ6018 Global Clock Controller" 212 help 213 Support for global clock controller on ipq6018 devices. 214 Say Y if you want to use peripheral devices such as UART, SPI, 215 i2c, USB, SD/eMMC, etc. Select this for the root clock 216 of ipq6018. 217 218config IPQ_GCC_806X 219 tristate "IPQ806x Global Clock Controller" 220 depends on ARM || COMPILE_TEST 221 help 222 Support for the global clock controller on ipq806x devices. 223 Say Y if you want to use peripheral devices such as UART, SPI, 224 i2c, USB, SD/eMMC, etc. 225 226config IPQ_LCC_806X 227 tristate "IPQ806x LPASS Clock Controller" 228 depends on ARM || COMPILE_TEST 229 select IPQ_GCC_806X 230 help 231 Support for the LPASS clock controller on ipq806x devices. 232 Say Y if you want to use audio devices such as i2s, pcm, 233 S/PDIF, etc. 234 235config IPQ_GCC_8074 236 tristate "IPQ8074 Global Clock Controller" 237 select QCOM_GDSC 238 help 239 Support for global clock controller on ipq8074 devices. 240 Say Y if you want to use peripheral devices such as UART, SPI, 241 i2c, USB, SD/eMMC, etc. Select this for the root clock 242 of ipq8074. 243 244config IPQ_GCC_9574 245 tristate "IPQ9574 Global Clock Controller" 246 help 247 Support for global clock controller on ipq9574 devices. 248 Say Y if you want to use peripheral devices such as UART, SPI, 249 i2c, USB, SD/eMMC, etc. Select this for the root clock 250 of ipq9574. 251 252config IPQ_NSSCC_QCA8K 253 tristate "QCA8K(QCA8386 or QCA8084) NSS Clock Controller" 254 depends on MDIO_BUS || COMPILE_TEST 255 help 256 Support for NSS(Network SubSystem) clock controller on 257 qca8386/qca8084 chip. 258 Say Y or M if you want to use network features of switch or 259 PHY device. Select this for the root clock of qca8k. 260 261config MSM_GCC_8660 262 tristate "MSM8660 Global Clock Controller" 263 depends on ARM || COMPILE_TEST 264 help 265 Support for the global clock controller on msm8660 devices. 266 Say Y if you want to use peripheral devices such as UART, SPI, 267 i2c, USB, SD/eMMC, etc. 268 269config MSM_GCC_8909 270 tristate "MSM8909 Global Clock Controller" 271 depends on ARM || COMPILE_TEST 272 select QCOM_GDSC 273 help 274 Support for the global clock controller on msm8909 devices. 275 Say Y if you want to use devices such as UART, SPI, I2C, USB, 276 SD/eMMC, display, graphics, camera etc. 277 278config MSM_GCC_8916 279 tristate "MSM8916 Global Clock Controller" 280 select QCOM_GDSC 281 help 282 Support for the global clock controller on msm8916 devices. 283 Say Y if you want to use devices such as UART, SPI i2c, USB, 284 SD/eMMC, display, graphics, camera etc. 285 286config MSM_GCC_8917 287 tristate "MSM8917/QM215 Global Clock Controller" 288 depends on ARM64 || COMPILE_TEST 289 select QCOM_GDSC 290 help 291 Support for the global clock controller on msm8917 and qm215 292 devices. 293 Say Y if you want to use devices such as UART, SPI i2c, USB, 294 SD/eMMC, display, graphics, camera etc. 295 296config MSM_GCC_8939 297 tristate "MSM8939 Global Clock Controller" 298 select QCOM_GDSC 299 help 300 Support for the global clock controller on msm8939 devices. 301 Say Y if you want to use devices such as UART, SPI i2c, USB, 302 SD/eMMC, display, graphics, camera etc. 303 304config MSM_GCC_8960 305 tristate "APQ8064/MSM8960 Global Clock Controller" 306 depends on ARM || COMPILE_TEST 307 help 308 Support for the global clock controller on apq8064/msm8960 devices. 309 Say Y if you want to use peripheral devices such as UART, SPI, 310 i2c, USB, SD/eMMC, SATA, PCIe, etc. 311 312config MSM_LCC_8960 313 tristate "APQ8064/MSM8960/MDM9650 LPASS Clock Controller" 314 depends on ARM || COMPILE_TEST 315 help 316 Support for the LPASS clock controller on apq8064/msm8960/mdm9650 317 devices. 318 Say Y if you want to use audio devices such as i2s, pcm, 319 SLIMBus, etc. 320 321config MDM_GCC_9607 322 tristate "MDM9607 Global Clock Controller" 323 depends on ARM || COMPILE_TEST 324 help 325 Support for the global clock controller on mdm9607 devices. 326 Say Y if you want to use peripheral devices such as UART, SPI, 327 I2C, USB, SD/eMMC, etc. 328 329config MDM_GCC_9615 330 tristate "MDM9615 Global Clock Controller" 331 depends on ARM || COMPILE_TEST 332 help 333 Support for the global clock controller on mdm9615 devices. 334 Say Y if you want to use peripheral devices such as UART, SPI, 335 i2c, USB, SD/eMMC, etc. 336 337config MSM_MMCC_8960 338 tristate "MSM8960 Multimedia Clock Controller" 339 depends on ARM || COMPILE_TEST 340 select MSM_GCC_8960 341 help 342 Support for the multimedia clock controller on msm8960 devices. 343 Say Y if you want to support multimedia devices such as display, 344 graphics, video encode/decode, camera, etc. 345 346config MSM_GCC_8953 347 tristate "MSM8953 Global Clock Controller" 348 select QCOM_GDSC 349 help 350 Support for the global clock controller on msm8953 devices. 351 Say Y if you want to use devices such as UART, SPI i2c, USB, 352 SD/eMMC, display, graphics, camera etc. 353 354config MSM_GCC_8974 355 tristate "MSM8974 Global Clock Controller" 356 depends on ARM || COMPILE_TEST 357 select QCOM_GDSC 358 help 359 Support for the global clock controller on msm8974 devices. 360 Say Y if you want to use peripheral devices such as UART, SPI, 361 i2c, USB, SD/eMMC, SATA, PCIe, etc. 362 363config MSM_MMCC_8974 364 tristate "MSM8974 Multimedia Clock Controller" 365 depends on ARM || COMPILE_TEST 366 select MSM_GCC_8974 367 select QCOM_GDSC 368 help 369 Support for the multimedia clock controller on msm8974 devices. 370 Say Y if you want to support multimedia devices such as display, 371 graphics, video encode/decode, camera, etc. 372 373config MSM_GCC_8976 374 tristate "MSM8956/76 Global Clock Controller" 375 select QCOM_GDSC 376 help 377 Support for the global clock controller on msm8956/76 devices. 378 Say Y if you want to use peripheral devices such as UART, SPI, 379 i2c, USB, SD/eMMC, SATA, PCIe, etc. 380 381config MSM_MMCC_8994 382 tristate "MSM8994 Multimedia Clock Controller" 383 select MSM_GCC_8994 384 select QCOM_GDSC 385 help 386 Support for the multimedia clock controller on msm8994 devices. 387 Say Y if you want to support multimedia devices such as display, 388 graphics, video encode/decode, camera, etc. 389 390config MSM_GCC_8994 391 tristate "MSM8994 Global Clock Controller" 392 help 393 Support for the global clock controller on msm8994 devices. 394 Say Y if you want to use peripheral devices such as UART, SPI, 395 i2c, USB, UFS, SD/eMMC, PCIe, etc. 396 397config MSM_GCC_8996 398 tristate "MSM8996 Global Clock Controller" 399 select QCOM_GDSC 400 help 401 Support for the global clock controller on msm8996 devices. 402 Say Y if you want to use peripheral devices such as UART, SPI, 403 i2c, USB, UFS, SD/eMMC, PCIe, etc. 404 405config MSM_MMCC_8996 406 tristate "MSM8996 Multimedia Clock Controller" 407 select MSM_GCC_8996 408 select QCOM_GDSC 409 help 410 Support for the multimedia clock controller on msm8996 devices. 411 Say Y if you want to support multimedia devices such as display, 412 graphics, video encode/decode, camera, etc. 413 414config MSM_GCC_8998 415 tristate "MSM8998 Global Clock Controller" 416 select QCOM_GDSC 417 help 418 Support for the global clock controller on msm8998 devices. 419 Say Y if you want to use peripheral devices such as UART, SPI, 420 i2c, USB, UFS, SD/eMMC, PCIe, etc. 421 422config MSM_GPUCC_8998 423 tristate "MSM8998 Graphics Clock Controller" 424 select MSM_GCC_8998 425 select QCOM_GDSC 426 help 427 Support for the graphics clock controller on MSM8998 devices. 428 Say Y if you want to support graphics controller devices and 429 functionality such as 3D graphics. 430 431config MSM_MMCC_8998 432 tristate "MSM8998 Multimedia Clock Controller" 433 select MSM_GCC_8998 434 select QCOM_GDSC 435 help 436 Support for the multimedia clock controller on msm8998 devices. 437 Say Y if you want to support multimedia devices such as display, 438 graphics, video encode/decode, camera, etc. 439 440config QCM_GCC_2290 441 tristate "QCM2290 Global Clock Controller" 442 select QCOM_GDSC 443 help 444 Support for the global clock controller on QCM2290 devices. 445 Say Y if you want to use multimedia devices or peripheral 446 devices such as UART, SPI, I2C, USB, SD/eMMC etc. 447 448config QCM_DISPCC_2290 449 tristate "QCM2290 Display Clock Controller" 450 select QCM_GCC_2290 451 help 452 Support for the display clock controller on Qualcomm Technologies, Inc 453 QCM2290 devices. 454 Say Y if you want to support display devices and functionality such as 455 splash screen. 456 457config QCS_GCC_404 458 tristate "QCS404 Global Clock Controller" 459 help 460 Support for the global clock controller on QCS404 devices. 461 Say Y if you want to use multimedia devices or peripheral 462 devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. 463 464config SC_CAMCC_7180 465 tristate "SC7180 Camera Clock Controller" 466 depends on ARM64 || COMPILE_TEST 467 select SC_GCC_7180 468 help 469 Support for the camera clock controller on Qualcomm Technologies, Inc 470 SC7180 devices. 471 Say Y if you want to support camera devices and functionality such as 472 capturing pictures. 473 474config SC_CAMCC_7280 475 tristate "SC7280 Camera Clock Controller" 476 depends on ARM64 || COMPILE_TEST 477 select SC_GCC_7280 478 help 479 Support for the camera clock controller on Qualcomm Technologies, Inc 480 SC7280 devices. 481 Say Y if you want to support camera devices and functionality such as 482 capturing pictures. 483 484config SC_CAMCC_8280XP 485 tristate "SC8280XP Camera Clock Controller" 486 depends on ARM64 || COMPILE_TEST 487 select SC_GCC_8280XP 488 help 489 Support for the camera clock controller on Qualcomm Technologies, Inc 490 SC8280XP devices. 491 Say Y if you want to support camera devices and functionality such as 492 capturing pictures. 493 494config SC_DISPCC_7180 495 tristate "SC7180 Display Clock Controller" 496 depends on ARM64 || COMPILE_TEST 497 select SC_GCC_7180 498 help 499 Support for the display clock controller on Qualcomm Technologies, Inc 500 SC7180 devices. 501 Say Y if you want to support display devices and functionality such as 502 splash screen. 503 504config SC_DISPCC_7280 505 tristate "SC7280 Display Clock Controller" 506 depends on ARM64 || COMPILE_TEST 507 select SC_GCC_7280 508 help 509 Support for the display clock controller on Qualcomm Technologies, Inc. 510 SC7280 devices. 511 Say Y if you want to support display devices and functionality such as 512 splash screen. 513 514config SC_DISPCC_8280XP 515 tristate "SC8280XP Display Clock Controller" 516 depends on ARM64 || COMPILE_TEST 517 select SC_GCC_8280XP 518 help 519 Support for the two display clock controllers on Qualcomm 520 Technologies, Inc. SC8280XP devices. 521 Say Y if you want to support display devices and functionality such as 522 splash screen. 523 524config SA_GCC_8775P 525 tristate "SA8775 Global Clock Controller" 526 select QCOM_GDSC 527 depends on COMMON_CLK_QCOM 528 help 529 Support for the global clock controller on SA8775 devices. 530 Say Y if you want to use peripheral devices such as UART, SPI, 531 I2C, USB, UFS, SDCC, etc. 532 533config SA_GPUCC_8775P 534 tristate "SA8775P Graphics clock controller" 535 select QCOM_GDSC 536 select SA_GCC_8775P 537 help 538 Support for the graphics clock controller on SA8775P devices. 539 Say Y if you want to support graphics controller devices and 540 functionality such as 3D graphics. 541 542config SC_GCC_7180 543 tristate "SC7180 Global Clock Controller" 544 select QCOM_GDSC 545 depends on COMMON_CLK_QCOM 546 depends on ARM64 || COMPILE_TEST 547 help 548 Support for the global clock controller on SC7180 devices. 549 Say Y if you want to use peripheral devices such as UART, SPI, 550 I2C, USB, UFS, SDCC, etc. 551 552config SC_GCC_7280 553 tristate "SC7280 Global Clock Controller" 554 select QCOM_GDSC 555 depends on COMMON_CLK_QCOM 556 depends on ARM64 || COMPILE_TEST 557 help 558 Support for the global clock controller on SC7280 devices. 559 Say Y if you want to use peripheral devices such as UART, SPI, 560 I2C, USB, UFS, SDCC, PCIe etc. 561 562config SC_GCC_8180X 563 tristate "SC8180X Global Clock Controller" 564 select QCOM_GDSC 565 depends on COMMON_CLK_QCOM 566 depends on ARM64 || COMPILE_TEST 567 help 568 Support for the global clock controller on SC8180X devices. 569 Say Y if you want to use peripheral devices such as UART, SPI, 570 I2C, USB, UFS, SDCC, etc. 571 572config SC_GCC_8280XP 573 tristate "SC8280XP Global Clock Controller" 574 select QCOM_GDSC 575 depends on COMMON_CLK_QCOM 576 depends on ARM64 || COMPILE_TEST 577 help 578 Support for the global clock controller on SC8280XP devices. 579 Say Y if you want to use peripheral devices such as UART, SPI, 580 I2C, USB, UFS, SDCC, etc. 581 582config SC_GPUCC_7180 583 tristate "SC7180 Graphics Clock Controller" 584 depends on ARM64 || COMPILE_TEST 585 select SC_GCC_7180 586 help 587 Support for the graphics clock controller on SC7180 devices. 588 Say Y if you want to support graphics controller devices and 589 functionality such as 3D graphics. 590 591config SC_GPUCC_7280 592 tristate "SC7280 Graphics Clock Controller" 593 depends on ARM64 || COMPILE_TEST 594 select SC_GCC_7280 595 help 596 Support for the graphics clock controller on SC7280 devices. 597 Say Y if you want to support graphics controller devices and 598 functionality such as 3D graphics. 599 600config SC_GPUCC_8280XP 601 tristate "SC8280XP Graphics Clock Controller" 602 depends on ARM64 || COMPILE_TEST 603 select SC_GCC_8280XP 604 help 605 Support for the graphics clock controller on SC8280XP devices. 606 Say Y if you want to support graphics controller devices and 607 functionality such as 3D graphics. 608 609config SC_LPASSCC_7280 610 tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller" 611 depends on ARM64 || COMPILE_TEST 612 select SC_GCC_7280 613 help 614 Support for the LPASS clock controller on SC7280 devices. 615 Say Y if you want to use the LPASS branch clocks of the LPASS clock 616 controller to reset the LPASS subsystem. 617 618config SC_LPASSCC_8280XP 619 tristate "SC8280 Low Power Audio Subsystem (LPASS) Clock Controller" 620 depends on ARM64 || COMPILE_TEST 621 select SC_GCC_8280XP 622 help 623 Support for the LPASS clock controller on SC8280XP devices. 624 Say Y if you want to use the LPASS branch clocks of the LPASS clock 625 controller to reset the LPASS subsystem. 626 627config SC_LPASS_CORECC_7180 628 tristate "SC7180 LPASS Core Clock Controller" 629 depends on ARM64 || COMPILE_TEST 630 select SC_GCC_7180 631 help 632 Support for the LPASS(Low Power Audio Subsystem) core clock controller 633 on SC7180 devices. 634 Say Y if you want to use LPASS clocks and power domains of the LPASS 635 core clock controller. 636 637config SC_LPASS_CORECC_7280 638 tristate "SC7280 LPASS Core & Audio Clock Controller" 639 depends on ARM64 || COMPILE_TEST 640 select SC_GCC_7280 641 select QCOM_GDSC 642 help 643 Support for the LPASS(Low Power Audio Subsystem) core and audio clock 644 controller on SC7280 devices. 645 Say Y if you want to use LPASS clocks and power domains of the LPASS 646 core clock controller. 647 648config SC_VIDEOCC_7180 649 tristate "SC7180 Video Clock Controller" 650 depends on ARM64 || COMPILE_TEST 651 select SC_GCC_7180 652 help 653 Support for the video clock controller on SC7180 devices. 654 Say Y if you want to support video devices and functionality such as 655 video encode and decode. 656 657config SC_VIDEOCC_7280 658 tristate "SC7280 Video Clock Controller" 659 depends on ARM64 || COMPILE_TEST 660 select SC_GCC_7280 661 help 662 Support for the video clock controller on SC7280 devices. 663 Say Y if you want to support video devices and functionality such as 664 video encode and decode. 665 666config SDM_CAMCC_845 667 tristate "SDM845 Camera Clock Controller" 668 depends on ARM64 || COMPILE_TEST 669 select SDM_GCC_845 670 help 671 Support for the camera clock controller on SDM845 devices. 672 Say Y if you want to support camera devices and camera functionality. 673 674config SDM_GCC_660 675 tristate "SDM660 Global Clock Controller" 676 depends on ARM64 || COMPILE_TEST 677 select QCOM_GDSC 678 help 679 Support for the global clock controller on SDM660 devices. 680 Say Y if you want to use peripheral devices such as UART, SPI, 681 i2C, USB, UFS, SDDC, PCIe, etc. 682 683config SDM_MMCC_660 684 tristate "SDM660 Multimedia Clock Controller" 685 depends on ARM64 || COMPILE_TEST 686 select SDM_GCC_660 687 select QCOM_GDSC 688 help 689 Support for the multimedia clock controller on SDM660 devices. 690 Say Y if you want to support multimedia devices such as display, 691 graphics, video encode/decode, camera, etc. 692 693config SDM_GPUCC_660 694 tristate "SDM660 Graphics Clock Controller" 695 depends on ARM64 || COMPILE_TEST 696 select SDM_GCC_660 697 select QCOM_GDSC 698 help 699 Support for the graphics clock controller on SDM630/636/660 devices. 700 Say Y if you want to support graphics controller devices and 701 functionality such as 3D graphics 702 703config QCS_TURING_404 704 tristate "QCS404 Turing Clock Controller" 705 help 706 Support for the Turing Clock Controller on QCS404, provides clocks 707 and resets for the Turing subsystem. 708 709config QCS_Q6SSTOP_404 710 tristate "QCS404 Q6SSTOP Clock Controller" 711 select QCS_GCC_404 712 help 713 Support for the Q6SSTOP clock controller on QCS404 devices. 714 Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock 715 controller to reset the Q6SSTOP subsystem. 716 717config QDU_GCC_1000 718 tristate "QDU1000/QRU1000 Global Clock Controller" 719 select QCOM_GDSC 720 help 721 Support for the global clock controller on QDU1000 and 722 QRU1000 devices. Say Y if you want to use peripheral 723 devices such as UART, SPI, I2C, USB, SD, PCIe, etc. 724 725config QDU_ECPRICC_1000 726 tristate "QDU1000/QRU1000 ECPRI Clock Controller" 727 depends on ARM64 || COMPILE_TEST 728 select QDU_GCC_1000 729 help 730 Support for the ECPRI clock controller on QDU1000 and 731 QRU1000 devices. Say Y if you want to support the ECPRI 732 clock controller functionality such as Ethernet. 733 734config SDM_GCC_845 735 tristate "SDM845/SDM670 Global Clock Controller" 736 depends on ARM64 || COMPILE_TEST 737 select QCOM_GDSC 738 help 739 Support for the global clock controller on SDM845 and SDM670 devices. 740 Say Y if you want to use peripheral devices such as UART, SPI, 741 i2C, USB, UFS, SDDC, PCIe, etc. 742 743config SDM_GPUCC_845 744 tristate "SDM845 Graphics Clock Controller" 745 depends on ARM64 || COMPILE_TEST 746 select SDM_GCC_845 747 help 748 Support for the graphics clock controller on SDM845 devices. 749 Say Y if you want to support graphics controller devices and 750 functionality such as 3D graphics. 751 752config SDM_VIDEOCC_845 753 tristate "SDM845 Video Clock Controller" 754 depends on ARM64 || COMPILE_TEST 755 select SDM_GCC_845 756 select QCOM_GDSC 757 help 758 Support for the video clock controller on SDM845 devices. 759 Say Y if you want to support video devices and functionality such as 760 video encode and decode. 761 762config SDM_DISPCC_845 763 tristate "SDM845 Display Clock Controller" 764 depends on ARM64 || COMPILE_TEST 765 select SDM_GCC_845 766 help 767 Support for the display clock controller on Qualcomm Technologies, Inc 768 SDM845 devices. 769 Say Y if you want to support display devices and functionality such as 770 splash screen. 771 772config SDM_LPASSCC_845 773 tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" 774 depends on ARM64 || COMPILE_TEST 775 select SDM_GCC_845 776 help 777 Support for the LPASS clock controller on SDM845 devices. 778 Say Y if you want to use the LPASS branch clocks of the LPASS clock 779 controller to reset the LPASS subsystem. 780 781config SDX_GCC_55 782 tristate "SDX55 Global Clock Controller" 783 depends on ARM || COMPILE_TEST 784 select QCOM_GDSC 785 help 786 Support for the global clock controller on SDX55 devices. 787 Say Y if you want to use peripheral devices such as UART, 788 SPI, I2C, USB, SD/UFS, PCIe etc. 789 790config SDX_GCC_65 791 tristate "SDX65 Global Clock Controller" 792 depends on ARM || COMPILE_TEST 793 select QCOM_GDSC 794 help 795 Support for the global clock controller on SDX65 devices. 796 Say Y if you want to use peripheral devices such as UART, 797 SPI, I2C, USB, SD/UFS, PCIe etc. 798 799config SDX_GCC_75 800 tristate "SDX75 Global Clock Controller" 801 select QCOM_GDSC 802 help 803 Support for the global clock controller on SDX75 devices. 804 Say Y if you want to use peripheral devices such as UART, 805 SPI, I2C, USB, SD/eMMC, PCIe etc. 806 807config SM_CAMCC_6350 808 tristate "SM6350 Camera Clock Controller" 809 depends on ARM64 || COMPILE_TEST 810 select SM_GCC_6350 811 help 812 Support for the camera clock controller on SM6350 devices. 813 Say Y if you want to support camera devices and camera functionality. 814 815config SM_CAMCC_7150 816 tristate "SM7150 Camera Clock Controller" 817 depends on ARM64 || COMPILE_TEST 818 select SM_GCC_7150 819 help 820 Support for the camera clock controller on SM7150 devices. 821 Say Y if you want to support camera devices and camera functionality. 822 823config SM_CAMCC_8250 824 tristate "SM8250 Camera Clock Controller" 825 depends on ARM64 || COMPILE_TEST 826 select SM_GCC_8250 827 help 828 Support for the camera clock controller on SM8250 devices. 829 Say Y if you want to support camera devices and camera functionality. 830 831config SM_CAMCC_8450 832 tristate "SM8450 Camera Clock Controller" 833 depends on ARM64 || COMPILE_TEST 834 select SM_GCC_8450 835 help 836 Support for the camera clock controller on SM8450 devices. 837 Say Y if you want to support camera devices and camera functionality. 838 839config SM_CAMCC_8550 840 tristate "SM8550 Camera Clock Controller" 841 depends on ARM64 || COMPILE_TEST 842 select SM_GCC_8550 843 help 844 Support for the camera clock controller on SM8550 devices. 845 Say Y if you want to support camera devices and camera functionality. 846 847config SM_DISPCC_6115 848 tristate "SM6115 Display Clock Controller" 849 depends on ARM64 || COMPILE_TEST 850 depends on SM_GCC_6115 851 help 852 Support for the display clock controller on Qualcomm Technologies, Inc 853 SM6115/SM4250 devices. 854 Say Y if you want to support display devices and functionality such as 855 splash screen 856 857config SM_DISPCC_6125 858 tristate "SM6125 Display Clock Controller" 859 depends on ARM64 || COMPILE_TEST 860 depends on SM_GCC_6125 861 help 862 Support for the display clock controller on Qualcomm Technologies, Inc 863 SM6125 devices. 864 Say Y if you want to support display devices and functionality such as 865 splash screen 866 867config SM_DISPCC_7150 868 tristate "SM7150 Display Clock Controller" 869 depends on ARM64 || COMPILE_TEST 870 depends on SM_GCC_7150 871 help 872 Support for the display clock controller on Qualcomm Technologies, Inc 873 SM7150 devices. 874 Say Y if you want to support display devices and functionality such as 875 splash screen. 876 877config SM_DISPCC_8250 878 tristate "SM8150/SM8250/SM8350 Display Clock Controller" 879 depends on ARM64 || COMPILE_TEST 880 depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350 881 help 882 Support for the display clock controller on Qualcomm Technologies, Inc 883 SM8150/SM8250/SM8350 devices. 884 Say Y if you want to support display devices and functionality such as 885 splash screen. 886 887config SM_DISPCC_6350 888 tristate "SM6350 Display Clock Controller" 889 depends on ARM64 || COMPILE_TEST 890 depends on SM_GCC_6350 891 help 892 Support for the display clock controller on Qualcomm Technologies, Inc 893 SM6350 devices. 894 Say Y if you want to support display devices and functionality such as 895 splash screen. 896 897config SM_DISPCC_6375 898 tristate "SM6375 Display Clock Controller" 899 depends on ARM64 || COMPILE_TEST 900 depends on SM_GCC_6375 901 help 902 Support for the display clock controller on Qualcomm Technologies, Inc 903 SM6375 devices. 904 Say Y if you want to support display devices and functionality such as 905 splash screen. 906 907config SM_DISPCC_8450 908 tristate "SM8450 Display Clock Controller" 909 depends on ARM64 || COMPILE_TEST 910 depends on SM_GCC_8450 911 help 912 Support for the display clock controller on Qualcomm Technologies, Inc 913 SM8450 devices. 914 Say Y if you want to support display devices and functionality such as 915 splash screen. 916 917config SM_DISPCC_8550 918 tristate "SM8550 Display Clock Controller" 919 depends on ARM64 || COMPILE_TEST 920 depends on SM_GCC_8550 921 help 922 Support for the display clock controller on Qualcomm Technologies, Inc 923 SM8550 devices. 924 Say Y if you want to support display devices and functionality such as 925 splash screen. 926 927config SM_DISPCC_8650 928 tristate "SM8650 Display Clock Controller" 929 depends on ARM64 || COMPILE_TEST 930 select SM_GCC_8650 931 help 932 Support for the display clock controller on Qualcomm Technologies, Inc 933 SM8650 devices. 934 Say Y if you want to support display devices and functionality such as 935 splash screen. 936 937config SM_GCC_4450 938 tristate "SM4450 Global Clock Controller" 939 depends on ARM64 || COMPILE_TEST 940 select QCOM_GDSC 941 help 942 Support for the global clock controller on SM4450 devices. 943 Say Y if you want to use peripheral devices such as UART, SPI, 944 I2C, USB, SD/UFS, PCIe, etc. 945 946config SM_GCC_6115 947 tristate "SM6115 and SM4250 Global Clock Controller" 948 depends on ARM64 || COMPILE_TEST 949 select QCOM_GDSC 950 help 951 Support for the global clock controller on SM6115 and SM4250 devices. 952 Say Y if you want to use peripheral devices such as UART, SPI, 953 i2C, USB, UFS, SDDC, PCIe, etc. 954 955config SM_GCC_6125 956 tristate "SM6125 Global Clock Controller" 957 depends on ARM64 || COMPILE_TEST 958 help 959 Support for the global clock controller on SM6125 devices. 960 Say Y if you want to use peripheral devices such as UART, 961 SPI, I2C, USB, SD/UFS, PCIe etc. 962 963config SM_GCC_6350 964 tristate "SM6350 Global Clock Controller" 965 depends on ARM64 || COMPILE_TEST 966 select QCOM_GDSC 967 help 968 Support for the global clock controller on SM6350 devices. 969 Say Y if you want to use peripheral devices such as UART, 970 SPI, I2C, USB, SD/UFS, PCIe etc. 971 972config SM_GCC_6375 973 tristate "SM6375 Global Clock Controller" 974 depends on ARM64 || COMPILE_TEST 975 select QCOM_GDSC 976 help 977 Support for the global clock controller on SM6375 devices. 978 Say Y if you want to use peripheral devices such as UART, 979 SPI, I2C, USB, SD/UFS etc. 980 981config SM_GCC_7150 982 tristate "SM7150 Global Clock Controller" 983 depends on ARM64 || COMPILE_TEST 984 select QCOM_GDSC 985 help 986 Support for the global clock controller on SM7150 devices. 987 Say Y if you want to use peripheral devices such as UART, 988 SPI, I2C, USB, SD/UFS, PCIe etc. 989 990config SM_GCC_8150 991 tristate "SM8150 Global Clock Controller" 992 depends on ARM64 || COMPILE_TEST 993 help 994 Support for the global clock controller on SM8150 devices. 995 Say Y if you want to use peripheral devices such as UART, 996 SPI, I2C, USB, SD/UFS, PCIe etc. 997 998config SM_GCC_8250 999 tristate "SM8250 Global Clock Controller" 1000 depends on ARM64 || COMPILE_TEST 1001 select QCOM_GDSC 1002 help 1003 Support for the global clock controller on SM8250 devices. 1004 Say Y if you want to use peripheral devices such as UART, 1005 SPI, I2C, USB, SD/UFS, PCIe etc. 1006 1007config SM_GCC_8350 1008 tristate "SM8350 Global Clock Controller" 1009 depends on ARM64 || COMPILE_TEST 1010 select QCOM_GDSC 1011 help 1012 Support for the global clock controller on SM8350 devices. 1013 Say Y if you want to use peripheral devices such as UART, 1014 SPI, I2C, USB, SD/UFS, PCIe etc. 1015 1016config SM_GCC_8450 1017 tristate "SM8450 Global Clock Controller" 1018 depends on ARM64 || COMPILE_TEST 1019 select QCOM_GDSC 1020 help 1021 Support for the global clock controller on SM8450 devices. 1022 Say Y if you want to use peripheral devices such as UART, 1023 SPI, I2C, USB, SD/UFS, PCIe etc. 1024 1025config SM_GCC_8550 1026 tristate "SM8550 Global Clock Controller" 1027 depends on ARM64 || COMPILE_TEST 1028 select QCOM_GDSC 1029 help 1030 Support for the global clock controller on SM8550 devices. 1031 Say Y if you want to use peripheral devices such as UART, 1032 SPI, I2C, USB, SD/UFS, PCIe etc. 1033 1034config SM_GCC_8650 1035 tristate "SM8650 Global Clock Controller" 1036 depends on ARM64 || COMPILE_TEST 1037 select QCOM_GDSC 1038 help 1039 Support for the global clock controller on SM8650 devices. 1040 Say Y if you want to use peripheral devices such as UART, 1041 SPI, I2C, USB, SD/UFS, PCIe etc. 1042 1043config SM_GPUCC_6115 1044 tristate "SM6115 Graphics Clock Controller" 1045 select SM_GCC_6115 1046 depends on ARM64 || COMPILE_TEST 1047 help 1048 Support for the graphics clock controller on SM6115 devices. 1049 Say Y if you want to support graphics controller devices and 1050 functionality such as 3D graphics. 1051 1052config SM_GPUCC_6125 1053 tristate "SM6125 Graphics Clock Controller" 1054 select SM_GCC_6125 1055 depends on ARM64 || COMPILE_TEST 1056 help 1057 Support for the graphics clock controller on SM6125 devices. 1058 Say Y if you want to support graphics controller devices and 1059 functionality such as 3D graphics. 1060 1061config SM_GPUCC_6375 1062 tristate "SM6375 Graphics Clock Controller" 1063 select SM_GCC_6375 1064 depends on ARM64 || COMPILE_TEST 1065 help 1066 Support for the graphics clock controller on SM6375 devices. 1067 Say Y if you want to support graphics controller devices and 1068 functionality such as 3D graphics. 1069 1070config SM_GPUCC_6350 1071 tristate "SM6350 Graphics Clock Controller" 1072 depends on ARM64 || COMPILE_TEST 1073 select SM_GCC_6350 1074 help 1075 Support for the graphics clock controller on SM6350 devices. 1076 Say Y if you want to support graphics controller devices and 1077 functionality such as 3D graphics. 1078 1079config SM_GPUCC_8150 1080 tristate "SM8150 Graphics Clock Controller" 1081 depends on ARM64 || COMPILE_TEST 1082 select SM_GCC_8150 1083 help 1084 Support for the graphics clock controller on SM8150 devices. 1085 Say Y if you want to support graphics controller devices and 1086 functionality such as 3D graphics. 1087 1088config SM_GPUCC_8250 1089 tristate "SM8250 Graphics Clock Controller" 1090 depends on ARM64 || COMPILE_TEST 1091 select SM_GCC_8250 1092 help 1093 Support for the graphics clock controller on SM8250 devices. 1094 Say Y if you want to support graphics controller devices and 1095 functionality such as 3D graphics. 1096 1097config SM_GPUCC_8350 1098 tristate "SM8350 Graphics Clock Controller" 1099 depends on ARM64 || COMPILE_TEST 1100 select SM_GCC_8350 1101 help 1102 Support for the graphics clock controller on SM8350 devices. 1103 Say Y if you want to support graphics controller devices and 1104 functionality such as 3D graphics. 1105 1106config SM_GPUCC_8450 1107 tristate "SM8450 Graphics Clock Controller" 1108 depends on ARM64 || COMPILE_TEST 1109 select SM_GCC_8450 1110 help 1111 Support for the graphics clock controller on SM8450 devices. 1112 Say Y if you want to support graphics controller devices and 1113 functionality such as 3D graphics. 1114 1115config SM_GPUCC_8550 1116 tristate "SM8550 Graphics Clock Controller" 1117 depends on ARM64 || COMPILE_TEST 1118 select SM_GCC_8550 1119 help 1120 Support for the graphics clock controller on SM8550 devices. 1121 Say Y if you want to support graphics controller devices and 1122 functionality such as 3D graphics. 1123 1124config SM_GPUCC_8650 1125 tristate "SM8650 Graphics Clock Controller" 1126 depends on ARM64 || COMPILE_TEST 1127 select SM_GCC_8650 1128 help 1129 Support for the graphics clock controller on SM8650 devices. 1130 Say Y if you want to support graphics controller devices and 1131 functionality such as 3D graphics. 1132 1133config SM_TCSRCC_8550 1134 tristate "SM8550 TCSR Clock Controller" 1135 depends on ARM64 || COMPILE_TEST 1136 select QCOM_GDSC 1137 help 1138 Support for the TCSR clock controller on SM8550 devices. 1139 Say Y if you want to use peripheral devices such as SD/UFS. 1140 1141config SM_TCSRCC_8650 1142 tristate "SM8650 TCSR Clock Controller" 1143 depends on ARM64 || COMPILE_TEST 1144 select QCOM_GDSC 1145 help 1146 Support for the TCSR clock controller on SM8650 devices. 1147 Say Y if you want to use peripheral devices such as SD/UFS. 1148 1149config SM_VIDEOCC_7150 1150 tristate "SM7150 Video Clock Controller" 1151 depends on ARM64 || COMPILE_TEST 1152 select SM_GCC_7150 1153 select QCOM_GDSC 1154 help 1155 Support for the video clock controller on SM7150 devices. 1156 Say Y if you want to support video devices and functionality such as 1157 video encode and decode. 1158 1159config SM_VIDEOCC_8150 1160 tristate "SM8150 Video Clock Controller" 1161 depends on ARM64 || COMPILE_TEST 1162 select SM_GCC_8150 1163 select QCOM_GDSC 1164 help 1165 Support for the video clock controller on SM8150 devices. 1166 Say Y if you want to support video devices and functionality such as 1167 video encode and decode. 1168 1169config SM_VIDEOCC_8250 1170 tristate "SM8250 Video Clock Controller" 1171 depends on ARM64 || COMPILE_TEST 1172 select SM_GCC_8250 1173 select QCOM_GDSC 1174 help 1175 Support for the video clock controller on SM8250 devices. 1176 Say Y if you want to support video devices and functionality such as 1177 video encode and decode. 1178 1179config SM_VIDEOCC_8350 1180 tristate "SM8350 Video Clock Controller" 1181 depends on ARM64 || COMPILE_TEST 1182 select SM_GCC_8350 1183 select QCOM_GDSC 1184 help 1185 Support for the video clock controller on SM8350 devices. 1186 Say Y if you want to support video devices and functionality such as 1187 video encode and decode. 1188 1189config SM_VIDEOCC_8550 1190 tristate "SM8550 Video Clock Controller" 1191 depends on ARM64 || COMPILE_TEST 1192 select SM_GCC_8550 1193 select QCOM_GDSC 1194 help 1195 Support for the video clock controller on Qualcomm Technologies, Inc. 1196 SM8550 devices. 1197 Say Y if you want to support video devices and functionality such as 1198 video encode/decode. 1199 1200config SPMI_PMIC_CLKDIV 1201 tristate "SPMI PMIC clkdiv Support" 1202 depends on SPMI || COMPILE_TEST 1203 help 1204 This driver supports the clkdiv functionality on the Qualcomm 1205 Technologies, Inc. SPMI PMIC. It configures the frequency of 1206 clkdiv outputs of the PMIC. These clocks are typically wired 1207 through alternate functions on GPIO pins. 1208 1209config QCOM_HFPLL 1210 tristate "High-Frequency PLL (HFPLL) Clock Controller" 1211 help 1212 Support for the high-frequency PLLs present on Qualcomm devices. 1213 Say Y if you want to support CPU frequency scaling on devices 1214 such as MSM8974, APQ8084, etc. 1215 1216config KPSS_XCC 1217 tristate "KPSS Clock Controller" 1218 help 1219 Support for the Krait ACC and GCC clock controllers. Say Y 1220 if you want to support CPU frequency scaling on devices such 1221 as MSM8960, APQ8064, etc. 1222 1223config KRAITCC 1224 tristate "Krait Clock Controller" 1225 depends on ARM 1226 select KRAIT_CLOCKS 1227 help 1228 Support for the Krait CPU clocks on Qualcomm devices. 1229 Say Y if you want to support CPU frequency scaling. 1230 1231config CLK_GFM_LPASS_SM8250 1232 tristate "SM8250 GFM LPASS Clocks" 1233 depends on ARM64 || COMPILE_TEST 1234 help 1235 Support for the Glitch Free Mux (GFM) Low power audio 1236 subsystem (LPASS) clocks found on SM8250 SoCs. 1237 1238config SM_VIDEOCC_8450 1239 tristate "SM8450 Video Clock Controller" 1240 depends on ARM64 || COMPILE_TEST 1241 select SM_GCC_8450 1242 select QCOM_GDSC 1243 help 1244 Support for the video clock controller on Qualcomm Technologies, Inc. 1245 SM8450 devices. 1246 Say Y if you want to support video devices and functionality such as 1247 video encode/decode. 1248endif 1249