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_CAMCC_8550 769 tristate "SM8550 Camera Clock Controller" 770 select SM_GCC_8550 771 help 772 Support for the camera clock controller on SM8550 devices. 773 Say Y if you want to support camera devices and camera functionality. 774 775config SM_DISPCC_6115 776 tristate "SM6115 Display Clock Controller" 777 depends on ARM64 || COMPILE_TEST 778 depends on SM_GCC_6115 779 help 780 Support for the display clock controller on Qualcomm Technologies, Inc 781 SM6115/SM4250 devices. 782 Say Y if you want to support display devices and functionality such as 783 splash screen 784 785config SM_DISPCC_6125 786 tristate "SM6125 Display Clock Controller" 787 depends on ARM64 || COMPILE_TEST 788 depends on SM_GCC_6125 789 help 790 Support for the display clock controller on Qualcomm Technologies, Inc 791 SM6125 devices. 792 Say Y if you want to support display devices and functionality such as 793 splash screen 794 795config SM_DISPCC_8250 796 tristate "SM8150/SM8250/SM8350 Display Clock Controller" 797 depends on ARM64 || COMPILE_TEST 798 depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350 799 help 800 Support for the display clock controller on Qualcomm Technologies, Inc 801 SM8150/SM8250/SM8350 devices. 802 Say Y if you want to support display devices and functionality such as 803 splash screen. 804 805config SM_DISPCC_6350 806 tristate "SM6350 Display Clock Controller" 807 depends on ARM64 || COMPILE_TEST 808 depends on SM_GCC_6350 809 help 810 Support for the display clock controller on Qualcomm Technologies, Inc 811 SM6350 devices. 812 Say Y if you want to support display devices and functionality such as 813 splash screen. 814 815config SM_DISPCC_6375 816 tristate "SM6375 Display Clock Controller" 817 depends on ARM64 || COMPILE_TEST 818 depends on SM_GCC_6375 819 help 820 Support for the display clock controller on Qualcomm Technologies, Inc 821 SM6375 devices. 822 Say Y if you want to support display devices and functionality such as 823 splash screen. 824 825config SM_DISPCC_8450 826 tristate "SM8450 Display Clock Controller" 827 depends on ARM64 || COMPILE_TEST 828 depends on SM_GCC_8450 829 help 830 Support for the display clock controller on Qualcomm Technologies, Inc 831 SM8450 devices. 832 Say Y if you want to support display devices and functionality such as 833 splash screen. 834 835config SM_DISPCC_8550 836 tristate "SM8550 Display Clock Controller" 837 depends on ARM64 || COMPILE_TEST 838 depends on SM_GCC_8550 839 help 840 Support for the display clock controller on Qualcomm Technologies, Inc 841 SM8550 devices. 842 Say Y if you want to support display devices and functionality such as 843 splash screen. 844 845config SM_GCC_4450 846 tristate "SM4450 Global Clock Controller" 847 depends on ARM64 || COMPILE_TEST 848 select QCOM_GDSC 849 help 850 Support for the global clock controller on SM4450 devices. 851 Say Y if you want to use peripheral devices such as UART, SPI, 852 I2C, USB, SD/UFS, PCIe, etc. 853 854config SM_GCC_6115 855 tristate "SM6115 and SM4250 Global Clock Controller" 856 depends on ARM64 || COMPILE_TEST 857 select QCOM_GDSC 858 help 859 Support for the global clock controller on SM6115 and SM4250 devices. 860 Say Y if you want to use peripheral devices such as UART, SPI, 861 i2C, USB, UFS, SDDC, PCIe, etc. 862 863config SM_GCC_6125 864 tristate "SM6125 Global Clock Controller" 865 depends on ARM64 || COMPILE_TEST 866 help 867 Support for the global clock controller on SM6125 devices. 868 Say Y if you want to use peripheral devices such as UART, 869 SPI, I2C, USB, SD/UFS, PCIe etc. 870 871config SM_GCC_6350 872 tristate "SM6350 Global Clock Controller" 873 depends on ARM64 || COMPILE_TEST 874 select QCOM_GDSC 875 help 876 Support for the global clock controller on SM6350 devices. 877 Say Y if you want to use peripheral devices such as UART, 878 SPI, I2C, USB, SD/UFS, PCIe etc. 879 880config SM_GCC_6375 881 tristate "SM6375 Global Clock Controller" 882 depends on ARM64 || COMPILE_TEST 883 select QCOM_GDSC 884 help 885 Support for the global clock controller on SM6375 devices. 886 Say Y if you want to use peripheral devices such as UART, 887 SPI, I2C, USB, SD/UFS etc. 888 889config SM_GCC_7150 890 tristate "SM7150 Global Clock Controller" 891 select QCOM_GDSC 892 help 893 Support for the global clock controller on SM7150 devices. 894 Say Y if you want to use peripheral devices such as UART, 895 SPI, I2C, USB, SD/UFS, PCIe etc. 896 897config SM_GCC_8150 898 tristate "SM8150 Global Clock Controller" 899 depends on ARM64 || COMPILE_TEST 900 help 901 Support for the global clock controller on SM8150 devices. 902 Say Y if you want to use peripheral devices such as UART, 903 SPI, I2C, USB, SD/UFS, PCIe etc. 904 905config SM_GCC_8250 906 tristate "SM8250 Global Clock Controller" 907 depends on ARM64 || COMPILE_TEST 908 select QCOM_GDSC 909 help 910 Support for the global clock controller on SM8250 devices. 911 Say Y if you want to use peripheral devices such as UART, 912 SPI, I2C, USB, SD/UFS, PCIe etc. 913 914config SM_GCC_8350 915 tristate "SM8350 Global Clock Controller" 916 depends on ARM64 || COMPILE_TEST 917 select QCOM_GDSC 918 help 919 Support for the global clock controller on SM8350 devices. 920 Say Y if you want to use peripheral devices such as UART, 921 SPI, I2C, USB, SD/UFS, PCIe etc. 922 923config SM_GCC_8450 924 tristate "SM8450 Global Clock Controller" 925 depends on ARM64 || COMPILE_TEST 926 select QCOM_GDSC 927 help 928 Support for the global clock controller on SM8450 devices. 929 Say Y if you want to use peripheral devices such as UART, 930 SPI, I2C, USB, SD/UFS, PCIe etc. 931 932config SM_GCC_8550 933 tristate "SM8550 Global Clock Controller" 934 depends on ARM64 || COMPILE_TEST 935 select QCOM_GDSC 936 help 937 Support for the global clock controller on SM8550 devices. 938 Say Y if you want to use peripheral devices such as UART, 939 SPI, I2C, USB, SD/UFS, PCIe etc. 940 941config SM_GPUCC_6115 942 tristate "SM6115 Graphics Clock Controller" 943 select SM_GCC_6115 944 depends on ARM64 || COMPILE_TEST 945 help 946 Support for the graphics clock controller on SM6115 devices. 947 Say Y if you want to support graphics controller devices and 948 functionality such as 3D graphics. 949 950config SM_GPUCC_6125 951 tristate "SM6125 Graphics Clock Controller" 952 select SM_GCC_6125 953 depends on ARM64 || COMPILE_TEST 954 help 955 Support for the graphics clock controller on SM6125 devices. 956 Say Y if you want to support graphics controller devices and 957 functionality such as 3D graphics. 958 959config SM_GPUCC_6375 960 tristate "SM6375 Graphics Clock Controller" 961 select SM_GCC_6375 962 depends on ARM64 || COMPILE_TEST 963 help 964 Support for the graphics clock controller on SM6375 devices. 965 Say Y if you want to support graphics controller devices and 966 functionality such as 3D graphics. 967 968config SM_GPUCC_6350 969 tristate "SM6350 Graphics Clock Controller" 970 depends on ARM64 || COMPILE_TEST 971 select SM_GCC_6350 972 help 973 Support for the graphics clock controller on SM6350 devices. 974 Say Y if you want to support graphics controller devices and 975 functionality such as 3D graphics. 976 977config SM_GPUCC_8150 978 tristate "SM8150 Graphics Clock Controller" 979 depends on ARM64 || COMPILE_TEST 980 select SM_GCC_8150 981 help 982 Support for the graphics clock controller on SM8150 devices. 983 Say Y if you want to support graphics controller devices and 984 functionality such as 3D graphics. 985 986config SM_GPUCC_8250 987 tristate "SM8250 Graphics Clock Controller" 988 depends on ARM64 || COMPILE_TEST 989 select SM_GCC_8250 990 help 991 Support for the graphics clock controller on SM8250 devices. 992 Say Y if you want to support graphics controller devices and 993 functionality such as 3D graphics. 994 995config SM_GPUCC_8350 996 tristate "SM8350 Graphics Clock Controller" 997 depends on ARM64 || COMPILE_TEST 998 select SM_GCC_8350 999 help 1000 Support for the graphics clock controller on SM8350 devices. 1001 Say Y if you want to support graphics controller devices and 1002 functionality such as 3D graphics. 1003 1004config SM_GPUCC_8450 1005 tristate "SM8450 Graphics Clock Controller" 1006 depends on ARM64 || COMPILE_TEST 1007 select SM_GCC_8450 1008 help 1009 Support for the graphics clock controller on SM8450 devices. 1010 Say Y if you want to support graphics controller devices and 1011 functionality such as 3D graphics. 1012 1013config SM_GPUCC_8550 1014 tristate "SM8550 Graphics Clock Controller" 1015 depends on ARM64 || COMPILE_TEST 1016 select SM_GCC_8550 1017 help 1018 Support for the graphics clock controller on SM8550 devices. 1019 Say Y if you want to support graphics controller devices and 1020 functionality such as 3D graphics. 1021 1022config SM_TCSRCC_8550 1023 tristate "SM8550 TCSR Clock Controller" 1024 depends on ARM64 || COMPILE_TEST 1025 select QCOM_GDSC 1026 help 1027 Support for the TCSR clock controller on SM8550 devices. 1028 Say Y if you want to use peripheral devices such as SD/UFS. 1029 1030config SM_VIDEOCC_8150 1031 tristate "SM8150 Video Clock Controller" 1032 depends on ARM64 || COMPILE_TEST 1033 select SM_GCC_8150 1034 select QCOM_GDSC 1035 help 1036 Support for the video clock controller on SM8150 devices. 1037 Say Y if you want to support video devices and functionality such as 1038 video encode and decode. 1039 1040config SM_VIDEOCC_8250 1041 tristate "SM8250 Video Clock Controller" 1042 depends on ARM64 || COMPILE_TEST 1043 select SM_GCC_8250 1044 select QCOM_GDSC 1045 help 1046 Support for the video clock controller on SM8250 devices. 1047 Say Y if you want to support video devices and functionality such as 1048 video encode and decode. 1049 1050config SM_VIDEOCC_8350 1051 tristate "SM8350 Video Clock Controller" 1052 depends on ARM64 || COMPILE_TEST 1053 select SM_GCC_8350 1054 select QCOM_GDSC 1055 help 1056 Support for the video clock controller on SM8350 devices. 1057 Say Y if you want to support video devices and functionality such as 1058 video encode and decode. 1059 1060config SM_VIDEOCC_8550 1061 tristate "SM8550 Video Clock Controller" 1062 depends on ARM64 || COMPILE_TEST 1063 select SM_GCC_8550 1064 select QCOM_GDSC 1065 help 1066 Support for the video clock controller on Qualcomm Technologies, Inc. 1067 SM8550 devices. 1068 Say Y if you want to support video devices and functionality such as 1069 video encode/decode. 1070 1071config SPMI_PMIC_CLKDIV 1072 tristate "SPMI PMIC clkdiv Support" 1073 depends on SPMI || COMPILE_TEST 1074 help 1075 This driver supports the clkdiv functionality on the Qualcomm 1076 Technologies, Inc. SPMI PMIC. It configures the frequency of 1077 clkdiv outputs of the PMIC. These clocks are typically wired 1078 through alternate functions on GPIO pins. 1079 1080config QCOM_HFPLL 1081 tristate "High-Frequency PLL (HFPLL) Clock Controller" 1082 help 1083 Support for the high-frequency PLLs present on Qualcomm devices. 1084 Say Y if you want to support CPU frequency scaling on devices 1085 such as MSM8974, APQ8084, etc. 1086 1087config KPSS_XCC 1088 tristate "KPSS Clock Controller" 1089 help 1090 Support for the Krait ACC and GCC clock controllers. Say Y 1091 if you want to support CPU frequency scaling on devices such 1092 as MSM8960, APQ8064, etc. 1093 1094config KRAITCC 1095 tristate "Krait Clock Controller" 1096 depends on ARM 1097 select KRAIT_CLOCKS 1098 help 1099 Support for the Krait CPU clocks on Qualcomm devices. 1100 Say Y if you want to support CPU frequency scaling. 1101 1102config CLK_GFM_LPASS_SM8250 1103 tristate "SM8250 GFM LPASS Clocks" 1104 depends on ARM64 || COMPILE_TEST 1105 help 1106 Support for the Glitch Free Mux (GFM) Low power audio 1107 subsystem (LPASS) clocks found on SM8250 SoCs. 1108 1109config SM_VIDEOCC_8450 1110 tristate "SM8450 Video Clock Controller" 1111 depends on ARM64 || COMPILE_TEST 1112 select SM_GCC_8450 1113 select QCOM_GDSC 1114 help 1115 Support for the video clock controller on Qualcomm Technologies, Inc. 1116 SM8450 devices. 1117 Say Y if you want to support video devices and functionality such as 1118 video encode/decode. 1119endif 1120