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