1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig PWM 3 bool "Pulse-Width Modulation (PWM) Support" 4 help 5 Generic Pulse-Width Modulation (PWM) support. 6 7 In Pulse-Width Modulation, a variation of the width of pulses 8 in a rectangular pulse signal is used as a means to alter the 9 average power of the signal. Applications include efficient 10 power delivery and voltage regulation. In computer systems, 11 PWMs are commonly used to control fans or the brightness of 12 display backlights. 13 14 This framework provides a generic interface to PWM devices 15 within the Linux kernel. On the driver side it provides an API 16 to register and unregister a PWM chip, an abstraction of a PWM 17 controller, that supports one or more PWM devices. Client 18 drivers can request PWM devices and use the generic framework 19 to configure as well as enable and disable them. 20 21 This generic framework replaces the legacy PWM framework which 22 allows only a single driver implementing the required API. Not 23 all legacy implementations have been ported to the framework 24 yet. The framework provides an API that is backward compatible 25 with the legacy framework so that existing client drivers 26 continue to work as expected. 27 28 If unsure, say no. 29 30if PWM 31 32config PWM_DEBUG 33 bool "PWM lowlevel drivers additional checks and debug messages" 34 depends on DEBUG_KERNEL 35 help 36 This option enables some additional checks to help lowlevel driver 37 authors to get their callbacks implemented correctly. 38 It is expected to introduce some runtime overhead and diagnostic 39 output to the kernel log, so only enable while working on a driver. 40 41config PWM_AB8500 42 tristate "AB8500 PWM support" 43 depends on AB8500_CORE && ARCH_U8500 44 help 45 Generic PWM framework driver for Analog Baseband AB8500. 46 47 To compile this driver as a module, choose M here: the module 48 will be called pwm-ab8500. 49 50config PWM_ADP5585 51 tristate "ADP5585 PWM support" 52 depends on MFD_ADP5585 53 help 54 This option enables support for the PWM function found in the Analog 55 Devices ADP5585. 56 57config PWM_APPLE 58 tristate "Apple SoC PWM support" 59 depends on ARCH_APPLE || COMPILE_TEST 60 help 61 Generic PWM framework driver for PWM controller present on 62 Apple SoCs 63 64 Say Y here if you have an ARM Apple laptop, otherwise say N 65 66 To compile this driver as a module, choose M here: the module 67 will be called pwm-apple. 68 69config PWM_ARGON_FAN_HAT 70 tristate "Argon40 Fan HAT support" 71 depends on I2C && OF 72 help 73 Generic PWM framework driver for Argon40 Fan HAT. 74 75 To compile this driver as a module, choose M here: the module 76 will be called pwm-argon-fan-hat. 77 78config PWM_ATMEL 79 tristate "Atmel PWM support" 80 depends on ARCH_AT91 || COMPILE_TEST 81 depends on HAS_IOMEM && OF 82 help 83 Generic PWM framework driver for Atmel SoC. 84 85 To compile this driver as a module, choose M here: the module 86 will be called pwm-atmel. 87 88config PWM_ATMEL_HLCDC_PWM 89 tristate "Atmel HLCDC PWM support" 90 depends on MFD_ATMEL_HLCDC 91 depends on HAVE_CLK 92 help 93 Generic PWM framework driver for the PWM output of the HLCDC 94 (Atmel High-end LCD Controller). This PWM output is mainly used 95 to control the LCD backlight. 96 97 To compile this driver as a module, choose M here: the module 98 will be called pwm-atmel-hlcdc. 99 100config PWM_ATMEL_TCB 101 tristate "Atmel TC Block PWM support" 102 depends on OF 103 select REGMAP_MMIO 104 help 105 Generic PWM framework driver for Atmel Timer Counter Block. 106 107 A Timer Counter Block provides 6 PWM devices grouped by 2. 108 Devices in a given group must have the same period. 109 110 To compile this driver as a module, choose M here: the module 111 will be called pwm-atmel-tcb. 112 113config PWM_AXI_PWMGEN 114 tristate "Analog Devices AXI PWM generator" 115 depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST 116 select REGMAP_MMIO 117 help 118 This enables support for the Analog Devices AXI PWM generator. 119 120 This is a configurable PWM generator with variable pulse width and 121 period. 122 123 To compile this driver as a module, choose M here: the module will be 124 called pwm-axi-pwmgen. 125 126config PWM_BCM2835 127 tristate "BCM2835 PWM support" 128 depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 129 depends on HAS_IOMEM 130 help 131 PWM framework driver for BCM2835 controller (Raspberry Pi) 132 133 To compile this driver as a module, choose M here: the module 134 will be called pwm-bcm2835. 135 136config PWM_BCM_IPROC 137 tristate "iProc PWM support" 138 depends on ARCH_BCM_IPROC || COMPILE_TEST 139 depends on COMMON_CLK && HAS_IOMEM 140 default ARCH_BCM_IPROC 141 help 142 Generic PWM framework driver for Broadcom iProc PWM block. This 143 block is used in Broadcom iProc SoC's. 144 145 To compile this driver as a module, choose M here: the module 146 will be called pwm-bcm-iproc. 147 148config PWM_BCM_KONA 149 tristate "Kona PWM support" 150 depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST 151 depends on HAVE_CLK && HAS_IOMEM 152 default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS 153 help 154 Generic PWM framework driver for Broadcom Kona PWM block. 155 156 To compile this driver as a module, choose M here: the module 157 will be called pwm-bcm-kona. 158 159config PWM_BERLIN 160 tristate "Marvell Berlin PWM support" 161 depends on ARCH_BERLIN || COMPILE_TEST 162 depends on HAS_IOMEM 163 help 164 PWM framework driver for Marvell Berlin SoCs. 165 166 To compile this driver as a module, choose M here: the module 167 will be called pwm-berlin. 168 169config PWM_BRCMSTB 170 tristate "Broadcom STB PWM support" 171 depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST 172 depends on HAS_IOMEM 173 help 174 Generic PWM framework driver for the Broadcom Set-top-Box 175 SoCs (BCM7xxx). 176 177 To compile this driver as a module, choose M Here: the module 178 will be called pwm-brcmstb.c. 179 180config PWM_CLK 181 tristate "Clock based PWM support" 182 depends on HAVE_CLK || COMPILE_TEST 183 help 184 Generic PWM framework driver for outputs that can be 185 muxed to clocks. 186 187 To compile this driver as a module, choose M here: the module 188 will be called pwm-clk. 189 190config PWM_CLPS711X 191 tristate "CLPS711X PWM support" 192 depends on ARCH_CLPS711X || COMPILE_TEST 193 depends on HAS_IOMEM 194 help 195 Generic PWM framework driver for Cirrus Logic CLPS711X. 196 197 To compile this driver as a module, choose M here: the module 198 will be called pwm-clps711x. 199 200config PWM_CRC 201 tristate "Intel Crystalcove (CRC) PWM support" 202 depends on INTEL_SOC_PMIC 203 help 204 Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM 205 control. 206 207config PWM_CROS_EC 208 tristate "ChromeOS EC PWM driver" 209 depends on CROS_EC 210 help 211 PWM driver for exposing a PWM attached to the ChromeOS Embedded 212 Controller. 213 214config PWM_DWC_CORE 215 tristate 216 depends on HAS_IOMEM 217 help 218 PWM driver for Synopsys DWC PWM Controller. 219 220 To compile this driver as a module, build the dependecies as 221 modules, this will be called pwm-dwc-core. 222 223config PWM_DWC 224 tristate "DesignWare PWM Controller (PCI bus)" 225 depends on HAS_IOMEM && PCI 226 select PWM_DWC_CORE 227 help 228 PWM driver for Synopsys DWC PWM Controller attached to a PCI bus. 229 230 To compile this driver as a module, choose M here: the module 231 will be called pwm-dwc. 232 233config PWM_EP93XX 234 tristate "Cirrus Logic EP93xx PWM support" 235 depends on ARCH_EP93XX || COMPILE_TEST 236 depends on HAS_IOMEM 237 help 238 Generic PWM framework driver for Cirrus Logic EP93xx. 239 240 To compile this driver as a module, choose M here: the module 241 will be called pwm-ep93xx. 242 243config PWM_FSL_FTM 244 tristate "Freescale FlexTimer Module (FTM) PWM support" 245 depends on HAS_IOMEM 246 depends on OF 247 select REGMAP_MMIO 248 help 249 Generic FTM PWM framework driver for Freescale VF610 and 250 Layerscape LS-1 SoCs. 251 252 To compile this driver as a module, choose M here: the module 253 will be called pwm-fsl-ftm. 254 255config PWM_GPIO 256 tristate "GPIO PWM support" 257 depends on GPIOLIB 258 depends on HIGH_RES_TIMERS 259 help 260 Generic PWM framework driver for software PWM toggling a GPIO pin 261 from kernel high-resolution timers. 262 263 To compile this driver as a module, choose M here: the module 264 will be called pwm-gpio. 265 266config PWM_HIBVT 267 tristate "HiSilicon BVT PWM support" 268 depends on ARCH_HISI || COMPILE_TEST 269 depends on HAS_IOMEM 270 help 271 Generic PWM framework driver for HiSilicon BVT SoCs. 272 273 To compile this driver as a module, choose M here: the module 274 will be called pwm-hibvt. 275 276config PWM_IMG 277 tristate "Imagination Technologies PWM driver" 278 depends on HAS_IOMEM 279 depends on MFD_SYSCON 280 depends on COMMON_CLK 281 depends on MIPS || COMPILE_TEST 282 help 283 Generic PWM framework driver for Imagination Technologies 284 PWM block which supports 4 channels. 285 286 To compile this driver as a module, choose M here: the module 287 will be called pwm-img 288 289config PWM_IMX1 290 tristate "i.MX1 PWM support" 291 depends on ARCH_MXC || COMPILE_TEST 292 depends on HAS_IOMEM 293 help 294 Generic PWM framework driver for i.MX1 and i.MX21 295 296 To compile this driver as a module, choose M here: the module 297 will be called pwm-imx1. 298 299config PWM_IMX27 300 tristate "i.MX27 PWM support" 301 depends on ARCH_MXC || COMPILE_TEST 302 depends on HAS_IOMEM 303 help 304 Generic PWM framework driver for i.MX27 and later i.MX SoCs. 305 306 To compile this driver as a module, choose M here: the module 307 will be called pwm-imx27. 308 309config PWM_IMX_TPM 310 tristate "i.MX TPM PWM support" 311 depends on ARCH_MXC || COMPILE_TEST 312 depends on HAVE_CLK && HAS_IOMEM 313 help 314 Generic PWM framework driver for i.MX7ULP TPM module, TPM's full 315 name is Low Power Timer/Pulse Width Modulation Module. 316 317 To compile this driver as a module, choose M here: the module 318 will be called pwm-imx-tpm. 319 320config PWM_INTEL_LGM 321 tristate "Intel LGM PWM support" 322 depends on HAS_IOMEM 323 depends on (OF && X86) || COMPILE_TEST 324 select REGMAP_MMIO 325 help 326 Generic PWM fan controller driver for LGM SoC. 327 328 To compile this driver as a module, choose M here: the module 329 will be called pwm-intel-lgm. 330 331config PWM_IQS620A 332 tristate "Azoteq IQS620A PWM support" 333 depends on MFD_IQS62X || COMPILE_TEST 334 help 335 Generic PWM framework driver for the Azoteq IQS620A multi-function 336 sensor. 337 338 To compile this driver as a module, choose M here: the module will 339 be called pwm-iqs620a. 340 341config PWM_JZ4740 342 tristate "Ingenic JZ47xx PWM support" 343 depends on MACH_INGENIC || COMPILE_TEST 344 depends on COMMON_CLK && OF 345 select MFD_SYSCON 346 help 347 Generic PWM framework driver for Ingenic JZ47xx based 348 machines. 349 350 To compile this driver as a module, choose M here: the module 351 will be called pwm-jz4740. 352 353config PWM_KEEMBAY 354 tristate "Intel Keem Bay PWM driver" 355 depends on ARCH_KEEMBAY || COMPILE_TEST 356 depends on COMMON_CLK && HAS_IOMEM 357 help 358 The platform driver for Intel Keem Bay PWM controller. 359 360 To compile this driver as a module, choose M here: the module 361 will be called pwm-keembay. 362 363config PWM_LOONGSON 364 tristate "Loongson PWM support" 365 depends on MACH_LOONGSON64 || COMPILE_TEST 366 depends on COMMON_CLK 367 help 368 Generic PWM framework driver for Loongson family. 369 It can be found on Loongson-2K series cpus and Loongson LS7A 370 bridge chips. 371 372 To compile this driver as a module, choose M here: the module 373 will be called pwm-loongson. 374 375config PWM_LP3943 376 tristate "TI/National Semiconductor LP3943 PWM support" 377 depends on MFD_LP3943 378 help 379 Generic PWM framework driver for LP3943 which supports two PWM 380 channels. 381 382 To compile this driver as a module, choose M here: the module 383 will be called pwm-lp3943. 384 385config PWM_LPC18XX_SCT 386 tristate "LPC18xx/43xx PWM/SCT support" 387 depends on ARCH_LPC18XX || COMPILE_TEST 388 depends on HAS_IOMEM 389 help 390 Generic PWM framework driver for NXP LPC18xx PWM/SCT which 391 supports 16 channels. 392 A maximum of 15 channels can be requested simultaneously and 393 must have the same period. 394 395 To compile this driver as a module, choose M here: the module 396 will be called pwm-lpc18xx-sct. 397 398config PWM_LPC32XX 399 tristate "LPC32XX PWM support" 400 depends on ARCH_LPC32XX || COMPILE_TEST 401 depends on HAS_IOMEM 402 help 403 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 404 PWM controllers. 405 406 To compile this driver as a module, choose M here: the module 407 will be called pwm-lpc32xx. 408 409config PWM_LPSS 410 depends on HAS_IOMEM 411 tristate 412 413config PWM_LPSS_PCI 414 tristate "Intel LPSS PWM PCI driver" 415 depends on X86 || COMPILE_TEST 416 depends on HAS_IOMEM && PCI 417 select PWM_LPSS 418 help 419 The PCI driver for Intel Low Power Subsystem PWM controller. 420 421 To compile this driver as a module, choose M here: the module 422 will be called pwm-lpss-pci. 423 424config PWM_LPSS_PLATFORM 425 tristate "Intel LPSS PWM platform driver" 426 depends on (X86 && ACPI) || COMPILE_TEST 427 depends on HAS_IOMEM 428 select PWM_LPSS 429 help 430 The platform driver for Intel Low Power Subsystem PWM controller. 431 432 To compile this driver as a module, choose M here: the module 433 will be called pwm-lpss-platform. 434 435config PWM_MC33XS2410 436 tristate "MC33XS2410 PWM support" 437 depends on OF 438 depends on SPI 439 select AUXILIARY_BUS 440 help 441 NXP MC33XS2410 high-side switch driver. The MC33XS2410 is a four 442 channel high-side switch. The device is operational from 3.0 V 443 to 60 V. The device is controlled by SPI port for configuration. 444 445 To compile this driver as a module, choose M here: the module 446 will be called pwm-mc33xs2410. 447 448config PWM_MEDIATEK 449 tristate "MediaTek PWM support" 450 depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST 451 depends on HAS_IOMEM 452 help 453 Generic PWM framework driver for Mediatek ARM SoC. 454 455 To compile this driver as a module, choose M here: the module 456 will be called pwm-mediatek. 457 458config PWM_MESON 459 tristate "Amlogic Meson PWM driver" 460 depends on ARCH_MESON || COMPILE_TEST 461 depends on COMMON_CLK && HAS_IOMEM 462 help 463 The platform driver for Amlogic Meson PWM controller. 464 465 To compile this driver as a module, choose M here: the module 466 will be called pwm-meson. 467 468config PWM_MICROCHIP_CORE 469 tristate "Microchip corePWM PWM support" 470 depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST 471 depends on HAS_IOMEM && OF 472 help 473 PWM driver for Microchip FPGA soft IP core. 474 475 To compile this driver as a module, choose M here: the module 476 will be called pwm-microchip-core. 477 478config PWM_MTK_DISP 479 tristate "MediaTek display PWM driver" 480 depends on ARCH_MEDIATEK || COMPILE_TEST 481 depends on HAS_IOMEM 482 help 483 Generic PWM framework driver for MediaTek disp-pwm device. 484 The PWM is used to control the backlight brightness for display. 485 486 To compile this driver as a module, choose M here: the module 487 will be called pwm-mtk-disp. 488 489config PWM_MXS 490 tristate "Freescale MXS PWM support" 491 depends on ARCH_MXS || COMPILE_TEST 492 depends on HAS_IOMEM && OF 493 select STMP_DEVICE 494 help 495 Generic PWM framework driver for Freescale MXS. 496 497 To compile this driver as a module, choose M here: the module 498 will be called pwm-mxs. 499 500config PWM_NTXEC 501 tristate "Netronix embedded controller PWM support" 502 depends on MFD_NTXEC 503 help 504 Say yes here if you want to support the PWM output of the embedded 505 controller found in certain e-book readers designed by the original 506 design manufacturer Netronix. 507 508config PWM_OMAP_DMTIMER 509 tristate "OMAP Dual-Mode Timer PWM support" 510 depends on OF 511 depends on OMAP_DM_TIMER || COMPILE_TEST 512 help 513 Generic PWM framework driver for OMAP Dual-Mode Timer PWM output 514 515 To compile this driver as a module, choose M here: the module 516 will be called pwm-omap-dmtimer 517 518config PWM_PCA9685 519 tristate "NXP PCA9685 PWM driver" 520 depends on I2C 521 select REGMAP_I2C 522 help 523 Generic PWM framework driver for NXP PCA9685 LED controller. 524 525 To compile this driver as a module, choose M here: the module 526 will be called pwm-pca9685. 527 528config PWM_PXA 529 tristate "PXA PWM support" 530 depends on ARCH_PXA || ARCH_MMP || ARCH_SPACEMIT || COMPILE_TEST 531 depends on HAS_IOMEM 532 help 533 Generic PWM framework driver for PXA. 534 535 To compile this driver as a module, choose M here: the module 536 will be called pwm-pxa. 537 538config PWM_RASPBERRYPI_POE 539 tristate "Raspberry Pi Firmware PoE Hat PWM support" 540 # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only 541 # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. 542 depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 543 help 544 Enable Raspberry Pi firmware controller PWM bus used to control the 545 official RPI PoE hat 546 547config PWM_RENESAS_RCAR 548 tristate "Renesas R-Car PWM support" 549 depends on ARCH_RENESAS || COMPILE_TEST 550 depends on HAS_IOMEM 551 help 552 This driver exposes the PWM Timer controller found in Renesas 553 R-Car chips through the PWM API. 554 555 To compile this driver as a module, choose M here: the module 556 will be called pwm-rcar. 557 558config PWM_RENESAS_RZG2L_GPT 559 tristate "Renesas RZ/G2L General PWM Timer support" 560 depends on ARCH_RZG2L || COMPILE_TEST 561 depends on HAS_IOMEM 562 help 563 This driver exposes the General PWM Timer controller found in Renesas 564 RZ/G2L like chips through the PWM API. 565 566 To compile this driver as a module, choose M here: the module 567 will be called pwm-rzg2l-gpt. 568 569config PWM_RENESAS_RZ_MTU3 570 tristate "Renesas RZ/G2L MTU3a PWM Timer support" 571 depends on RZ_MTU3 572 depends on HAS_IOMEM 573 help 574 This driver exposes the MTU3a PWM Timer controller found in Renesas 575 RZ/G2L like chips through the PWM API. 576 577 To compile this driver as a module, choose M here: the module 578 will be called pwm-rz-mtu3. 579 580config PWM_RENESAS_TPU 581 tristate "Renesas TPU PWM support" 582 depends on ARCH_RENESAS || COMPILE_TEST 583 depends on HAS_IOMEM 584 help 585 This driver exposes the Timer Pulse Unit (TPU) PWM controller found 586 in Renesas chips through the PWM API. 587 588 To compile this driver as a module, choose M here: the module 589 will be called pwm-renesas-tpu. 590 591config PWM_ROCKCHIP 592 tristate "Rockchip PWM support" 593 depends on ARCH_ROCKCHIP || COMPILE_TEST 594 depends on HAS_IOMEM 595 help 596 Generic PWM framework driver for the PWM controller found on 597 Rockchip SoCs. 598 599config PWM_SAMSUNG 600 tristate "Samsung PWM support" 601 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 602 depends on HAS_IOMEM 603 help 604 Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210 605 and Exynos SoCs. 606 Choose Y here only if you build for such Samsung SoC. 607 608 To compile this driver as a module, choose M here: the module 609 will be called pwm-samsung. 610 611config PWM_SIFIVE 612 tristate "SiFive PWM support" 613 depends on OF 614 depends on COMMON_CLK && HAS_IOMEM 615 depends on ARCH_SIFIVE || COMPILE_TEST 616 help 617 Generic PWM framework driver for SiFive SoCs. 618 619 To compile this driver as a module, choose M here: the module 620 will be called pwm-sifive. 621 622config PWM_SL28CPLD 623 tristate "Kontron sl28cpld PWM support" 624 depends on MFD_SL28CPLD || COMPILE_TEST 625 help 626 Generic PWM framework driver for board management controller 627 found on the Kontron sl28 CPLD. 628 629 To compile this driver as a module, choose M here: the module 630 will be called pwm-sl28cpld. 631 632config PWM_SOPHGO_SG2042 633 tristate "Sophgo SG2042 PWM support" 634 depends on ARCH_SOPHGO || COMPILE_TEST 635 help 636 PWM driver for the PWM controller on Sophgo SG2042 SoC. The PWM 637 controller supports outputing 4 channels of PWM waveforms. 638 639 To compile this driver as a module, choose M here: the module 640 will be called pwm_sophgo_sg2042. 641 642config PWM_SPEAR 643 tristate "STMicroelectronics SPEAr PWM support" 644 depends on PLAT_SPEAR || COMPILE_TEST 645 depends on HAS_IOMEM && OF 646 help 647 Generic PWM framework driver for the PWM controller on ST 648 SPEAr SoCs. 649 650 To compile this driver as a module, choose M here: the module 651 will be called pwm-spear. 652 653config PWM_SPRD 654 tristate "Spreadtrum PWM support" 655 depends on ARCH_SPRD || COMPILE_TEST 656 depends on HAS_IOMEM 657 help 658 Generic PWM framework driver for the PWM controller on 659 Spreadtrum SoCs. 660 661 To compile this driver as a module, choose M here: the module 662 will be called pwm-sprd. 663 664config PWM_STI 665 tristate "STiH4xx PWM support" 666 depends on ARCH_STI || COMPILE_TEST 667 depends on HAS_IOMEM && OF 668 help 669 Generic PWM framework driver for STiH4xx SoCs. 670 671 To compile this driver as a module, choose M here: the module 672 will be called pwm-sti. 673 674config PWM_STM32 675 tristate "STMicroelectronics STM32 PWM" 676 depends on MFD_STM32_TIMERS || COMPILE_TEST 677 help 678 Generic PWM framework driver for STM32 SoCs. 679 680 To compile this driver as a module, choose M here: the module 681 will be called pwm-stm32. 682 683config PWM_STM32_LP 684 tristate "STMicroelectronics STM32 PWM LP" 685 depends on MFD_STM32_LPTIMER || COMPILE_TEST 686 help 687 Generic PWM framework driver for STMicroelectronics STM32 SoCs 688 with Low-Power Timer (LPTIM). 689 690 To compile this driver as a module, choose M here: the module 691 will be called pwm-stm32-lp. 692 693config PWM_STMPE 694 tristate "STMPE expander PWM export" 695 depends on MFD_STMPE 696 help 697 This enables support for the PWMs found in the STMPE I/O 698 expanders. 699 700config PWM_SUN4I 701 tristate "Allwinner PWM support" 702 depends on ARCH_SUNXI || COMPILE_TEST 703 depends on HAS_IOMEM && COMMON_CLK 704 help 705 Generic PWM framework driver for Allwinner SoCs. 706 707 To compile this driver as a module, choose M here: the module 708 will be called pwm-sun4i. 709 710config PWM_SUNPLUS 711 tristate "Sunplus PWM support" 712 depends on ARCH_SUNPLUS || COMPILE_TEST 713 depends on HAS_IOMEM && OF 714 help 715 Generic PWM framework driver for the PWM controller on 716 Sunplus SoCs. 717 718 To compile this driver as a module, choose M here: the module 719 will be called pwm-sunplus. 720 721config PWM_TEGRA 722 tristate "NVIDIA Tegra PWM support" 723 depends on ARCH_TEGRA || COMPILE_TEST 724 depends on HAS_IOMEM 725 help 726 Generic PWM framework driver for the PWFM controller found on NVIDIA 727 Tegra SoCs. 728 729 To compile this driver as a module, choose M here: the module 730 will be called pwm-tegra. 731 732config PWM_TIECAP 733 tristate "ECAP PWM support" 734 depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 735 depends on HAS_IOMEM 736 help 737 PWM driver support for the ECAP APWM controller found on TI SOCs 738 739 To compile this driver as a module, choose M here: the module 740 will be called pwm-tiecap. 741 742config PWM_TIEHRPWM 743 tristate "EHRPWM PWM support" 744 depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST 745 depends on HAS_IOMEM 746 help 747 PWM driver support for the EHRPWM controller found on TI SOCs 748 749 To compile this driver as a module, choose M here: the module 750 will be called pwm-tiehrpwm. 751 752config PWM_TWL 753 tristate "TWL4030/6030 PWM support" 754 depends on TWL4030_CORE 755 help 756 Generic PWM framework driver for TWL4030/6030. 757 758 To compile this driver as a module, choose M here: the module 759 will be called pwm-twl. 760 761config PWM_TWL_LED 762 tristate "TWL4030/6030 PWM support for LED drivers" 763 depends on TWL4030_CORE 764 help 765 Generic PWM framework driver for TWL4030/6030 LED terminals. 766 767 To compile this driver as a module, choose M here: the module 768 will be called pwm-twl-led. 769 770config PWM_VISCONTI 771 tristate "Toshiba Visconti PWM support" 772 depends on ARCH_VISCONTI || COMPILE_TEST 773 help 774 PWM Subsystem driver support for Toshiba Visconti SoCs. 775 776 To compile this driver as a module, choose M here: the module 777 will be called pwm-visconti. 778 779config PWM_VT8500 780 tristate "vt8500 PWM support" 781 depends on ARCH_VT8500 || COMPILE_TEST 782 depends on HAS_IOMEM 783 help 784 Generic PWM framework driver for vt8500. 785 786 To compile this driver as a module, choose M here: the module 787 will be called pwm-vt8500. 788 789config PWM_XILINX 790 tristate "Xilinx AXI Timer PWM support" 791 depends on OF_ADDRESS 792 depends on COMMON_CLK 793 select REGMAP_MMIO 794 help 795 PWM driver for Xilinx LogiCORE IP AXI timers. This timer is 796 typically a soft core which may be present in Xilinx FPGAs. 797 This device may also be present in Microblaze soft processors. 798 If you don't have this IP in your design, choose N. 799 800 To compile this driver as a module, choose M here: the module 801 will be called pwm-xilinx. 802 803endif 804