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 MSM_GCC_8660 253 tristate "MSM8660 Global Clock Controller" 254 depends on ARM || COMPILE_TEST 255 help 256 Support for the global clock controller on msm8660 devices. 257 Say Y if you want to use peripheral devices such as UART, SPI, 258 i2c, USB, SD/eMMC, etc. 259 260config MSM_GCC_8909 261 tristate "MSM8909 Global Clock Controller" 262 depends on ARM || COMPILE_TEST 263 select QCOM_GDSC 264 help 265 Support for the global clock controller on msm8909 devices. 266 Say Y if you want to use devices such as UART, SPI, I2C, USB, 267 SD/eMMC, display, graphics, camera etc. 268 269config MSM_GCC_8916 270 tristate "MSM8916 Global Clock Controller" 271 select QCOM_GDSC 272 help 273 Support for the global clock controller on msm8916 devices. 274 Say Y if you want to use devices such as UART, SPI i2c, USB, 275 SD/eMMC, display, graphics, camera etc. 276 277config MSM_GCC_8917 278 tristate "MSM8917/QM215 Global Clock Controller" 279 depends on ARM64 || COMPILE_TEST 280 select QCOM_GDSC 281 help 282 Support for the global clock controller on msm8917 and qm215 283 devices. 284 Say Y if you want to use devices such as UART, SPI i2c, USB, 285 SD/eMMC, display, graphics, camera etc. 286 287config MSM_GCC_8939 288 tristate "MSM8939 Global Clock Controller" 289 select QCOM_GDSC 290 help 291 Support for the global clock controller on msm8939 devices. 292 Say Y if you want to use devices such as UART, SPI i2c, USB, 293 SD/eMMC, display, graphics, camera etc. 294 295config MSM_GCC_8960 296 tristate "APQ8064/MSM8960 Global Clock Controller" 297 depends on ARM || COMPILE_TEST 298 help 299 Support for the global clock controller on apq8064/msm8960 devices. 300 Say Y if you want to use peripheral devices such as UART, SPI, 301 i2c, USB, SD/eMMC, SATA, PCIe, etc. 302 303config MSM_LCC_8960 304 tristate "APQ8064/MSM8960/MDM9650 LPASS Clock Controller" 305 depends on ARM || COMPILE_TEST 306 help 307 Support for the LPASS clock controller on apq8064/msm8960/mdm9650 308 devices. 309 Say Y if you want to use audio devices such as i2s, pcm, 310 SLIMBus, etc. 311 312config MDM_GCC_9607 313 tristate "MDM9607 Global Clock Controller" 314 depends on ARM || COMPILE_TEST 315 help 316 Support for the global clock controller on mdm9607 devices. 317 Say Y if you want to use peripheral devices such as UART, SPI, 318 I2C, USB, SD/eMMC, etc. 319 320config MDM_GCC_9615 321 tristate "MDM9615 Global Clock Controller" 322 depends on ARM || COMPILE_TEST 323 help 324 Support for the global clock controller on mdm9615 devices. 325 Say Y if you want to use peripheral devices such as UART, SPI, 326 i2c, USB, SD/eMMC, etc. 327 328config MSM_MMCC_8960 329 tristate "MSM8960 Multimedia Clock Controller" 330 depends on ARM || COMPILE_TEST 331 select MSM_GCC_8960 332 help 333 Support for the multimedia clock controller on msm8960 devices. 334 Say Y if you want to support multimedia devices such as display, 335 graphics, video encode/decode, camera, etc. 336 337config MSM_GCC_8953 338 tristate "MSM8953 Global Clock Controller" 339 select QCOM_GDSC 340 help 341 Support for the global clock controller on msm8953 devices. 342 Say Y if you want to use devices such as UART, SPI i2c, USB, 343 SD/eMMC, display, graphics, camera etc. 344 345config MSM_GCC_8974 346 tristate "MSM8974 Global Clock Controller" 347 depends on ARM || COMPILE_TEST 348 select QCOM_GDSC 349 help 350 Support for the global clock controller on msm8974 devices. 351 Say Y if you want to use peripheral devices such as UART, SPI, 352 i2c, USB, SD/eMMC, SATA, PCIe, etc. 353 354config MSM_MMCC_8974 355 tristate "MSM8974 Multimedia Clock Controller" 356 depends on ARM || COMPILE_TEST 357 select MSM_GCC_8974 358 select QCOM_GDSC 359 help 360 Support for the multimedia clock controller on msm8974 devices. 361 Say Y if you want to support multimedia devices such as display, 362 graphics, video encode/decode, camera, etc. 363 364config MSM_GCC_8976 365 tristate "MSM8956/76 Global Clock Controller" 366 select QCOM_GDSC 367 help 368 Support for the global clock controller on msm8956/76 devices. 369 Say Y if you want to use peripheral devices such as UART, SPI, 370 i2c, USB, SD/eMMC, SATA, PCIe, etc. 371 372config MSM_MMCC_8994 373 tristate "MSM8994 Multimedia Clock Controller" 374 select MSM_GCC_8994 375 select QCOM_GDSC 376 help 377 Support for the multimedia clock controller on msm8994 devices. 378 Say Y if you want to support multimedia devices such as display, 379 graphics, video encode/decode, camera, etc. 380 381config MSM_GCC_8994 382 tristate "MSM8994 Global Clock Controller" 383 help 384 Support for the global clock controller on msm8994 devices. 385 Say Y if you want to use peripheral devices such as UART, SPI, 386 i2c, USB, UFS, SD/eMMC, PCIe, etc. 387 388config MSM_GCC_8996 389 tristate "MSM8996 Global Clock Controller" 390 select QCOM_GDSC 391 help 392 Support for the global clock controller on msm8996 devices. 393 Say Y if you want to use peripheral devices such as UART, SPI, 394 i2c, USB, UFS, SD/eMMC, PCIe, etc. 395 396config MSM_MMCC_8996 397 tristate "MSM8996 Multimedia Clock Controller" 398 select MSM_GCC_8996 399 select QCOM_GDSC 400 help 401 Support for the multimedia clock controller on msm8996 devices. 402 Say Y if you want to support multimedia devices such as display, 403 graphics, video encode/decode, camera, etc. 404 405config MSM_GCC_8998 406 tristate "MSM8998 Global Clock Controller" 407 select QCOM_GDSC 408 help 409 Support for the global clock controller on msm8998 devices. 410 Say Y if you want to use peripheral devices such as UART, SPI, 411 i2c, USB, UFS, SD/eMMC, PCIe, etc. 412 413config MSM_GPUCC_8998 414 tristate "MSM8998 Graphics Clock Controller" 415 select MSM_GCC_8998 416 select QCOM_GDSC 417 help 418 Support for the graphics clock controller on MSM8998 devices. 419 Say Y if you want to support graphics controller devices and 420 functionality such as 3D graphics. 421 422config MSM_MMCC_8998 423 tristate "MSM8998 Multimedia Clock Controller" 424 select MSM_GCC_8998 425 select QCOM_GDSC 426 help 427 Support for the multimedia clock controller on msm8998 devices. 428 Say Y if you want to support multimedia devices such as display, 429 graphics, video encode/decode, camera, etc. 430 431config QCM_GCC_2290 432 tristate "QCM2290 Global Clock Controller" 433 select QCOM_GDSC 434 help 435 Support for the global clock controller on QCM2290 devices. 436 Say Y if you want to use multimedia devices or peripheral 437 devices such as UART, SPI, I2C, USB, SD/eMMC etc. 438 439config QCM_DISPCC_2290 440 tristate "QCM2290 Display Clock Controller" 441 select QCM_GCC_2290 442 help 443 Support for the display clock controller on Qualcomm Technologies, Inc 444 QCM2290 devices. 445 Say Y if you want to support display devices and functionality such as 446 splash screen. 447 448config QCS_GCC_404 449 tristate "QCS404 Global Clock Controller" 450 help 451 Support for the global clock controller on QCS404 devices. 452 Say Y if you want to use multimedia devices or peripheral 453 devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. 454 455config SC_CAMCC_7180 456 tristate "SC7180 Camera Clock Controller" 457 depends on ARM64 || COMPILE_TEST 458 select SC_GCC_7180 459 help 460 Support for the camera clock controller on Qualcomm Technologies, Inc 461 SC7180 devices. 462 Say Y if you want to support camera devices and functionality such as 463 capturing pictures. 464 465config SC_CAMCC_7280 466 tristate "SC7280 Camera Clock Controller" 467 depends on ARM64 || COMPILE_TEST 468 select SC_GCC_7280 469 help 470 Support for the camera clock controller on Qualcomm Technologies, Inc 471 SC7280 devices. 472 Say Y if you want to support camera devices and functionality such as 473 capturing pictures. 474 475config SC_CAMCC_8280XP 476 tristate "SC8280XP Camera Clock Controller" 477 depends on ARM64 || COMPILE_TEST 478 select SC_GCC_8280XP 479 help 480 Support for the camera clock controller on Qualcomm Technologies, Inc 481 SC8280XP devices. 482 Say Y if you want to support camera devices and functionality such as 483 capturing pictures. 484 485config SC_DISPCC_7180 486 tristate "SC7180 Display Clock Controller" 487 depends on ARM64 || COMPILE_TEST 488 select SC_GCC_7180 489 help 490 Support for the display clock controller on Qualcomm Technologies, Inc 491 SC7180 devices. 492 Say Y if you want to support display devices and functionality such as 493 splash screen. 494 495config SC_DISPCC_7280 496 tristate "SC7280 Display Clock Controller" 497 depends on ARM64 || COMPILE_TEST 498 select SC_GCC_7280 499 help 500 Support for the display clock controller on Qualcomm Technologies, Inc. 501 SC7280 devices. 502 Say Y if you want to support display devices and functionality such as 503 splash screen. 504 505config SC_DISPCC_8280XP 506 tristate "SC8280XP Display Clock Controller" 507 depends on ARM64 || COMPILE_TEST 508 select SC_GCC_8280XP 509 help 510 Support for the two display clock controllers on Qualcomm 511 Technologies, Inc. SC8280XP devices. 512 Say Y if you want to support display devices and functionality such as 513 splash screen. 514 515config SA_GCC_8775P 516 tristate "SA8775 Global Clock Controller" 517 select QCOM_GDSC 518 depends on COMMON_CLK_QCOM 519 help 520 Support for the global clock controller on SA8775 devices. 521 Say Y if you want to use peripheral devices such as UART, SPI, 522 I2C, USB, UFS, SDCC, etc. 523 524config SA_GPUCC_8775P 525 tristate "SA8775P Graphics clock controller" 526 select QCOM_GDSC 527 select SA_GCC_8775P 528 help 529 Support for the graphics clock controller on SA8775P devices. 530 Say Y if you want to support graphics controller devices and 531 functionality such as 3D graphics. 532 533config SC_GCC_7180 534 tristate "SC7180 Global Clock Controller" 535 select QCOM_GDSC 536 depends on COMMON_CLK_QCOM 537 depends on ARM64 || COMPILE_TEST 538 help 539 Support for the global clock controller on SC7180 devices. 540 Say Y if you want to use peripheral devices such as UART, SPI, 541 I2C, USB, UFS, SDCC, etc. 542 543config SC_GCC_7280 544 tristate "SC7280 Global Clock Controller" 545 select QCOM_GDSC 546 depends on COMMON_CLK_QCOM 547 depends on ARM64 || COMPILE_TEST 548 help 549 Support for the global clock controller on SC7280 devices. 550 Say Y if you want to use peripheral devices such as UART, SPI, 551 I2C, USB, UFS, SDCC, PCIe etc. 552 553config SC_GCC_8180X 554 tristate "SC8180X Global Clock Controller" 555 select QCOM_GDSC 556 depends on COMMON_CLK_QCOM 557 depends on ARM64 || COMPILE_TEST 558 help 559 Support for the global clock controller on SC8180X devices. 560 Say Y if you want to use peripheral devices such as UART, SPI, 561 I2C, USB, UFS, SDCC, etc. 562 563config SC_GCC_8280XP 564 tristate "SC8280XP Global Clock Controller" 565 select QCOM_GDSC 566 depends on COMMON_CLK_QCOM 567 depends on ARM64 || COMPILE_TEST 568 help 569 Support for the global clock controller on SC8280XP devices. 570 Say Y if you want to use peripheral devices such as UART, SPI, 571 I2C, USB, UFS, SDCC, etc. 572 573config SC_GPUCC_7180 574 tristate "SC7180 Graphics Clock Controller" 575 depends on ARM64 || COMPILE_TEST 576 select SC_GCC_7180 577 help 578 Support for the graphics clock controller on SC7180 devices. 579 Say Y if you want to support graphics controller devices and 580 functionality such as 3D graphics. 581 582config SC_GPUCC_7280 583 tristate "SC7280 Graphics Clock Controller" 584 depends on ARM64 || COMPILE_TEST 585 select SC_GCC_7280 586 help 587 Support for the graphics clock controller on SC7280 devices. 588 Say Y if you want to support graphics controller devices and 589 functionality such as 3D graphics. 590 591config SC_GPUCC_8280XP 592 tristate "SC8280XP Graphics Clock Controller" 593 depends on ARM64 || COMPILE_TEST 594 select SC_GCC_8280XP 595 help 596 Support for the graphics clock controller on SC8280XP devices. 597 Say Y if you want to support graphics controller devices and 598 functionality such as 3D graphics. 599 600config SC_LPASSCC_7280 601 tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller" 602 depends on ARM64 || COMPILE_TEST 603 select SC_GCC_7280 604 help 605 Support for the LPASS clock controller on SC7280 devices. 606 Say Y if you want to use the LPASS branch clocks of the LPASS clock 607 controller to reset the LPASS subsystem. 608 609config SC_LPASSCC_8280XP 610 tristate "SC8280 Low Power Audio Subsystem (LPASS) Clock Controller" 611 depends on ARM64 || COMPILE_TEST 612 select SC_GCC_8280XP 613 help 614 Support for the LPASS clock controller on SC8280XP 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_LPASS_CORECC_7180 619 tristate "SC7180 LPASS Core Clock Controller" 620 depends on ARM64 || COMPILE_TEST 621 select SC_GCC_7180 622 help 623 Support for the LPASS(Low Power Audio Subsystem) core clock controller 624 on SC7180 devices. 625 Say Y if you want to use LPASS clocks and power domains of the LPASS 626 core clock controller. 627 628config SC_LPASS_CORECC_7280 629 tristate "SC7280 LPASS Core & Audio Clock Controller" 630 depends on ARM64 || COMPILE_TEST 631 select SC_GCC_7280 632 select QCOM_GDSC 633 help 634 Support for the LPASS(Low Power Audio Subsystem) core and audio clock 635 controller on SC7280 devices. 636 Say Y if you want to use LPASS clocks and power domains of the LPASS 637 core clock controller. 638 639config SC_VIDEOCC_7180 640 tristate "SC7180 Video Clock Controller" 641 depends on ARM64 || COMPILE_TEST 642 select SC_GCC_7180 643 help 644 Support for the video clock controller on SC7180 devices. 645 Say Y if you want to support video devices and functionality such as 646 video encode and decode. 647 648config SC_VIDEOCC_7280 649 tristate "SC7280 Video Clock Controller" 650 depends on ARM64 || COMPILE_TEST 651 select SC_GCC_7280 652 help 653 Support for the video clock controller on SC7280 devices. 654 Say Y if you want to support video devices and functionality such as 655 video encode and decode. 656 657config SDM_CAMCC_845 658 tristate "SDM845 Camera Clock Controller" 659 depends on ARM64 || COMPILE_TEST 660 select SDM_GCC_845 661 help 662 Support for the camera clock controller on SDM845 devices. 663 Say Y if you want to support camera devices and camera functionality. 664 665config SDM_GCC_660 666 tristate "SDM660 Global Clock Controller" 667 depends on ARM64 || COMPILE_TEST 668 select QCOM_GDSC 669 help 670 Support for the global clock controller on SDM660 devices. 671 Say Y if you want to use peripheral devices such as UART, SPI, 672 i2C, USB, UFS, SDDC, PCIe, etc. 673 674config SDM_MMCC_660 675 tristate "SDM660 Multimedia Clock Controller" 676 depends on ARM64 || COMPILE_TEST 677 select SDM_GCC_660 678 select QCOM_GDSC 679 help 680 Support for the multimedia clock controller on SDM660 devices. 681 Say Y if you want to support multimedia devices such as display, 682 graphics, video encode/decode, camera, etc. 683 684config SDM_GPUCC_660 685 tristate "SDM660 Graphics Clock Controller" 686 depends on ARM64 || COMPILE_TEST 687 select SDM_GCC_660 688 select QCOM_GDSC 689 help 690 Support for the graphics clock controller on SDM630/636/660 devices. 691 Say Y if you want to support graphics controller devices and 692 functionality such as 3D graphics 693 694config QCS_TURING_404 695 tristate "QCS404 Turing Clock Controller" 696 help 697 Support for the Turing Clock Controller on QCS404, provides clocks 698 and resets for the Turing subsystem. 699 700config QCS_Q6SSTOP_404 701 tristate "QCS404 Q6SSTOP Clock Controller" 702 select QCS_GCC_404 703 help 704 Support for the Q6SSTOP clock controller on QCS404 devices. 705 Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock 706 controller to reset the Q6SSTOP subsystem. 707 708config QDU_GCC_1000 709 tristate "QDU1000/QRU1000 Global Clock Controller" 710 select QCOM_GDSC 711 help 712 Support for the global clock controller on QDU1000 and 713 QRU1000 devices. Say Y if you want to use peripheral 714 devices such as UART, SPI, I2C, USB, SD, PCIe, etc. 715 716config QDU_ECPRICC_1000 717 tristate "QDU1000/QRU1000 ECPRI Clock Controller" 718 depends on ARM64 || COMPILE_TEST 719 select QDU_GCC_1000 720 help 721 Support for the ECPRI clock controller on QDU1000 and 722 QRU1000 devices. Say Y if you want to support the ECPRI 723 clock controller functionality such as Ethernet. 724 725config SDM_GCC_845 726 tristate "SDM845/SDM670 Global Clock Controller" 727 depends on ARM64 || COMPILE_TEST 728 select QCOM_GDSC 729 help 730 Support for the global clock controller on SDM845 and SDM670 devices. 731 Say Y if you want to use peripheral devices such as UART, SPI, 732 i2C, USB, UFS, SDDC, PCIe, etc. 733 734config SDM_GPUCC_845 735 tristate "SDM845 Graphics Clock Controller" 736 depends on ARM64 || COMPILE_TEST 737 select SDM_GCC_845 738 help 739 Support for the graphics clock controller on SDM845 devices. 740 Say Y if you want to support graphics controller devices and 741 functionality such as 3D graphics. 742 743config SDM_VIDEOCC_845 744 tristate "SDM845 Video Clock Controller" 745 depends on ARM64 || COMPILE_TEST 746 select SDM_GCC_845 747 select QCOM_GDSC 748 help 749 Support for the video clock controller on SDM845 devices. 750 Say Y if you want to support video devices and functionality such as 751 video encode and decode. 752 753config SDM_DISPCC_845 754 tristate "SDM845 Display Clock Controller" 755 depends on ARM64 || COMPILE_TEST 756 select SDM_GCC_845 757 help 758 Support for the display clock controller on Qualcomm Technologies, Inc 759 SDM845 devices. 760 Say Y if you want to support display devices and functionality such as 761 splash screen. 762 763config SDM_LPASSCC_845 764 tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" 765 depends on ARM64 || COMPILE_TEST 766 select SDM_GCC_845 767 help 768 Support for the LPASS clock controller on SDM845 devices. 769 Say Y if you want to use the LPASS branch clocks of the LPASS clock 770 controller to reset the LPASS subsystem. 771 772config SDX_GCC_55 773 tristate "SDX55 Global Clock Controller" 774 depends on ARM || COMPILE_TEST 775 select QCOM_GDSC 776 help 777 Support for the global clock controller on SDX55 devices. 778 Say Y if you want to use peripheral devices such as UART, 779 SPI, I2C, USB, SD/UFS, PCIe etc. 780 781config SDX_GCC_65 782 tristate "SDX65 Global Clock Controller" 783 depends on ARM || COMPILE_TEST 784 select QCOM_GDSC 785 help 786 Support for the global clock controller on SDX65 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_75 791 tristate "SDX75 Global Clock Controller" 792 select QCOM_GDSC 793 help 794 Support for the global clock controller on SDX75 devices. 795 Say Y if you want to use peripheral devices such as UART, 796 SPI, I2C, USB, SD/eMMC, PCIe etc. 797 798config SM_CAMCC_6350 799 tristate "SM6350 Camera Clock Controller" 800 depends on ARM64 || COMPILE_TEST 801 select SM_GCC_6350 802 help 803 Support for the camera clock controller on SM6350 devices. 804 Say Y if you want to support camera devices and camera functionality. 805 806config SM_CAMCC_8250 807 tristate "SM8250 Camera Clock Controller" 808 depends on ARM64 || COMPILE_TEST 809 select SM_GCC_8250 810 help 811 Support for the camera clock controller on SM8250 devices. 812 Say Y if you want to support camera devices and camera functionality. 813 814config SM_CAMCC_8450 815 tristate "SM8450 Camera Clock Controller" 816 depends on ARM64 || COMPILE_TEST 817 select SM_GCC_8450 818 help 819 Support for the camera clock controller on SM8450 devices. 820 Say Y if you want to support camera devices and camera functionality. 821 822config SM_CAMCC_8550 823 tristate "SM8550 Camera Clock Controller" 824 depends on ARM64 || COMPILE_TEST 825 select SM_GCC_8550 826 help 827 Support for the camera clock controller on SM8550 devices. 828 Say Y if you want to support camera devices and camera functionality. 829 830config SM_CAMCC_8650 831 tristate "SM8650 Camera Clock Controller" 832 depends on ARM64 || COMPILE_TEST 833 select SM_GCC_8650 834 help 835 Support for the camera clock controller on SM8650 devices. 836 Say Y if you want to support camera devices and camera functionality. 837 838config SM_DISPCC_6115 839 tristate "SM6115 Display Clock Controller" 840 depends on ARM64 || COMPILE_TEST 841 depends on SM_GCC_6115 842 help 843 Support for the display clock controller on Qualcomm Technologies, Inc 844 SM6115/SM4250 devices. 845 Say Y if you want to support display devices and functionality such as 846 splash screen 847 848config SM_DISPCC_6125 849 tristate "SM6125 Display Clock Controller" 850 depends on ARM64 || COMPILE_TEST 851 depends on SM_GCC_6125 852 help 853 Support for the display clock controller on Qualcomm Technologies, Inc 854 SM6125 devices. 855 Say Y if you want to support display devices and functionality such as 856 splash screen 857 858config SM_DISPCC_8250 859 tristate "SM8150/SM8250/SM8350 Display Clock Controller" 860 depends on ARM64 || COMPILE_TEST 861 depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350 862 help 863 Support for the display clock controller on Qualcomm Technologies, Inc 864 SM8150/SM8250/SM8350 devices. 865 Say Y if you want to support display devices and functionality such as 866 splash screen. 867 868config SM_DISPCC_6350 869 tristate "SM6350 Display Clock Controller" 870 depends on ARM64 || COMPILE_TEST 871 depends on SM_GCC_6350 872 help 873 Support for the display clock controller on Qualcomm Technologies, Inc 874 SM6350 devices. 875 Say Y if you want to support display devices and functionality such as 876 splash screen. 877 878config SM_DISPCC_6375 879 tristate "SM6375 Display Clock Controller" 880 depends on ARM64 || COMPILE_TEST 881 depends on SM_GCC_6375 882 help 883 Support for the display clock controller on Qualcomm Technologies, Inc 884 SM6375 devices. 885 Say Y if you want to support display devices and functionality such as 886 splash screen. 887 888config SM_DISPCC_8450 889 tristate "SM8450 Display Clock Controller" 890 depends on ARM64 || COMPILE_TEST 891 depends on SM_GCC_8450 892 help 893 Support for the display clock controller on Qualcomm Technologies, Inc 894 SM8450 devices. 895 Say Y if you want to support display devices and functionality such as 896 splash screen. 897 898config SM_DISPCC_8550 899 tristate "SM8550 Display Clock Controller" 900 depends on ARM64 || COMPILE_TEST 901 depends on SM_GCC_8550 902 help 903 Support for the display clock controller on Qualcomm Technologies, Inc 904 SM8550 devices. 905 Say Y if you want to support display devices and functionality such as 906 splash screen. 907 908config SM_DISPCC_8650 909 tristate "SM8650 Display Clock Controller" 910 depends on ARM64 || COMPILE_TEST 911 select SM_GCC_8650 912 help 913 Support for the display clock controller on Qualcomm Technologies, Inc 914 SM8650 devices. 915 Say Y if you want to support display devices and functionality such as 916 splash screen. 917 918config SM_GCC_4450 919 tristate "SM4450 Global Clock Controller" 920 depends on ARM64 || COMPILE_TEST 921 select QCOM_GDSC 922 help 923 Support for the global clock controller on SM4450 devices. 924 Say Y if you want to use peripheral devices such as UART, SPI, 925 I2C, USB, SD/UFS, PCIe, etc. 926 927config SM_GCC_6115 928 tristate "SM6115 and SM4250 Global Clock Controller" 929 depends on ARM64 || COMPILE_TEST 930 select QCOM_GDSC 931 help 932 Support for the global clock controller on SM6115 and SM4250 devices. 933 Say Y if you want to use peripheral devices such as UART, SPI, 934 i2C, USB, UFS, SDDC, PCIe, etc. 935 936config SM_GCC_6125 937 tristate "SM6125 Global Clock Controller" 938 depends on ARM64 || COMPILE_TEST 939 help 940 Support for the global clock controller on SM6125 devices. 941 Say Y if you want to use peripheral devices such as UART, 942 SPI, I2C, USB, SD/UFS, PCIe etc. 943 944config SM_GCC_6350 945 tristate "SM6350 Global Clock Controller" 946 depends on ARM64 || COMPILE_TEST 947 select QCOM_GDSC 948 help 949 Support for the global clock controller on SM6350 devices. 950 Say Y if you want to use peripheral devices such as UART, 951 SPI, I2C, USB, SD/UFS, PCIe etc. 952 953config SM_GCC_6375 954 tristate "SM6375 Global Clock Controller" 955 depends on ARM64 || COMPILE_TEST 956 select QCOM_GDSC 957 help 958 Support for the global clock controller on SM6375 devices. 959 Say Y if you want to use peripheral devices such as UART, 960 SPI, I2C, USB, SD/UFS etc. 961 962config SM_GCC_7150 963 tristate "SM7150 Global Clock Controller" 964 select QCOM_GDSC 965 help 966 Support for the global clock controller on SM7150 devices. 967 Say Y if you want to use peripheral devices such as UART, 968 SPI, I2C, USB, SD/UFS, PCIe etc. 969 970config SM_GCC_8150 971 tristate "SM8150 Global Clock Controller" 972 depends on ARM64 || COMPILE_TEST 973 help 974 Support for the global clock controller on SM8150 devices. 975 Say Y if you want to use peripheral devices such as UART, 976 SPI, I2C, USB, SD/UFS, PCIe etc. 977 978config SM_GCC_8250 979 tristate "SM8250 Global Clock Controller" 980 depends on ARM64 || COMPILE_TEST 981 select QCOM_GDSC 982 help 983 Support for the global clock controller on SM8250 devices. 984 Say Y if you want to use peripheral devices such as UART, 985 SPI, I2C, USB, SD/UFS, PCIe etc. 986 987config SM_GCC_8350 988 tristate "SM8350 Global Clock Controller" 989 depends on ARM64 || COMPILE_TEST 990 select QCOM_GDSC 991 help 992 Support for the global clock controller on SM8350 devices. 993 Say Y if you want to use peripheral devices such as UART, 994 SPI, I2C, USB, SD/UFS, PCIe etc. 995 996config SM_GCC_8450 997 tristate "SM8450 Global Clock Controller" 998 depends on ARM64 || COMPILE_TEST 999 select QCOM_GDSC 1000 help 1001 Support for the global clock controller on SM8450 devices. 1002 Say Y if you want to use peripheral devices such as UART, 1003 SPI, I2C, USB, SD/UFS, PCIe etc. 1004 1005config SM_GCC_8550 1006 tristate "SM8550 Global Clock Controller" 1007 depends on ARM64 || COMPILE_TEST 1008 select QCOM_GDSC 1009 help 1010 Support for the global clock controller on SM8550 devices. 1011 Say Y if you want to use peripheral devices such as UART, 1012 SPI, I2C, USB, SD/UFS, PCIe etc. 1013 1014config SM_GCC_8650 1015 tristate "SM8650 Global Clock Controller" 1016 depends on ARM64 || COMPILE_TEST 1017 select QCOM_GDSC 1018 help 1019 Support for the global clock controller on SM8650 devices. 1020 Say Y if you want to use peripheral devices such as UART, 1021 SPI, I2C, USB, SD/UFS, PCIe etc. 1022 1023config SM_GPUCC_6115 1024 tristate "SM6115 Graphics Clock Controller" 1025 select SM_GCC_6115 1026 depends on ARM64 || COMPILE_TEST 1027 help 1028 Support for the graphics clock controller on SM6115 devices. 1029 Say Y if you want to support graphics controller devices and 1030 functionality such as 3D graphics. 1031 1032config SM_GPUCC_6125 1033 tristate "SM6125 Graphics Clock Controller" 1034 select SM_GCC_6125 1035 depends on ARM64 || COMPILE_TEST 1036 help 1037 Support for the graphics clock controller on SM6125 devices. 1038 Say Y if you want to support graphics controller devices and 1039 functionality such as 3D graphics. 1040 1041config SM_GPUCC_6375 1042 tristate "SM6375 Graphics Clock Controller" 1043 select SM_GCC_6375 1044 depends on ARM64 || COMPILE_TEST 1045 help 1046 Support for the graphics clock controller on SM6375 devices. 1047 Say Y if you want to support graphics controller devices and 1048 functionality such as 3D graphics. 1049 1050config SM_GPUCC_6350 1051 tristate "SM6350 Graphics Clock Controller" 1052 depends on ARM64 || COMPILE_TEST 1053 select SM_GCC_6350 1054 help 1055 Support for the graphics clock controller on SM6350 devices. 1056 Say Y if you want to support graphics controller devices and 1057 functionality such as 3D graphics. 1058 1059config SM_GPUCC_8150 1060 tristate "SM8150 Graphics Clock Controller" 1061 depends on ARM64 || COMPILE_TEST 1062 select SM_GCC_8150 1063 help 1064 Support for the graphics clock controller on SM8150 devices. 1065 Say Y if you want to support graphics controller devices and 1066 functionality such as 3D graphics. 1067 1068config SM_GPUCC_8250 1069 tristate "SM8250 Graphics Clock Controller" 1070 depends on ARM64 || COMPILE_TEST 1071 select SM_GCC_8250 1072 help 1073 Support for the graphics clock controller on SM8250 devices. 1074 Say Y if you want to support graphics controller devices and 1075 functionality such as 3D graphics. 1076 1077config SM_GPUCC_8350 1078 tristate "SM8350 Graphics Clock Controller" 1079 depends on ARM64 || COMPILE_TEST 1080 select SM_GCC_8350 1081 help 1082 Support for the graphics clock controller on SM8350 devices. 1083 Say Y if you want to support graphics controller devices and 1084 functionality such as 3D graphics. 1085 1086config SM_GPUCC_8450 1087 tristate "SM8450 Graphics Clock Controller" 1088 depends on ARM64 || COMPILE_TEST 1089 select SM_GCC_8450 1090 help 1091 Support for the graphics clock controller on SM8450 devices. 1092 Say Y if you want to support graphics controller devices and 1093 functionality such as 3D graphics. 1094 1095config SM_GPUCC_8550 1096 tristate "SM8550 Graphics Clock Controller" 1097 depends on ARM64 || COMPILE_TEST 1098 select SM_GCC_8550 1099 help 1100 Support for the graphics clock controller on SM8550 devices. 1101 Say Y if you want to support graphics controller devices and 1102 functionality such as 3D graphics. 1103 1104config SM_GPUCC_8650 1105 tristate "SM8650 Graphics Clock Controller" 1106 depends on ARM64 || COMPILE_TEST 1107 select SM_GCC_8650 1108 help 1109 Support for the graphics clock controller on SM8650 devices. 1110 Say Y if you want to support graphics controller devices and 1111 functionality such as 3D graphics. 1112 1113config SM_TCSRCC_8550 1114 tristate "SM8550 TCSR Clock Controller" 1115 depends on ARM64 || COMPILE_TEST 1116 select QCOM_GDSC 1117 help 1118 Support for the TCSR clock controller on SM8550 devices. 1119 Say Y if you want to use peripheral devices such as SD/UFS. 1120 1121config SM_TCSRCC_8650 1122 tristate "SM8650 TCSR Clock Controller" 1123 depends on ARM64 || COMPILE_TEST 1124 select QCOM_GDSC 1125 help 1126 Support for the TCSR clock controller on SM8650 devices. 1127 Say Y if you want to use peripheral devices such as SD/UFS. 1128 1129config SM_VIDEOCC_8150 1130 tristate "SM8150 Video Clock Controller" 1131 depends on ARM64 || COMPILE_TEST 1132 select SM_GCC_8150 1133 select QCOM_GDSC 1134 help 1135 Support for the video clock controller on SM8150 devices. 1136 Say Y if you want to support video devices and functionality such as 1137 video encode and decode. 1138 1139config SM_VIDEOCC_8250 1140 tristate "SM8250 Video Clock Controller" 1141 depends on ARM64 || COMPILE_TEST 1142 select SM_GCC_8250 1143 select QCOM_GDSC 1144 help 1145 Support for the video clock controller on SM8250 devices. 1146 Say Y if you want to support video devices and functionality such as 1147 video encode and decode. 1148 1149config SM_VIDEOCC_8350 1150 tristate "SM8350 Video Clock Controller" 1151 depends on ARM64 || COMPILE_TEST 1152 select SM_GCC_8350 1153 select QCOM_GDSC 1154 help 1155 Support for the video clock controller on SM8350 devices. 1156 Say Y if you want to support video devices and functionality such as 1157 video encode and decode. 1158 1159config SM_VIDEOCC_8550 1160 tristate "SM8550 Video Clock Controller" 1161 depends on ARM64 || COMPILE_TEST 1162 select SM_GCC_8550 1163 select QCOM_GDSC 1164 help 1165 Support for the video clock controller on Qualcomm Technologies, Inc. 1166 SM8550 devices. 1167 Say Y if you want to support video devices and functionality such as 1168 video encode/decode. 1169 1170config SPMI_PMIC_CLKDIV 1171 tristate "SPMI PMIC clkdiv Support" 1172 depends on SPMI || COMPILE_TEST 1173 help 1174 This driver supports the clkdiv functionality on the Qualcomm 1175 Technologies, Inc. SPMI PMIC. It configures the frequency of 1176 clkdiv outputs of the PMIC. These clocks are typically wired 1177 through alternate functions on GPIO pins. 1178 1179config QCOM_HFPLL 1180 tristate "High-Frequency PLL (HFPLL) Clock Controller" 1181 help 1182 Support for the high-frequency PLLs present on Qualcomm devices. 1183 Say Y if you want to support CPU frequency scaling on devices 1184 such as MSM8974, APQ8084, etc. 1185 1186config KPSS_XCC 1187 tristate "KPSS Clock Controller" 1188 help 1189 Support for the Krait ACC and GCC clock controllers. Say Y 1190 if you want to support CPU frequency scaling on devices such 1191 as MSM8960, APQ8064, etc. 1192 1193config KRAITCC 1194 tristate "Krait Clock Controller" 1195 depends on ARM 1196 select KRAIT_CLOCKS 1197 help 1198 Support for the Krait CPU clocks on Qualcomm devices. 1199 Say Y if you want to support CPU frequency scaling. 1200 1201config CLK_GFM_LPASS_SM8250 1202 tristate "SM8250 GFM LPASS Clocks" 1203 depends on ARM64 || COMPILE_TEST 1204 help 1205 Support for the Glitch Free Mux (GFM) Low power audio 1206 subsystem (LPASS) clocks found on SM8250 SoCs. 1207 1208config SM_VIDEOCC_8450 1209 tristate "SM8450 Video Clock Controller" 1210 depends on ARM64 || COMPILE_TEST 1211 select SM_GCC_8450 1212 select QCOM_GDSC 1213 help 1214 Support for the video clock controller on Qualcomm Technologies, Inc. 1215 SM8450 devices. 1216 Say Y if you want to support video devices and functionality such as 1217 video encode/decode. 1218endif 1219