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