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