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_DISPCC_6115 831 tristate "SM6115 Display Clock Controller" 832 depends on ARM64 || COMPILE_TEST 833 depends on SM_GCC_6115 834 help 835 Support for the display clock controller on Qualcomm Technologies, Inc 836 SM6115/SM4250 devices. 837 Say Y if you want to support display devices and functionality such as 838 splash screen 839 840config SM_DISPCC_6125 841 tristate "SM6125 Display Clock Controller" 842 depends on ARM64 || COMPILE_TEST 843 depends on SM_GCC_6125 844 help 845 Support for the display clock controller on Qualcomm Technologies, Inc 846 SM6125 devices. 847 Say Y if you want to support display devices and functionality such as 848 splash screen 849 850config SM_DISPCC_8250 851 tristate "SM8150/SM8250/SM8350 Display Clock Controller" 852 depends on ARM64 || COMPILE_TEST 853 depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350 854 help 855 Support for the display clock controller on Qualcomm Technologies, Inc 856 SM8150/SM8250/SM8350 devices. 857 Say Y if you want to support display devices and functionality such as 858 splash screen. 859 860config SM_DISPCC_6350 861 tristate "SM6350 Display Clock Controller" 862 depends on ARM64 || COMPILE_TEST 863 depends on SM_GCC_6350 864 help 865 Support for the display clock controller on Qualcomm Technologies, Inc 866 SM6350 devices. 867 Say Y if you want to support display devices and functionality such as 868 splash screen. 869 870config SM_DISPCC_6375 871 tristate "SM6375 Display Clock Controller" 872 depends on ARM64 || COMPILE_TEST 873 depends on SM_GCC_6375 874 help 875 Support for the display clock controller on Qualcomm Technologies, Inc 876 SM6375 devices. 877 Say Y if you want to support display devices and functionality such as 878 splash screen. 879 880config SM_DISPCC_8450 881 tristate "SM8450 Display Clock Controller" 882 depends on ARM64 || COMPILE_TEST 883 depends on SM_GCC_8450 884 help 885 Support for the display clock controller on Qualcomm Technologies, Inc 886 SM8450 devices. 887 Say Y if you want to support display devices and functionality such as 888 splash screen. 889 890config SM_DISPCC_8550 891 tristate "SM8550 Display Clock Controller" 892 depends on ARM64 || COMPILE_TEST 893 depends on SM_GCC_8550 894 help 895 Support for the display clock controller on Qualcomm Technologies, Inc 896 SM8550 devices. 897 Say Y if you want to support display devices and functionality such as 898 splash screen. 899 900config SM_DISPCC_8650 901 tristate "SM8650 Display Clock Controller" 902 depends on ARM64 || COMPILE_TEST 903 select SM_GCC_8650 904 help 905 Support for the display clock controller on Qualcomm Technologies, Inc 906 SM8650 devices. 907 Say Y if you want to support display devices and functionality such as 908 splash screen. 909 910config SM_GCC_4450 911 tristate "SM4450 Global Clock Controller" 912 depends on ARM64 || COMPILE_TEST 913 select QCOM_GDSC 914 help 915 Support for the global clock controller on SM4450 devices. 916 Say Y if you want to use peripheral devices such as UART, SPI, 917 I2C, USB, SD/UFS, PCIe, etc. 918 919config SM_GCC_6115 920 tristate "SM6115 and SM4250 Global Clock Controller" 921 depends on ARM64 || COMPILE_TEST 922 select QCOM_GDSC 923 help 924 Support for the global clock controller on SM6115 and SM4250 devices. 925 Say Y if you want to use peripheral devices such as UART, SPI, 926 i2C, USB, UFS, SDDC, PCIe, etc. 927 928config SM_GCC_6125 929 tristate "SM6125 Global Clock Controller" 930 depends on ARM64 || COMPILE_TEST 931 help 932 Support for the global clock controller on SM6125 devices. 933 Say Y if you want to use peripheral devices such as UART, 934 SPI, I2C, USB, SD/UFS, PCIe etc. 935 936config SM_GCC_6350 937 tristate "SM6350 Global Clock Controller" 938 depends on ARM64 || COMPILE_TEST 939 select QCOM_GDSC 940 help 941 Support for the global clock controller on SM6350 devices. 942 Say Y if you want to use peripheral devices such as UART, 943 SPI, I2C, USB, SD/UFS, PCIe etc. 944 945config SM_GCC_6375 946 tristate "SM6375 Global Clock Controller" 947 depends on ARM64 || COMPILE_TEST 948 select QCOM_GDSC 949 help 950 Support for the global clock controller on SM6375 devices. 951 Say Y if you want to use peripheral devices such as UART, 952 SPI, I2C, USB, SD/UFS etc. 953 954config SM_GCC_7150 955 tristate "SM7150 Global Clock Controller" 956 select QCOM_GDSC 957 help 958 Support for the global clock controller on SM7150 devices. 959 Say Y if you want to use peripheral devices such as UART, 960 SPI, I2C, USB, SD/UFS, PCIe etc. 961 962config SM_GCC_8150 963 tristate "SM8150 Global Clock Controller" 964 depends on ARM64 || COMPILE_TEST 965 help 966 Support for the global clock controller on SM8150 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_8250 971 tristate "SM8250 Global Clock Controller" 972 depends on ARM64 || COMPILE_TEST 973 select QCOM_GDSC 974 help 975 Support for the global clock controller on SM8250 devices. 976 Say Y if you want to use peripheral devices such as UART, 977 SPI, I2C, USB, SD/UFS, PCIe etc. 978 979config SM_GCC_8350 980 tristate "SM8350 Global Clock Controller" 981 depends on ARM64 || COMPILE_TEST 982 select QCOM_GDSC 983 help 984 Support for the global clock controller on SM8350 devices. 985 Say Y if you want to use peripheral devices such as UART, 986 SPI, I2C, USB, SD/UFS, PCIe etc. 987 988config SM_GCC_8450 989 tristate "SM8450 Global Clock Controller" 990 depends on ARM64 || COMPILE_TEST 991 select QCOM_GDSC 992 help 993 Support for the global clock controller on SM8450 devices. 994 Say Y if you want to use peripheral devices such as UART, 995 SPI, I2C, USB, SD/UFS, PCIe etc. 996 997config SM_GCC_8550 998 tristate "SM8550 Global Clock Controller" 999 depends on ARM64 || COMPILE_TEST 1000 select QCOM_GDSC 1001 help 1002 Support for the global clock controller on SM8550 devices. 1003 Say Y if you want to use peripheral devices such as UART, 1004 SPI, I2C, USB, SD/UFS, PCIe etc. 1005 1006config SM_GCC_8650 1007 tristate "SM8650 Global Clock Controller" 1008 depends on ARM64 || COMPILE_TEST 1009 select QCOM_GDSC 1010 help 1011 Support for the global clock controller on SM8650 devices. 1012 Say Y if you want to use peripheral devices such as UART, 1013 SPI, I2C, USB, SD/UFS, PCIe etc. 1014 1015config SM_GPUCC_6115 1016 tristate "SM6115 Graphics Clock Controller" 1017 select SM_GCC_6115 1018 depends on ARM64 || COMPILE_TEST 1019 help 1020 Support for the graphics clock controller on SM6115 devices. 1021 Say Y if you want to support graphics controller devices and 1022 functionality such as 3D graphics. 1023 1024config SM_GPUCC_6125 1025 tristate "SM6125 Graphics Clock Controller" 1026 select SM_GCC_6125 1027 depends on ARM64 || COMPILE_TEST 1028 help 1029 Support for the graphics clock controller on SM6125 devices. 1030 Say Y if you want to support graphics controller devices and 1031 functionality such as 3D graphics. 1032 1033config SM_GPUCC_6375 1034 tristate "SM6375 Graphics Clock Controller" 1035 select SM_GCC_6375 1036 depends on ARM64 || COMPILE_TEST 1037 help 1038 Support for the graphics clock controller on SM6375 devices. 1039 Say Y if you want to support graphics controller devices and 1040 functionality such as 3D graphics. 1041 1042config SM_GPUCC_6350 1043 tristate "SM6350 Graphics Clock Controller" 1044 depends on ARM64 || COMPILE_TEST 1045 select SM_GCC_6350 1046 help 1047 Support for the graphics clock controller on SM6350 devices. 1048 Say Y if you want to support graphics controller devices and 1049 functionality such as 3D graphics. 1050 1051config SM_GPUCC_8150 1052 tristate "SM8150 Graphics Clock Controller" 1053 depends on ARM64 || COMPILE_TEST 1054 select SM_GCC_8150 1055 help 1056 Support for the graphics clock controller on SM8150 devices. 1057 Say Y if you want to support graphics controller devices and 1058 functionality such as 3D graphics. 1059 1060config SM_GPUCC_8250 1061 tristate "SM8250 Graphics Clock Controller" 1062 depends on ARM64 || COMPILE_TEST 1063 select SM_GCC_8250 1064 help 1065 Support for the graphics clock controller on SM8250 devices. 1066 Say Y if you want to support graphics controller devices and 1067 functionality such as 3D graphics. 1068 1069config SM_GPUCC_8350 1070 tristate "SM8350 Graphics Clock Controller" 1071 depends on ARM64 || COMPILE_TEST 1072 select SM_GCC_8350 1073 help 1074 Support for the graphics clock controller on SM8350 devices. 1075 Say Y if you want to support graphics controller devices and 1076 functionality such as 3D graphics. 1077 1078config SM_GPUCC_8450 1079 tristate "SM8450 Graphics Clock Controller" 1080 depends on ARM64 || COMPILE_TEST 1081 select SM_GCC_8450 1082 help 1083 Support for the graphics clock controller on SM8450 devices. 1084 Say Y if you want to support graphics controller devices and 1085 functionality such as 3D graphics. 1086 1087config SM_GPUCC_8550 1088 tristate "SM8550 Graphics Clock Controller" 1089 depends on ARM64 || COMPILE_TEST 1090 select SM_GCC_8550 1091 help 1092 Support for the graphics clock controller on SM8550 devices. 1093 Say Y if you want to support graphics controller devices and 1094 functionality such as 3D graphics. 1095 1096config SM_GPUCC_8650 1097 tristate "SM8650 Graphics Clock Controller" 1098 depends on ARM64 || COMPILE_TEST 1099 select SM_GCC_8650 1100 help 1101 Support for the graphics clock controller on SM8650 devices. 1102 Say Y if you want to support graphics controller devices and 1103 functionality such as 3D graphics. 1104 1105config SM_TCSRCC_8550 1106 tristate "SM8550 TCSR Clock Controller" 1107 depends on ARM64 || COMPILE_TEST 1108 select QCOM_GDSC 1109 help 1110 Support for the TCSR clock controller on SM8550 devices. 1111 Say Y if you want to use peripheral devices such as SD/UFS. 1112 1113config SM_TCSRCC_8650 1114 tristate "SM8650 TCSR Clock Controller" 1115 depends on ARM64 || COMPILE_TEST 1116 select QCOM_GDSC 1117 help 1118 Support for the TCSR clock controller on SM8650 devices. 1119 Say Y if you want to use peripheral devices such as SD/UFS. 1120 1121config SM_VIDEOCC_8150 1122 tristate "SM8150 Video Clock Controller" 1123 depends on ARM64 || COMPILE_TEST 1124 select SM_GCC_8150 1125 select QCOM_GDSC 1126 help 1127 Support for the video clock controller on SM8150 devices. 1128 Say Y if you want to support video devices and functionality such as 1129 video encode and decode. 1130 1131config SM_VIDEOCC_8250 1132 tristate "SM8250 Video Clock Controller" 1133 depends on ARM64 || COMPILE_TEST 1134 select SM_GCC_8250 1135 select QCOM_GDSC 1136 help 1137 Support for the video clock controller on SM8250 devices. 1138 Say Y if you want to support video devices and functionality such as 1139 video encode and decode. 1140 1141config SM_VIDEOCC_8350 1142 tristate "SM8350 Video Clock Controller" 1143 depends on ARM64 || COMPILE_TEST 1144 select SM_GCC_8350 1145 select QCOM_GDSC 1146 help 1147 Support for the video clock controller on SM8350 devices. 1148 Say Y if you want to support video devices and functionality such as 1149 video encode and decode. 1150 1151config SM_VIDEOCC_8550 1152 tristate "SM8550 Video Clock Controller" 1153 depends on ARM64 || COMPILE_TEST 1154 select SM_GCC_8550 1155 select QCOM_GDSC 1156 help 1157 Support for the video clock controller on Qualcomm Technologies, Inc. 1158 SM8550 devices. 1159 Say Y if you want to support video devices and functionality such as 1160 video encode/decode. 1161 1162config SPMI_PMIC_CLKDIV 1163 tristate "SPMI PMIC clkdiv Support" 1164 depends on SPMI || COMPILE_TEST 1165 help 1166 This driver supports the clkdiv functionality on the Qualcomm 1167 Technologies, Inc. SPMI PMIC. It configures the frequency of 1168 clkdiv outputs of the PMIC. These clocks are typically wired 1169 through alternate functions on GPIO pins. 1170 1171config QCOM_HFPLL 1172 tristate "High-Frequency PLL (HFPLL) Clock Controller" 1173 help 1174 Support for the high-frequency PLLs present on Qualcomm devices. 1175 Say Y if you want to support CPU frequency scaling on devices 1176 such as MSM8974, APQ8084, etc. 1177 1178config KPSS_XCC 1179 tristate "KPSS Clock Controller" 1180 help 1181 Support for the Krait ACC and GCC clock controllers. Say Y 1182 if you want to support CPU frequency scaling on devices such 1183 as MSM8960, APQ8064, etc. 1184 1185config KRAITCC 1186 tristate "Krait Clock Controller" 1187 depends on ARM 1188 select KRAIT_CLOCKS 1189 help 1190 Support for the Krait CPU clocks on Qualcomm devices. 1191 Say Y if you want to support CPU frequency scaling. 1192 1193config CLK_GFM_LPASS_SM8250 1194 tristate "SM8250 GFM LPASS Clocks" 1195 depends on ARM64 || COMPILE_TEST 1196 help 1197 Support for the Glitch Free Mux (GFM) Low power audio 1198 subsystem (LPASS) clocks found on SM8250 SoCs. 1199 1200config SM_VIDEOCC_8450 1201 tristate "SM8450 Video Clock Controller" 1202 depends on ARM64 || COMPILE_TEST 1203 select SM_GCC_8450 1204 select QCOM_GDSC 1205 help 1206 Support for the video clock controller on Qualcomm Technologies, Inc. 1207 SM8450 devices. 1208 Say Y if you want to support video devices and functionality such as 1209 video encode/decode. 1210endif 1211