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 select SC_GCC_8280XP 478 help 479 Support for the camera clock controller on Qualcomm Technologies, Inc 480 SC8280XP devices. 481 Say Y if you want to support camera devices and functionality such as 482 capturing pictures. 483 484config SC_DISPCC_7180 485 tristate "SC7180 Display Clock Controller" 486 depends on ARM64 || COMPILE_TEST 487 select SC_GCC_7180 488 help 489 Support for the display clock controller on Qualcomm Technologies, Inc 490 SC7180 devices. 491 Say Y if you want to support display devices and functionality such as 492 splash screen. 493 494config SC_DISPCC_7280 495 tristate "SC7280 Display Clock Controller" 496 depends on ARM64 || COMPILE_TEST 497 select SC_GCC_7280 498 help 499 Support for the display clock controller on Qualcomm Technologies, Inc. 500 SC7280 devices. 501 Say Y if you want to support display devices and functionality such as 502 splash screen. 503 504config SC_DISPCC_8280XP 505 tristate "SC8280XP Display Clock Controller" 506 depends on ARM64 || COMPILE_TEST 507 select SC_GCC_8280XP 508 help 509 Support for the two display clock controllers on Qualcomm 510 Technologies, Inc. SC8280XP devices. 511 Say Y if you want to support display devices and functionality such as 512 splash screen. 513 514config SA_GCC_8775P 515 tristate "SA8775 Global Clock Controller" 516 select QCOM_GDSC 517 depends on COMMON_CLK_QCOM 518 help 519 Support for the global clock controller on SA8775 devices. 520 Say Y if you want to use peripheral devices such as UART, SPI, 521 I2C, USB, UFS, SDCC, etc. 522 523config SA_GPUCC_8775P 524 tristate "SA8775P Graphics clock controller" 525 select QCOM_GDSC 526 select SA_GCC_8775P 527 help 528 Support for the graphics clock controller on SA8775P devices. 529 Say Y if you want to support graphics controller devices and 530 functionality such as 3D graphics. 531 532config SC_GCC_7180 533 tristate "SC7180 Global Clock Controller" 534 select QCOM_GDSC 535 depends on COMMON_CLK_QCOM 536 depends on ARM64 || COMPILE_TEST 537 help 538 Support for the global clock controller on SC7180 devices. 539 Say Y if you want to use peripheral devices such as UART, SPI, 540 I2C, USB, UFS, SDCC, etc. 541 542config SC_GCC_7280 543 tristate "SC7280 Global Clock Controller" 544 select QCOM_GDSC 545 depends on COMMON_CLK_QCOM 546 depends on ARM64 || COMPILE_TEST 547 help 548 Support for the global clock controller on SC7280 devices. 549 Say Y if you want to use peripheral devices such as UART, SPI, 550 I2C, USB, UFS, SDCC, PCIe etc. 551 552config SC_GCC_8180X 553 tristate "SC8180X Global Clock Controller" 554 select QCOM_GDSC 555 depends on COMMON_CLK_QCOM 556 depends on ARM64 || COMPILE_TEST 557 help 558 Support for the global clock controller on SC8180X devices. 559 Say Y if you want to use peripheral devices such as UART, SPI, 560 I2C, USB, UFS, SDCC, etc. 561 562config SC_GCC_8280XP 563 tristate "SC8280XP Global Clock Controller" 564 select QCOM_GDSC 565 depends on COMMON_CLK_QCOM 566 depends on ARM64 || COMPILE_TEST 567 help 568 Support for the global clock controller on SC8280XP devices. 569 Say Y if you want to use peripheral devices such as UART, SPI, 570 I2C, USB, UFS, SDCC, etc. 571 572config SC_GPUCC_7180 573 tristate "SC7180 Graphics Clock Controller" 574 depends on ARM64 || COMPILE_TEST 575 select SC_GCC_7180 576 help 577 Support for the graphics clock controller on SC7180 devices. 578 Say Y if you want to support graphics controller devices and 579 functionality such as 3D graphics. 580 581config SC_GPUCC_7280 582 tristate "SC7280 Graphics Clock Controller" 583 depends on ARM64 || COMPILE_TEST 584 select SC_GCC_7280 585 help 586 Support for the graphics clock controller on SC7280 devices. 587 Say Y if you want to support graphics controller devices and 588 functionality such as 3D graphics. 589 590config SC_GPUCC_8280XP 591 tristate "SC8280XP Graphics Clock Controller" 592 depends on ARM64 || COMPILE_TEST 593 select SC_GCC_8280XP 594 help 595 Support for the graphics clock controller on SC8280XP devices. 596 Say Y if you want to support graphics controller devices and 597 functionality such as 3D graphics. 598 599config SC_LPASSCC_7280 600 tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller" 601 depends on ARM64 || COMPILE_TEST 602 select SC_GCC_7280 603 help 604 Support for the LPASS clock controller on SC7280 devices. 605 Say Y if you want to use the LPASS branch clocks of the LPASS clock 606 controller to reset the LPASS subsystem. 607 608config SC_LPASSCC_8280XP 609 tristate "SC8280 Low Power Audio Subsystem (LPASS) Clock Controller" 610 depends on ARM64 || COMPILE_TEST 611 select SC_GCC_8280XP 612 help 613 Support for the LPASS clock controller on SC8280XP devices. 614 Say Y if you want to use the LPASS branch clocks of the LPASS clock 615 controller to reset the LPASS subsystem. 616 617config SC_LPASS_CORECC_7180 618 tristate "SC7180 LPASS Core Clock Controller" 619 depends on ARM64 || COMPILE_TEST 620 select SC_GCC_7180 621 help 622 Support for the LPASS(Low Power Audio Subsystem) core clock controller 623 on SC7180 devices. 624 Say Y if you want to use LPASS clocks and power domains of the LPASS 625 core clock controller. 626 627config SC_LPASS_CORECC_7280 628 tristate "SC7280 LPASS Core & Audio Clock Controller" 629 depends on ARM64 || COMPILE_TEST 630 select SC_GCC_7280 631 select QCOM_GDSC 632 help 633 Support for the LPASS(Low Power Audio Subsystem) core and audio clock 634 controller on SC7280 devices. 635 Say Y if you want to use LPASS clocks and power domains of the LPASS 636 core clock controller. 637 638config SC_VIDEOCC_7180 639 tristate "SC7180 Video Clock Controller" 640 depends on ARM64 || COMPILE_TEST 641 select SC_GCC_7180 642 help 643 Support for the video clock controller on SC7180 devices. 644 Say Y if you want to support video devices and functionality such as 645 video encode and decode. 646 647config SC_VIDEOCC_7280 648 tristate "SC7280 Video Clock Controller" 649 depends on ARM64 || COMPILE_TEST 650 select SC_GCC_7280 651 help 652 Support for the video clock controller on SC7280 devices. 653 Say Y if you want to support video devices and functionality such as 654 video encode and decode. 655 656config SDM_CAMCC_845 657 tristate "SDM845 Camera Clock Controller" 658 depends on ARM64 || COMPILE_TEST 659 select SDM_GCC_845 660 help 661 Support for the camera clock controller on SDM845 devices. 662 Say Y if you want to support camera devices and camera functionality. 663 664config SDM_GCC_660 665 tristate "SDM660 Global Clock Controller" 666 depends on ARM64 || COMPILE_TEST 667 select QCOM_GDSC 668 help 669 Support for the global clock controller on SDM660 devices. 670 Say Y if you want to use peripheral devices such as UART, SPI, 671 i2C, USB, UFS, SDDC, PCIe, etc. 672 673config SDM_MMCC_660 674 tristate "SDM660 Multimedia Clock Controller" 675 depends on ARM64 || COMPILE_TEST 676 select SDM_GCC_660 677 select QCOM_GDSC 678 help 679 Support for the multimedia clock controller on SDM660 devices. 680 Say Y if you want to support multimedia devices such as display, 681 graphics, video encode/decode, camera, etc. 682 683config SDM_GPUCC_660 684 tristate "SDM660 Graphics Clock Controller" 685 depends on ARM64 || COMPILE_TEST 686 select SDM_GCC_660 687 select QCOM_GDSC 688 help 689 Support for the graphics clock controller on SDM630/636/660 devices. 690 Say Y if you want to support graphics controller devices and 691 functionality such as 3D graphics 692 693config QCS_TURING_404 694 tristate "QCS404 Turing Clock Controller" 695 help 696 Support for the Turing Clock Controller on QCS404, provides clocks 697 and resets for the Turing subsystem. 698 699config QCS_Q6SSTOP_404 700 tristate "QCS404 Q6SSTOP Clock Controller" 701 select QCS_GCC_404 702 help 703 Support for the Q6SSTOP clock controller on QCS404 devices. 704 Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock 705 controller to reset the Q6SSTOP subsystem. 706 707config QDU_GCC_1000 708 tristate "QDU1000/QRU1000 Global Clock Controller" 709 select QCOM_GDSC 710 help 711 Support for the global clock controller on QDU1000 and 712 QRU1000 devices. Say Y if you want to use peripheral 713 devices such as UART, SPI, I2C, USB, SD, PCIe, etc. 714 715config QDU_ECPRICC_1000 716 tristate "QDU1000/QRU1000 ECPRI Clock Controller" 717 depends on ARM64 || COMPILE_TEST 718 select QDU_GCC_1000 719 help 720 Support for the ECPRI clock controller on QDU1000 and 721 QRU1000 devices. Say Y if you want to support the ECPRI 722 clock controller functionality such as Ethernet. 723 724config SDM_GCC_845 725 tristate "SDM845/SDM670 Global Clock Controller" 726 depends on ARM64 || COMPILE_TEST 727 select QCOM_GDSC 728 help 729 Support for the global clock controller on SDM845 and SDM670 devices. 730 Say Y if you want to use peripheral devices such as UART, SPI, 731 i2C, USB, UFS, SDDC, PCIe, etc. 732 733config SDM_GPUCC_845 734 tristate "SDM845 Graphics Clock Controller" 735 depends on ARM64 || COMPILE_TEST 736 select SDM_GCC_845 737 help 738 Support for the graphics clock controller on SDM845 devices. 739 Say Y if you want to support graphics controller devices and 740 functionality such as 3D graphics. 741 742config SDM_VIDEOCC_845 743 tristate "SDM845 Video Clock Controller" 744 depends on ARM64 || COMPILE_TEST 745 select SDM_GCC_845 746 select QCOM_GDSC 747 help 748 Support for the video clock controller on SDM845 devices. 749 Say Y if you want to support video devices and functionality such as 750 video encode and decode. 751 752config SDM_DISPCC_845 753 tristate "SDM845 Display Clock Controller" 754 depends on ARM64 || COMPILE_TEST 755 select SDM_GCC_845 756 help 757 Support for the display clock controller on Qualcomm Technologies, Inc 758 SDM845 devices. 759 Say Y if you want to support display devices and functionality such as 760 splash screen. 761 762config SDM_LPASSCC_845 763 tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" 764 depends on ARM64 || COMPILE_TEST 765 select SDM_GCC_845 766 help 767 Support for the LPASS clock controller on SDM845 devices. 768 Say Y if you want to use the LPASS branch clocks of the LPASS clock 769 controller to reset the LPASS subsystem. 770 771config SDX_GCC_55 772 tristate "SDX55 Global Clock Controller" 773 depends on ARM || COMPILE_TEST 774 select QCOM_GDSC 775 help 776 Support for the global clock controller on SDX55 devices. 777 Say Y if you want to use peripheral devices such as UART, 778 SPI, I2C, USB, SD/UFS, PCIe etc. 779 780config SDX_GCC_65 781 tristate "SDX65 Global Clock Controller" 782 depends on ARM || COMPILE_TEST 783 select QCOM_GDSC 784 help 785 Support for the global clock controller on SDX65 devices. 786 Say Y if you want to use peripheral devices such as UART, 787 SPI, I2C, USB, SD/UFS, PCIe etc. 788 789config SDX_GCC_75 790 tristate "SDX75 Global Clock Controller" 791 select QCOM_GDSC 792 help 793 Support for the global clock controller on SDX75 devices. 794 Say Y if you want to use peripheral devices such as UART, 795 SPI, I2C, USB, SD/eMMC, PCIe etc. 796 797config SM_CAMCC_6350 798 tristate "SM6350 Camera Clock Controller" 799 depends on ARM64 || COMPILE_TEST 800 select SM_GCC_6350 801 help 802 Support for the camera clock controller on SM6350 devices. 803 Say Y if you want to support camera devices and camera functionality. 804 805config SM_CAMCC_8250 806 tristate "SM8250 Camera Clock Controller" 807 depends on ARM64 || COMPILE_TEST 808 select SM_GCC_8250 809 help 810 Support for the camera clock controller on SM8250 devices. 811 Say Y if you want to support camera devices and camera functionality. 812 813config SM_CAMCC_8450 814 tristate "SM8450 Camera Clock Controller" 815 depends on ARM64 || COMPILE_TEST 816 select SM_GCC_8450 817 help 818 Support for the camera clock controller on SM8450 devices. 819 Say Y if you want to support camera devices and camera functionality. 820 821config SM_CAMCC_8550 822 tristate "SM8550 Camera Clock Controller" 823 depends on ARM64 || COMPILE_TEST 824 select SM_GCC_8550 825 help 826 Support for the camera clock controller on SM8550 devices. 827 Say Y if you want to support camera devices and camera functionality. 828 829config SM_DISPCC_6115 830 tristate "SM6115 Display Clock Controller" 831 depends on ARM64 || COMPILE_TEST 832 depends on SM_GCC_6115 833 help 834 Support for the display clock controller on Qualcomm Technologies, Inc 835 SM6115/SM4250 devices. 836 Say Y if you want to support display devices and functionality such as 837 splash screen 838 839config SM_DISPCC_6125 840 tristate "SM6125 Display Clock Controller" 841 depends on ARM64 || COMPILE_TEST 842 depends on SM_GCC_6125 843 help 844 Support for the display clock controller on Qualcomm Technologies, Inc 845 SM6125 devices. 846 Say Y if you want to support display devices and functionality such as 847 splash screen 848 849config SM_DISPCC_8250 850 tristate "SM8150/SM8250/SM8350 Display Clock Controller" 851 depends on ARM64 || COMPILE_TEST 852 depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350 853 help 854 Support for the display clock controller on Qualcomm Technologies, Inc 855 SM8150/SM8250/SM8350 devices. 856 Say Y if you want to support display devices and functionality such as 857 splash screen. 858 859config SM_DISPCC_6350 860 tristate "SM6350 Display Clock Controller" 861 depends on ARM64 || COMPILE_TEST 862 depends on SM_GCC_6350 863 help 864 Support for the display clock controller on Qualcomm Technologies, Inc 865 SM6350 devices. 866 Say Y if you want to support display devices and functionality such as 867 splash screen. 868 869config SM_DISPCC_6375 870 tristate "SM6375 Display Clock Controller" 871 depends on ARM64 || COMPILE_TEST 872 depends on SM_GCC_6375 873 help 874 Support for the display clock controller on Qualcomm Technologies, Inc 875 SM6375 devices. 876 Say Y if you want to support display devices and functionality such as 877 splash screen. 878 879config SM_DISPCC_8450 880 tristate "SM8450 Display Clock Controller" 881 depends on ARM64 || COMPILE_TEST 882 depends on SM_GCC_8450 883 help 884 Support for the display clock controller on Qualcomm Technologies, Inc 885 SM8450 devices. 886 Say Y if you want to support display devices and functionality such as 887 splash screen. 888 889config SM_DISPCC_8550 890 tristate "SM8550 Display Clock Controller" 891 depends on ARM64 || COMPILE_TEST 892 depends on SM_GCC_8550 893 help 894 Support for the display clock controller on Qualcomm Technologies, Inc 895 SM8550 devices. 896 Say Y if you want to support display devices and functionality such as 897 splash screen. 898 899config SM_DISPCC_8650 900 tristate "SM8650 Display Clock Controller" 901 depends on ARM64 || COMPILE_TEST 902 select SM_GCC_8650 903 help 904 Support for the display clock controller on Qualcomm Technologies, Inc 905 SM8650 devices. 906 Say Y if you want to support display devices and functionality such as 907 splash screen. 908 909config SM_GCC_4450 910 tristate "SM4450 Global Clock Controller" 911 depends on ARM64 || COMPILE_TEST 912 select QCOM_GDSC 913 help 914 Support for the global clock controller on SM4450 devices. 915 Say Y if you want to use peripheral devices such as UART, SPI, 916 I2C, USB, SD/UFS, PCIe, etc. 917 918config SM_GCC_6115 919 tristate "SM6115 and SM4250 Global Clock Controller" 920 depends on ARM64 || COMPILE_TEST 921 select QCOM_GDSC 922 help 923 Support for the global clock controller on SM6115 and SM4250 devices. 924 Say Y if you want to use peripheral devices such as UART, SPI, 925 i2C, USB, UFS, SDDC, PCIe, etc. 926 927config SM_GCC_6125 928 tristate "SM6125 Global Clock Controller" 929 depends on ARM64 || COMPILE_TEST 930 help 931 Support for the global clock controller on SM6125 devices. 932 Say Y if you want to use peripheral devices such as UART, 933 SPI, I2C, USB, SD/UFS, PCIe etc. 934 935config SM_GCC_6350 936 tristate "SM6350 Global Clock Controller" 937 depends on ARM64 || COMPILE_TEST 938 select QCOM_GDSC 939 help 940 Support for the global clock controller on SM6350 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_6375 945 tristate "SM6375 Global Clock Controller" 946 depends on ARM64 || COMPILE_TEST 947 select QCOM_GDSC 948 help 949 Support for the global clock controller on SM6375 devices. 950 Say Y if you want to use peripheral devices such as UART, 951 SPI, I2C, USB, SD/UFS etc. 952 953config SM_GCC_7150 954 tristate "SM7150 Global Clock Controller" 955 select QCOM_GDSC 956 help 957 Support for the global clock controller on SM7150 devices. 958 Say Y if you want to use peripheral devices such as UART, 959 SPI, I2C, USB, SD/UFS, PCIe etc. 960 961config SM_GCC_8150 962 tristate "SM8150 Global Clock Controller" 963 depends on ARM64 || COMPILE_TEST 964 help 965 Support for the global clock controller on SM8150 devices. 966 Say Y if you want to use peripheral devices such as UART, 967 SPI, I2C, USB, SD/UFS, PCIe etc. 968 969config SM_GCC_8250 970 tristate "SM8250 Global Clock Controller" 971 depends on ARM64 || COMPILE_TEST 972 select QCOM_GDSC 973 help 974 Support for the global clock controller on SM8250 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_8350 979 tristate "SM8350 Global Clock Controller" 980 depends on ARM64 || COMPILE_TEST 981 select QCOM_GDSC 982 help 983 Support for the global clock controller on SM8350 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_8450 988 tristate "SM8450 Global Clock Controller" 989 depends on ARM64 || COMPILE_TEST 990 select QCOM_GDSC 991 help 992 Support for the global clock controller on SM8450 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_8550 997 tristate "SM8550 Global Clock Controller" 998 depends on ARM64 || COMPILE_TEST 999 select QCOM_GDSC 1000 help 1001 Support for the global clock controller on SM8550 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_8650 1006 tristate "SM8650 Global Clock Controller" 1007 depends on ARM64 || COMPILE_TEST 1008 select QCOM_GDSC 1009 help 1010 Support for the global clock controller on SM8650 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_GPUCC_6115 1015 tristate "SM6115 Graphics Clock Controller" 1016 select SM_GCC_6115 1017 depends on ARM64 || COMPILE_TEST 1018 help 1019 Support for the graphics clock controller on SM6115 devices. 1020 Say Y if you want to support graphics controller devices and 1021 functionality such as 3D graphics. 1022 1023config SM_GPUCC_6125 1024 tristate "SM6125 Graphics Clock Controller" 1025 select SM_GCC_6125 1026 depends on ARM64 || COMPILE_TEST 1027 help 1028 Support for the graphics clock controller on SM6125 devices. 1029 Say Y if you want to support graphics controller devices and 1030 functionality such as 3D graphics. 1031 1032config SM_GPUCC_6375 1033 tristate "SM6375 Graphics Clock Controller" 1034 select SM_GCC_6375 1035 depends on ARM64 || COMPILE_TEST 1036 help 1037 Support for the graphics clock controller on SM6375 devices. 1038 Say Y if you want to support graphics controller devices and 1039 functionality such as 3D graphics. 1040 1041config SM_GPUCC_6350 1042 tristate "SM6350 Graphics Clock Controller" 1043 depends on ARM64 || COMPILE_TEST 1044 select SM_GCC_6350 1045 help 1046 Support for the graphics clock controller on SM6350 devices. 1047 Say Y if you want to support graphics controller devices and 1048 functionality such as 3D graphics. 1049 1050config SM_GPUCC_8150 1051 tristate "SM8150 Graphics Clock Controller" 1052 depends on ARM64 || COMPILE_TEST 1053 select SM_GCC_8150 1054 help 1055 Support for the graphics clock controller on SM8150 devices. 1056 Say Y if you want to support graphics controller devices and 1057 functionality such as 3D graphics. 1058 1059config SM_GPUCC_8250 1060 tristate "SM8250 Graphics Clock Controller" 1061 depends on ARM64 || COMPILE_TEST 1062 select SM_GCC_8250 1063 help 1064 Support for the graphics clock controller on SM8250 devices. 1065 Say Y if you want to support graphics controller devices and 1066 functionality such as 3D graphics. 1067 1068config SM_GPUCC_8350 1069 tristate "SM8350 Graphics Clock Controller" 1070 depends on ARM64 || COMPILE_TEST 1071 select SM_GCC_8350 1072 help 1073 Support for the graphics clock controller on SM8350 devices. 1074 Say Y if you want to support graphics controller devices and 1075 functionality such as 3D graphics. 1076 1077config SM_GPUCC_8450 1078 tristate "SM8450 Graphics Clock Controller" 1079 depends on ARM64 || COMPILE_TEST 1080 select SM_GCC_8450 1081 help 1082 Support for the graphics clock controller on SM8450 devices. 1083 Say Y if you want to support graphics controller devices and 1084 functionality such as 3D graphics. 1085 1086config SM_GPUCC_8550 1087 tristate "SM8550 Graphics Clock Controller" 1088 depends on ARM64 || COMPILE_TEST 1089 select SM_GCC_8550 1090 help 1091 Support for the graphics clock controller on SM8550 devices. 1092 Say Y if you want to support graphics controller devices and 1093 functionality such as 3D graphics. 1094 1095config SM_GPUCC_8650 1096 tristate "SM8650 Graphics Clock Controller" 1097 select SM_GCC_8650 1098 help 1099 Support for the graphics clock controller on SM8650 devices. 1100 Say Y if you want to support graphics controller devices and 1101 functionality such as 3D graphics. 1102 1103config SM_TCSRCC_8550 1104 tristate "SM8550 TCSR Clock Controller" 1105 depends on ARM64 || COMPILE_TEST 1106 select QCOM_GDSC 1107 help 1108 Support for the TCSR clock controller on SM8550 devices. 1109 Say Y if you want to use peripheral devices such as SD/UFS. 1110 1111config SM_TCSRCC_8650 1112 tristate "SM8650 TCSR Clock Controller" 1113 depends on ARM64 || COMPILE_TEST 1114 select QCOM_GDSC 1115 help 1116 Support for the TCSR clock controller on SM8650 devices. 1117 Say Y if you want to use peripheral devices such as SD/UFS. 1118 1119config SM_VIDEOCC_8150 1120 tristate "SM8150 Video Clock Controller" 1121 depends on ARM64 || COMPILE_TEST 1122 select SM_GCC_8150 1123 select QCOM_GDSC 1124 help 1125 Support for the video clock controller on SM8150 devices. 1126 Say Y if you want to support video devices and functionality such as 1127 video encode and decode. 1128 1129config SM_VIDEOCC_8250 1130 tristate "SM8250 Video Clock Controller" 1131 depends on ARM64 || COMPILE_TEST 1132 select SM_GCC_8250 1133 select QCOM_GDSC 1134 help 1135 Support for the video clock controller on SM8250 devices. 1136 Say Y if you want to support video devices and functionality such as 1137 video encode and decode. 1138 1139config SM_VIDEOCC_8350 1140 tristate "SM8350 Video Clock Controller" 1141 depends on ARM64 || COMPILE_TEST 1142 select SM_GCC_8350 1143 select QCOM_GDSC 1144 help 1145 Support for the video clock controller on SM8350 devices. 1146 Say Y if you want to support video devices and functionality such as 1147 video encode and decode. 1148 1149config SM_VIDEOCC_8550 1150 tristate "SM8550 Video Clock Controller" 1151 depends on ARM64 || COMPILE_TEST 1152 select SM_GCC_8550 1153 select QCOM_GDSC 1154 help 1155 Support for the video clock controller on Qualcomm Technologies, Inc. 1156 SM8550 devices. 1157 Say Y if you want to support video devices and functionality such as 1158 video encode/decode. 1159 1160config SPMI_PMIC_CLKDIV 1161 tristate "SPMI PMIC clkdiv Support" 1162 depends on SPMI || COMPILE_TEST 1163 help 1164 This driver supports the clkdiv functionality on the Qualcomm 1165 Technologies, Inc. SPMI PMIC. It configures the frequency of 1166 clkdiv outputs of the PMIC. These clocks are typically wired 1167 through alternate functions on GPIO pins. 1168 1169config QCOM_HFPLL 1170 tristate "High-Frequency PLL (HFPLL) Clock Controller" 1171 help 1172 Support for the high-frequency PLLs present on Qualcomm devices. 1173 Say Y if you want to support CPU frequency scaling on devices 1174 such as MSM8974, APQ8084, etc. 1175 1176config KPSS_XCC 1177 tristate "KPSS Clock Controller" 1178 help 1179 Support for the Krait ACC and GCC clock controllers. Say Y 1180 if you want to support CPU frequency scaling on devices such 1181 as MSM8960, APQ8064, etc. 1182 1183config KRAITCC 1184 tristate "Krait Clock Controller" 1185 depends on ARM 1186 select KRAIT_CLOCKS 1187 help 1188 Support for the Krait CPU clocks on Qualcomm devices. 1189 Say Y if you want to support CPU frequency scaling. 1190 1191config CLK_GFM_LPASS_SM8250 1192 tristate "SM8250 GFM LPASS Clocks" 1193 depends on ARM64 || COMPILE_TEST 1194 help 1195 Support for the Glitch Free Mux (GFM) Low power audio 1196 subsystem (LPASS) clocks found on SM8250 SoCs. 1197 1198config SM_VIDEOCC_8450 1199 tristate "SM8450 Video Clock Controller" 1200 depends on ARM64 || COMPILE_TEST 1201 select SM_GCC_8450 1202 select QCOM_GDSC 1203 help 1204 Support for the video clock controller on Qualcomm Technologies, Inc. 1205 SM8450 devices. 1206 Say Y if you want to support video devices and functionality such as 1207 video encode/decode. 1208endif 1209