1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunmenuconfig PWM 3*4882a593Smuzhiyun bool "Pulse-Width Modulation (PWM) Support" 4*4882a593Smuzhiyun help 5*4882a593Smuzhiyun Generic Pulse-Width Modulation (PWM) support. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun In Pulse-Width Modulation, a variation of the width of pulses 8*4882a593Smuzhiyun in a rectangular pulse signal is used as a means to alter the 9*4882a593Smuzhiyun average power of the signal. Applications include efficient 10*4882a593Smuzhiyun power delivery and voltage regulation. In computer systems, 11*4882a593Smuzhiyun PWMs are commonly used to control fans or the brightness of 12*4882a593Smuzhiyun display backlights. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun This framework provides a generic interface to PWM devices 15*4882a593Smuzhiyun within the Linux kernel. On the driver side it provides an API 16*4882a593Smuzhiyun to register and unregister a PWM chip, an abstraction of a PWM 17*4882a593Smuzhiyun controller, that supports one or more PWM devices. Client 18*4882a593Smuzhiyun drivers can request PWM devices and use the generic framework 19*4882a593Smuzhiyun to configure as well as enable and disable them. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun This generic framework replaces the legacy PWM framework which 22*4882a593Smuzhiyun allows only a single driver implementing the required API. Not 23*4882a593Smuzhiyun all legacy implementations have been ported to the framework 24*4882a593Smuzhiyun yet. The framework provides an API that is backward compatible 25*4882a593Smuzhiyun with the legacy framework so that existing client drivers 26*4882a593Smuzhiyun continue to work as expected. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun If unsure, say no. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunif PWM 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunconfig PWM_SYSFS 33*4882a593Smuzhiyun bool 34*4882a593Smuzhiyun default y if SYSFS 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunconfig PWM_DEBUG 37*4882a593Smuzhiyun bool "PWM lowlevel drivers additional checks and debug messages" 38*4882a593Smuzhiyun depends on DEBUG_KERNEL 39*4882a593Smuzhiyun help 40*4882a593Smuzhiyun This option enables some additional checks to help lowlevel driver 41*4882a593Smuzhiyun authors to get their callbacks implemented correctly. 42*4882a593Smuzhiyun It is expected to introduce some runtime overhead and diagnostic 43*4882a593Smuzhiyun output to the kernel log, so only enable while working on a driver. 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunconfig PWM_AB8500 46*4882a593Smuzhiyun tristate "AB8500 PWM support" 47*4882a593Smuzhiyun depends on AB8500_CORE && ARCH_U8500 48*4882a593Smuzhiyun help 49*4882a593Smuzhiyun Generic PWM framework driver for Analog Baseband AB8500. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 52*4882a593Smuzhiyun will be called pwm-ab8500. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig PWM_ATMEL 55*4882a593Smuzhiyun tristate "Atmel PWM support" 56*4882a593Smuzhiyun depends on OF 57*4882a593Smuzhiyun depends on ARCH_AT91 || COMPILE_TEST 58*4882a593Smuzhiyun help 59*4882a593Smuzhiyun Generic PWM framework driver for Atmel SoC. 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 62*4882a593Smuzhiyun will be called pwm-atmel. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunconfig PWM_ATMEL_HLCDC_PWM 65*4882a593Smuzhiyun tristate "Atmel HLCDC PWM support" 66*4882a593Smuzhiyun depends on MFD_ATMEL_HLCDC 67*4882a593Smuzhiyun depends on HAVE_CLK 68*4882a593Smuzhiyun help 69*4882a593Smuzhiyun Generic PWM framework driver for the PWM output of the HLCDC 70*4882a593Smuzhiyun (Atmel High-end LCD Controller). This PWM output is mainly used 71*4882a593Smuzhiyun to control the LCD backlight. 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 74*4882a593Smuzhiyun will be called pwm-atmel-hlcdc. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyunconfig PWM_ATMEL_TCB 77*4882a593Smuzhiyun tristate "Atmel TC Block PWM support" 78*4882a593Smuzhiyun depends on ATMEL_TCLIB && OF 79*4882a593Smuzhiyun help 80*4882a593Smuzhiyun Generic PWM framework driver for Atmel Timer Counter Block. 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun A Timer Counter Block provides 6 PWM devices grouped by 2. 83*4882a593Smuzhiyun Devices in a given group must have the same period. 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 86*4882a593Smuzhiyun will be called pwm-atmel-tcb. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunconfig PWM_BCM_IPROC 89*4882a593Smuzhiyun tristate "iProc PWM support" 90*4882a593Smuzhiyun depends on ARCH_BCM_IPROC || COMPILE_TEST 91*4882a593Smuzhiyun depends on COMMON_CLK 92*4882a593Smuzhiyun default ARCH_BCM_IPROC 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun Generic PWM framework driver for Broadcom iProc PWM block. This 95*4882a593Smuzhiyun block is used in Broadcom iProc SoC's. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 98*4882a593Smuzhiyun will be called pwm-bcm-iproc. 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunconfig PWM_BCM_KONA 101*4882a593Smuzhiyun tristate "Kona PWM support" 102*4882a593Smuzhiyun depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST 103*4882a593Smuzhiyun depends on HAVE_CLK && HAS_IOMEM 104*4882a593Smuzhiyun default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS 105*4882a593Smuzhiyun help 106*4882a593Smuzhiyun Generic PWM framework driver for Broadcom Kona PWM block. 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 109*4882a593Smuzhiyun will be called pwm-bcm-kona. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig PWM_BCM2835 112*4882a593Smuzhiyun tristate "BCM2835 PWM support" 113*4882a593Smuzhiyun depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 114*4882a593Smuzhiyun help 115*4882a593Smuzhiyun PWM framework driver for BCM2835 controller (Raspberry Pi) 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 118*4882a593Smuzhiyun will be called pwm-bcm2835. 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig PWM_BERLIN 121*4882a593Smuzhiyun tristate "Marvell Berlin PWM support" 122*4882a593Smuzhiyun depends on ARCH_BERLIN || COMPILE_TEST 123*4882a593Smuzhiyun help 124*4882a593Smuzhiyun PWM framework driver for Marvell Berlin SoCs. 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 127*4882a593Smuzhiyun will be called pwm-berlin. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig PWM_BRCMSTB 130*4882a593Smuzhiyun tristate "Broadcom STB PWM support" 131*4882a593Smuzhiyun depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST 132*4882a593Smuzhiyun help 133*4882a593Smuzhiyun Generic PWM framework driver for the Broadcom Set-top-Box 134*4882a593Smuzhiyun SoCs (BCM7xxx). 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun To compile this driver as a module, choose M Here: the module 137*4882a593Smuzhiyun will be called pwm-brcmstb.c. 138*4882a593Smuzhiyun 139*4882a593Smuzhiyunconfig PWM_CLPS711X 140*4882a593Smuzhiyun tristate "CLPS711X PWM support" 141*4882a593Smuzhiyun depends on ARCH_CLPS711X || COMPILE_TEST 142*4882a593Smuzhiyun depends on HAS_IOMEM 143*4882a593Smuzhiyun help 144*4882a593Smuzhiyun Generic PWM framework driver for Cirrus Logic CLPS711X. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 147*4882a593Smuzhiyun will be called pwm-clps711x. 148*4882a593Smuzhiyun 149*4882a593Smuzhiyunconfig PWM_CRC 150*4882a593Smuzhiyun bool "Intel Crystalcove (CRC) PWM support" 151*4882a593Smuzhiyun depends on X86 && INTEL_SOC_PMIC 152*4882a593Smuzhiyun help 153*4882a593Smuzhiyun Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM 154*4882a593Smuzhiyun control. 155*4882a593Smuzhiyun 156*4882a593Smuzhiyunconfig PWM_CROS_EC 157*4882a593Smuzhiyun tristate "ChromeOS EC PWM driver" 158*4882a593Smuzhiyun depends on CROS_EC 159*4882a593Smuzhiyun help 160*4882a593Smuzhiyun PWM driver for exposing a PWM attached to the ChromeOS Embedded 161*4882a593Smuzhiyun Controller. 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunconfig PWM_EP93XX 164*4882a593Smuzhiyun tristate "Cirrus Logic EP93xx PWM support" 165*4882a593Smuzhiyun depends on ARCH_EP93XX || COMPILE_TEST 166*4882a593Smuzhiyun help 167*4882a593Smuzhiyun Generic PWM framework driver for Cirrus Logic EP93xx. 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 170*4882a593Smuzhiyun will be called pwm-ep93xx. 171*4882a593Smuzhiyun 172*4882a593Smuzhiyunconfig PWM_FSL_FTM 173*4882a593Smuzhiyun tristate "Freescale FlexTimer Module (FTM) PWM support" 174*4882a593Smuzhiyun depends on HAS_IOMEM 175*4882a593Smuzhiyun depends on OF 176*4882a593Smuzhiyun select REGMAP_MMIO 177*4882a593Smuzhiyun help 178*4882a593Smuzhiyun Generic FTM PWM framework driver for Freescale VF610 and 179*4882a593Smuzhiyun Layerscape LS-1 SoCs. 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 182*4882a593Smuzhiyun will be called pwm-fsl-ftm. 183*4882a593Smuzhiyun 184*4882a593Smuzhiyunconfig PWM_GPIO 185*4882a593Smuzhiyun tristate "Generic GPIO bit-banged PWM driver" 186*4882a593Smuzhiyun depends on OF 187*4882a593Smuzhiyun depends on GPIOLIB 188*4882a593Smuzhiyun help 189*4882a593Smuzhiyun Some platforms do not offer any hardware PWM capabilities but do have 190*4882a593Smuzhiyun General Purpose Input Output (GPIO) pins available. Using the kernels 191*4882a593Smuzhiyun High-Resolution Timer API this driver tries to toggle GPIO using the 192*4882a593Smuzhiyun generic kernel PWM framework. The maximum frequency and/or accuracy 193*4882a593Smuzhiyun is dependent on several factors such as system load and the maximum 194*4882a593Smuzhiyun speed a pin can be toggled at the hardware. 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 197*4882a593Smuzhiyun will be called pwm-gpio. 198*4882a593Smuzhiyun 199*4882a593Smuzhiyunconfig PWM_HIBVT 200*4882a593Smuzhiyun tristate "HiSilicon BVT PWM support" 201*4882a593Smuzhiyun depends on ARCH_HISI || COMPILE_TEST 202*4882a593Smuzhiyun help 203*4882a593Smuzhiyun Generic PWM framework driver for HiSilicon BVT SoCs. 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 206*4882a593Smuzhiyun will be called pwm-hibvt. 207*4882a593Smuzhiyun 208*4882a593Smuzhiyunconfig PWM_IMG 209*4882a593Smuzhiyun tristate "Imagination Technologies PWM driver" 210*4882a593Smuzhiyun depends on HAS_IOMEM 211*4882a593Smuzhiyun depends on MFD_SYSCON 212*4882a593Smuzhiyun depends on COMMON_CLK 213*4882a593Smuzhiyun depends on MIPS || COMPILE_TEST 214*4882a593Smuzhiyun help 215*4882a593Smuzhiyun Generic PWM framework driver for Imagination Technologies 216*4882a593Smuzhiyun PWM block which supports 4 channels. 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 219*4882a593Smuzhiyun will be called pwm-img 220*4882a593Smuzhiyun 221*4882a593Smuzhiyunconfig PWM_IMX1 222*4882a593Smuzhiyun tristate "i.MX1 PWM support" 223*4882a593Smuzhiyun depends on ARCH_MXC || COMPILE_TEST 224*4882a593Smuzhiyun help 225*4882a593Smuzhiyun Generic PWM framework driver for i.MX1 and i.MX21 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 228*4882a593Smuzhiyun will be called pwm-imx1. 229*4882a593Smuzhiyun 230*4882a593Smuzhiyunconfig PWM_IMX27 231*4882a593Smuzhiyun tristate "i.MX27 PWM support" 232*4882a593Smuzhiyun depends on ARCH_MXC || COMPILE_TEST 233*4882a593Smuzhiyun help 234*4882a593Smuzhiyun Generic PWM framework driver for i.MX27 and later i.MX SoCs. 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 237*4882a593Smuzhiyun will be called pwm-imx27. 238*4882a593Smuzhiyun 239*4882a593Smuzhiyunconfig PWM_IMX_TPM 240*4882a593Smuzhiyun tristate "i.MX TPM PWM support" 241*4882a593Smuzhiyun depends on ARCH_MXC || COMPILE_TEST 242*4882a593Smuzhiyun depends on HAVE_CLK && HAS_IOMEM 243*4882a593Smuzhiyun help 244*4882a593Smuzhiyun Generic PWM framework driver for i.MX7ULP TPM module, TPM's full 245*4882a593Smuzhiyun name is Low Power Timer/Pulse Width Modulation Module. 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 248*4882a593Smuzhiyun will be called pwm-imx-tpm. 249*4882a593Smuzhiyun 250*4882a593Smuzhiyunconfig PWM_IQS620A 251*4882a593Smuzhiyun tristate "Azoteq IQS620A PWM support" 252*4882a593Smuzhiyun depends on MFD_IQS62X || COMPILE_TEST 253*4882a593Smuzhiyun help 254*4882a593Smuzhiyun Generic PWM framework driver for the Azoteq IQS620A multi-function 255*4882a593Smuzhiyun sensor. 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module will 258*4882a593Smuzhiyun be called pwm-iqs620a. 259*4882a593Smuzhiyun 260*4882a593Smuzhiyunconfig PWM_JZ4740 261*4882a593Smuzhiyun tristate "Ingenic JZ47xx PWM support" 262*4882a593Smuzhiyun depends on MIPS 263*4882a593Smuzhiyun depends on COMMON_CLK 264*4882a593Smuzhiyun select MFD_SYSCON 265*4882a593Smuzhiyun help 266*4882a593Smuzhiyun Generic PWM framework driver for Ingenic JZ47xx based 267*4882a593Smuzhiyun machines. 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 270*4882a593Smuzhiyun will be called pwm-jz4740. 271*4882a593Smuzhiyun 272*4882a593Smuzhiyunconfig PWM_LP3943 273*4882a593Smuzhiyun tristate "TI/National Semiconductor LP3943 PWM support" 274*4882a593Smuzhiyun depends on MFD_LP3943 275*4882a593Smuzhiyun help 276*4882a593Smuzhiyun Generic PWM framework driver for LP3943 which supports two PWM 277*4882a593Smuzhiyun channels. 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 280*4882a593Smuzhiyun will be called pwm-lp3943. 281*4882a593Smuzhiyun 282*4882a593Smuzhiyunconfig PWM_LPC18XX_SCT 283*4882a593Smuzhiyun tristate "LPC18xx/43xx PWM/SCT support" 284*4882a593Smuzhiyun depends on ARCH_LPC18XX || COMPILE_TEST 285*4882a593Smuzhiyun help 286*4882a593Smuzhiyun Generic PWM framework driver for NXP LPC18xx PWM/SCT which 287*4882a593Smuzhiyun supports 16 channels. 288*4882a593Smuzhiyun A maximum of 15 channels can be requested simultaneously and 289*4882a593Smuzhiyun must have the same period. 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 292*4882a593Smuzhiyun will be called pwm-lpc18xx-sct. 293*4882a593Smuzhiyun 294*4882a593Smuzhiyunconfig PWM_LPC32XX 295*4882a593Smuzhiyun tristate "LPC32XX PWM support" 296*4882a593Smuzhiyun depends on ARCH_LPC32XX || COMPILE_TEST 297*4882a593Smuzhiyun help 298*4882a593Smuzhiyun Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 299*4882a593Smuzhiyun PWM controllers. 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 302*4882a593Smuzhiyun will be called pwm-lpc32xx. 303*4882a593Smuzhiyun 304*4882a593Smuzhiyunconfig PWM_LPSS 305*4882a593Smuzhiyun tristate 306*4882a593Smuzhiyun 307*4882a593Smuzhiyunconfig PWM_LPSS_PCI 308*4882a593Smuzhiyun tristate "Intel LPSS PWM PCI driver" 309*4882a593Smuzhiyun depends on X86 && PCI 310*4882a593Smuzhiyun select PWM_LPSS 311*4882a593Smuzhiyun help 312*4882a593Smuzhiyun The PCI driver for Intel Low Power Subsystem PWM controller. 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 315*4882a593Smuzhiyun will be called pwm-lpss-pci. 316*4882a593Smuzhiyun 317*4882a593Smuzhiyunconfig PWM_LPSS_PLATFORM 318*4882a593Smuzhiyun tristate "Intel LPSS PWM platform driver" 319*4882a593Smuzhiyun depends on X86 && ACPI 320*4882a593Smuzhiyun select PWM_LPSS 321*4882a593Smuzhiyun help 322*4882a593Smuzhiyun The platform driver for Intel Low Power Subsystem PWM controller. 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 325*4882a593Smuzhiyun will be called pwm-lpss-platform. 326*4882a593Smuzhiyun 327*4882a593Smuzhiyunconfig PWM_MESON 328*4882a593Smuzhiyun tristate "Amlogic Meson PWM driver" 329*4882a593Smuzhiyun depends on ARCH_MESON || COMPILE_TEST 330*4882a593Smuzhiyun depends on COMMON_CLK 331*4882a593Smuzhiyun help 332*4882a593Smuzhiyun The platform driver for Amlogic Meson PWM controller. 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 335*4882a593Smuzhiyun will be called pwm-meson. 336*4882a593Smuzhiyun 337*4882a593Smuzhiyunconfig PWM_MTK_DISP 338*4882a593Smuzhiyun tristate "MediaTek display PWM driver" 339*4882a593Smuzhiyun depends on ARCH_MEDIATEK || COMPILE_TEST 340*4882a593Smuzhiyun depends on HAS_IOMEM 341*4882a593Smuzhiyun help 342*4882a593Smuzhiyun Generic PWM framework driver for MediaTek disp-pwm device. 343*4882a593Smuzhiyun The PWM is used to control the backlight brightness for display. 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 346*4882a593Smuzhiyun will be called pwm-mtk-disp. 347*4882a593Smuzhiyun 348*4882a593Smuzhiyunconfig PWM_MEDIATEK 349*4882a593Smuzhiyun tristate "MediaTek PWM support" 350*4882a593Smuzhiyun depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST 351*4882a593Smuzhiyun help 352*4882a593Smuzhiyun Generic PWM framework driver for Mediatek ARM SoC. 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 355*4882a593Smuzhiyun will be called pwm-mediatek. 356*4882a593Smuzhiyun 357*4882a593Smuzhiyunconfig PWM_MXS 358*4882a593Smuzhiyun tristate "Freescale MXS PWM support" 359*4882a593Smuzhiyun depends on OF 360*4882a593Smuzhiyun depends on ARCH_MXS || COMPILE_TEST 361*4882a593Smuzhiyun select STMP_DEVICE 362*4882a593Smuzhiyun help 363*4882a593Smuzhiyun Generic PWM framework driver for Freescale MXS. 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 366*4882a593Smuzhiyun will be called pwm-mxs. 367*4882a593Smuzhiyun 368*4882a593Smuzhiyunconfig PWM_OMAP_DMTIMER 369*4882a593Smuzhiyun tristate "OMAP Dual-Mode Timer PWM support" 370*4882a593Smuzhiyun depends on OF 371*4882a593Smuzhiyun depends on OMAP_DM_TIMER || COMPILE_TEST 372*4882a593Smuzhiyun help 373*4882a593Smuzhiyun Generic PWM framework driver for OMAP Dual-Mode Timer PWM output 374*4882a593Smuzhiyun 375*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 376*4882a593Smuzhiyun will be called pwm-omap-dmtimer 377*4882a593Smuzhiyun 378*4882a593Smuzhiyunconfig PWM_PCA9685 379*4882a593Smuzhiyun tristate "NXP PCA9685 PWM driver" 380*4882a593Smuzhiyun depends on I2C 381*4882a593Smuzhiyun select REGMAP_I2C 382*4882a593Smuzhiyun help 383*4882a593Smuzhiyun Generic PWM framework driver for NXP PCA9685 LED controller. 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 386*4882a593Smuzhiyun will be called pwm-pca9685. 387*4882a593Smuzhiyun 388*4882a593Smuzhiyunconfig PWM_PXA 389*4882a593Smuzhiyun tristate "PXA PWM support" 390*4882a593Smuzhiyun depends on ARCH_PXA || COMPILE_TEST 391*4882a593Smuzhiyun help 392*4882a593Smuzhiyun Generic PWM framework driver for PXA. 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 395*4882a593Smuzhiyun will be called pwm-pxa. 396*4882a593Smuzhiyun 397*4882a593Smuzhiyunconfig PWM_RCAR 398*4882a593Smuzhiyun tristate "Renesas R-Car PWM support" 399*4882a593Smuzhiyun depends on ARCH_RENESAS || COMPILE_TEST 400*4882a593Smuzhiyun depends on HAS_IOMEM 401*4882a593Smuzhiyun help 402*4882a593Smuzhiyun This driver exposes the PWM Timer controller found in Renesas 403*4882a593Smuzhiyun R-Car chips through the PWM API. 404*4882a593Smuzhiyun 405*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 406*4882a593Smuzhiyun will be called pwm-rcar. 407*4882a593Smuzhiyun 408*4882a593Smuzhiyunconfig PWM_RENESAS_TPU 409*4882a593Smuzhiyun tristate "Renesas TPU PWM support" 410*4882a593Smuzhiyun depends on ARCH_RENESAS || COMPILE_TEST 411*4882a593Smuzhiyun depends on HAS_IOMEM 412*4882a593Smuzhiyun help 413*4882a593Smuzhiyun This driver exposes the Timer Pulse Unit (TPU) PWM controller found 414*4882a593Smuzhiyun in Renesas chips through the PWM API. 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 417*4882a593Smuzhiyun will be called pwm-renesas-tpu. 418*4882a593Smuzhiyun 419*4882a593Smuzhiyunconfig PWM_ROCKCHIP 420*4882a593Smuzhiyun tristate "Rockchip PWM support" 421*4882a593Smuzhiyun depends on ARCH_ROCKCHIP || COMPILE_TEST 422*4882a593Smuzhiyun help 423*4882a593Smuzhiyun Generic PWM framework driver for the PWM controller found on 424*4882a593Smuzhiyun Rockchip SoCs. 425*4882a593Smuzhiyun 426*4882a593Smuzhiyunconfig PWM_ROCKCHIP_ONESHOT 427*4882a593Smuzhiyun bool "Rockchip PWM oneshot mode support" 428*4882a593Smuzhiyun depends on PWM_ROCKCHIP && NO_GKI 429*4882a593Smuzhiyun help 430*4882a593Smuzhiyun Support Rockchip pwm oneshot mode for specified number of cycles. 431*4882a593Smuzhiyun 432*4882a593Smuzhiyunconfig PWM_SAMSUNG 433*4882a593Smuzhiyun tristate "Samsung PWM support" 434*4882a593Smuzhiyun depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 435*4882a593Smuzhiyun help 436*4882a593Smuzhiyun Generic PWM framework driver for Samsung. 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 439*4882a593Smuzhiyun will be called pwm-samsung. 440*4882a593Smuzhiyun 441*4882a593Smuzhiyunconfig PWM_SIFIVE 442*4882a593Smuzhiyun tristate "SiFive PWM support" 443*4882a593Smuzhiyun depends on OF 444*4882a593Smuzhiyun depends on COMMON_CLK 445*4882a593Smuzhiyun depends on RISCV || COMPILE_TEST 446*4882a593Smuzhiyun help 447*4882a593Smuzhiyun Generic PWM framework driver for SiFive SoCs. 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 450*4882a593Smuzhiyun will be called pwm-sifive. 451*4882a593Smuzhiyun 452*4882a593Smuzhiyunconfig PWM_SL28CPLD 453*4882a593Smuzhiyun tristate "Kontron sl28cpld PWM support" 454*4882a593Smuzhiyun depends on MFD_SL28CPLD || COMPILE_TEST 455*4882a593Smuzhiyun help 456*4882a593Smuzhiyun Generic PWM framework driver for board management controller 457*4882a593Smuzhiyun found on the Kontron sl28 CPLD. 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 460*4882a593Smuzhiyun will be called pwm-sl28cpld. 461*4882a593Smuzhiyun 462*4882a593Smuzhiyunconfig PWM_SPEAR 463*4882a593Smuzhiyun tristate "STMicroelectronics SPEAr PWM support" 464*4882a593Smuzhiyun depends on PLAT_SPEAR || COMPILE_TEST 465*4882a593Smuzhiyun depends on OF 466*4882a593Smuzhiyun help 467*4882a593Smuzhiyun Generic PWM framework driver for the PWM controller on ST 468*4882a593Smuzhiyun SPEAr SoCs. 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 471*4882a593Smuzhiyun will be called pwm-spear. 472*4882a593Smuzhiyun 473*4882a593Smuzhiyunconfig PWM_SPRD 474*4882a593Smuzhiyun tristate "Spreadtrum PWM support" 475*4882a593Smuzhiyun depends on ARCH_SPRD || COMPILE_TEST 476*4882a593Smuzhiyun depends on HAS_IOMEM 477*4882a593Smuzhiyun help 478*4882a593Smuzhiyun Generic PWM framework driver for the PWM controller on 479*4882a593Smuzhiyun Spreadtrum SoCs. 480*4882a593Smuzhiyun 481*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 482*4882a593Smuzhiyun will be called pwm-sprd. 483*4882a593Smuzhiyun 484*4882a593Smuzhiyunconfig PWM_STI 485*4882a593Smuzhiyun tristate "STiH4xx PWM support" 486*4882a593Smuzhiyun depends on ARCH_STI || COMPILE_TEST 487*4882a593Smuzhiyun depends on OF 488*4882a593Smuzhiyun help 489*4882a593Smuzhiyun Generic PWM framework driver for STiH4xx SoCs. 490*4882a593Smuzhiyun 491*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 492*4882a593Smuzhiyun will be called pwm-sti. 493*4882a593Smuzhiyun 494*4882a593Smuzhiyunconfig PWM_STM32 495*4882a593Smuzhiyun tristate "STMicroelectronics STM32 PWM" 496*4882a593Smuzhiyun depends on MFD_STM32_TIMERS || COMPILE_TEST 497*4882a593Smuzhiyun help 498*4882a593Smuzhiyun Generic PWM framework driver for STM32 SoCs. 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 501*4882a593Smuzhiyun will be called pwm-stm32. 502*4882a593Smuzhiyun 503*4882a593Smuzhiyunconfig PWM_STM32_LP 504*4882a593Smuzhiyun tristate "STMicroelectronics STM32 PWM LP" 505*4882a593Smuzhiyun depends on MFD_STM32_LPTIMER || COMPILE_TEST 506*4882a593Smuzhiyun help 507*4882a593Smuzhiyun Generic PWM framework driver for STMicroelectronics STM32 SoCs 508*4882a593Smuzhiyun with Low-Power Timer (LPTIM). 509*4882a593Smuzhiyun 510*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 511*4882a593Smuzhiyun will be called pwm-stm32-lp. 512*4882a593Smuzhiyun 513*4882a593Smuzhiyunconfig PWM_STMPE 514*4882a593Smuzhiyun bool "STMPE expander PWM export" 515*4882a593Smuzhiyun depends on MFD_STMPE 516*4882a593Smuzhiyun help 517*4882a593Smuzhiyun This enables support for the PWMs found in the STMPE I/O 518*4882a593Smuzhiyun expanders. 519*4882a593Smuzhiyun 520*4882a593Smuzhiyunconfig PWM_SUN4I 521*4882a593Smuzhiyun tristate "Allwinner PWM support" 522*4882a593Smuzhiyun depends on ARCH_SUNXI || COMPILE_TEST 523*4882a593Smuzhiyun depends on HAS_IOMEM && COMMON_CLK 524*4882a593Smuzhiyun help 525*4882a593Smuzhiyun Generic PWM framework driver for Allwinner SoCs. 526*4882a593Smuzhiyun 527*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 528*4882a593Smuzhiyun will be called pwm-sun4i. 529*4882a593Smuzhiyun 530*4882a593Smuzhiyunconfig PWM_TEGRA 531*4882a593Smuzhiyun tristate "NVIDIA Tegra PWM support" 532*4882a593Smuzhiyun depends on ARCH_TEGRA || COMPILE_TEST 533*4882a593Smuzhiyun help 534*4882a593Smuzhiyun Generic PWM framework driver for the PWFM controller found on NVIDIA 535*4882a593Smuzhiyun Tegra SoCs. 536*4882a593Smuzhiyun 537*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 538*4882a593Smuzhiyun will be called pwm-tegra. 539*4882a593Smuzhiyun 540*4882a593Smuzhiyunconfig PWM_TIECAP 541*4882a593Smuzhiyun tristate "ECAP PWM support" 542*4882a593Smuzhiyun depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 543*4882a593Smuzhiyun help 544*4882a593Smuzhiyun PWM driver support for the ECAP APWM controller found on TI SOCs 545*4882a593Smuzhiyun 546*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 547*4882a593Smuzhiyun will be called pwm-tiecap. 548*4882a593Smuzhiyun 549*4882a593Smuzhiyunconfig PWM_TIEHRPWM 550*4882a593Smuzhiyun tristate "EHRPWM PWM support" 551*4882a593Smuzhiyun depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST 552*4882a593Smuzhiyun help 553*4882a593Smuzhiyun PWM driver support for the EHRPWM controller found on TI SOCs 554*4882a593Smuzhiyun 555*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 556*4882a593Smuzhiyun will be called pwm-tiehrpwm. 557*4882a593Smuzhiyun 558*4882a593Smuzhiyunconfig PWM_TWL 559*4882a593Smuzhiyun tristate "TWL4030/6030 PWM support" 560*4882a593Smuzhiyun depends on TWL4030_CORE 561*4882a593Smuzhiyun help 562*4882a593Smuzhiyun Generic PWM framework driver for TWL4030/6030. 563*4882a593Smuzhiyun 564*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 565*4882a593Smuzhiyun will be called pwm-twl. 566*4882a593Smuzhiyun 567*4882a593Smuzhiyunconfig PWM_TWL_LED 568*4882a593Smuzhiyun tristate "TWL4030/6030 PWM support for LED drivers" 569*4882a593Smuzhiyun depends on TWL4030_CORE 570*4882a593Smuzhiyun help 571*4882a593Smuzhiyun Generic PWM framework driver for TWL4030/6030 LED terminals. 572*4882a593Smuzhiyun 573*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 574*4882a593Smuzhiyun will be called pwm-twl-led. 575*4882a593Smuzhiyun 576*4882a593Smuzhiyunconfig PWM_VT8500 577*4882a593Smuzhiyun tristate "vt8500 PWM support" 578*4882a593Smuzhiyun depends on ARCH_VT8500 || COMPILE_TEST 579*4882a593Smuzhiyun help 580*4882a593Smuzhiyun Generic PWM framework driver for vt8500. 581*4882a593Smuzhiyun 582*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 583*4882a593Smuzhiyun will be called pwm-vt8500. 584*4882a593Smuzhiyun 585*4882a593Smuzhiyunconfig PWM_ZX 586*4882a593Smuzhiyun tristate "ZTE ZX PWM support" 587*4882a593Smuzhiyun depends on ARCH_ZX || COMPILE_TEST 588*4882a593Smuzhiyun help 589*4882a593Smuzhiyun Generic PWM framework driver for ZTE ZX family SoCs. 590*4882a593Smuzhiyun 591*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 592*4882a593Smuzhiyun will be called pwm-zx. 593*4882a593Smuzhiyun 594*4882a593Smuzhiyunendif 595