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