xref: /OK3568_Linux_fs/kernel/drivers/pwm/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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