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