blob: 9a4f66ae8070da16742c9b4a3d8bfc82c23fbbc2 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Sascha Hauer0c2498f2011-01-28 09:40:40 +01002menuconfig PWM
Thierry Redingb817bf52012-08-16 08:01:21 +02003 bool "Pulse-Width Modulation (PWM) Support"
Sascha Hauer0c2498f2011-01-28 09:40:40 +01004 help
Thierry Redingb817bf52012-08-16 08:01:21 +02005 Generic Pulse-Width Modulation (PWM) support.
Sascha Hauer0c2498f2011-01-28 09:40:40 +01006
Thierry Redingb817bf52012-08-16 08:01:21 +02007 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.
Sascha Hauer0c2498f2011-01-28 09:40:40 +010029
30if PWM
31
H Hartley Sweeten76abbdde2013-06-11 10:38:59 -070032config PWM_SYSFS
33 bool
34 default y if SYSFS
35
Uwe Kleine-König3ad1f3a2020-02-10 22:35:18 +010036config PWM_DEBUG
37 bool "PWM lowlevel drivers additional checks and debug messages"
38 depends on DEBUG_KERNEL
39 help
40 This option enables some additional checks to help lowlevel driver
41 authors to get their callbacks implemented correctly.
42 It is expected to introduce some runtime overhead and diagnostic
43 output to the kernel log, so only enable while working on a driver.
44
Thierry Reding6173f8f2012-08-31 11:46:24 +020045config PWM_AB8500
46 tristate "AB8500 PWM support"
47 depends on AB8500_CORE && ARCH_U8500
48 help
49 Generic PWM framework driver for Analog Baseband AB8500.
50
51 To compile this driver as a module, choose M here: the module
52 will be called pwm-ab8500.
53
Bo Shen32b16d42013-12-13 14:41:49 +080054config PWM_ATMEL
55 tristate "Atmel PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +010056 depends on ARCH_AT91 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +010057 depends on HAS_IOMEM && OF
Bo Shen32b16d42013-12-13 14:41:49 +080058 help
59 Generic PWM framework driver for Atmel SoC.
60
61 To compile this driver as a module, choose M here: the module
62 will be called pwm-atmel.
63
Boris Brezillon2b4984b2014-10-07 15:38:14 +020064config PWM_ATMEL_HLCDC_PWM
65 tristate "Atmel HLCDC PWM support"
66 depends on MFD_ATMEL_HLCDC
Thierry Redingd2048c42014-12-18 10:09:42 +010067 depends on HAVE_CLK
Boris Brezillon2b4984b2014-10-07 15:38:14 +020068 help
69 Generic PWM framework driver for the PWM output of the HLCDC
70 (Atmel High-end LCD Controller). This PWM output is mainly used
71 to control the LCD backlight.
72
73 To compile this driver as a module, choose M here: the module
74 will be called pwm-atmel-hlcdc.
75
Boris BREZILLON9421bad2013-01-08 16:36:42 +010076config PWM_ATMEL_TCB
Thierry Redingb133d2a2013-01-30 09:19:55 +010077 tristate "Atmel TC Block PWM support"
Alexandre Belloni061f8572020-10-30 19:36:56 +010078 depends on OF
79 select REGMAP_MMIO
Boris BREZILLON9421bad2013-01-08 16:36:42 +010080 help
81 Generic PWM framework driver for Atmel Timer Counter Block.
82
83 A Timer Counter Block provides 6 PWM devices grouped by 2.
84 Devices in a given group must have the same period.
85
86 To compile this driver as a module, choose M here: the module
87 will be called pwm-atmel-tcb.
88
Yendapally Reddy Dhananjaya Reddydaa5abc2016-07-05 02:00:25 -040089config PWM_BCM_IPROC
90 tristate "iProc PWM support"
Scott Branden5bf22ff2016-10-08 13:54:05 -070091 depends on ARCH_BCM_IPROC || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +010092 depends on COMMON_CLK && HAS_IOMEM
Scott Branden5bf22ff2016-10-08 13:54:05 -070093 default ARCH_BCM_IPROC
Yendapally Reddy Dhananjaya Reddydaa5abc2016-07-05 02:00:25 -040094 help
95 Generic PWM framework driver for Broadcom iProc PWM block. This
96 block is used in Broadcom iProc SoC's.
97
98 To compile this driver as a module, choose M here: the module
99 will be called pwm-bcm-iproc.
100
Tim Kryger6a4e4bf2014-04-25 11:31:12 -0700101config PWM_BCM_KONA
102 tristate "Kona PWM support"
Clément Péron88a053d2018-11-23 10:35:59 +0100103 depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
104 depends on HAVE_CLK && HAS_IOMEM
105 default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS
Tim Kryger6a4e4bf2014-04-25 11:31:12 -0700106 help
107 Generic PWM framework driver for Broadcom Kona PWM block.
108
109 To compile this driver as a module, choose M here: the module
110 will be called pwm-bcm-kona.
111
Bart Tanghee5a06dc2014-10-08 12:14:32 +0200112config PWM_BCM2835
113 tristate "BCM2835 PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100114 depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100115 depends on HAS_IOMEM
Bart Tanghee5a06dc2014-10-08 12:14:32 +0200116 help
117 PWM framework driver for BCM2835 controller (Raspberry Pi)
118
119 To compile this driver as a module, choose M here: the module
120 will be called pwm-bcm2835.
121
Antoine Ténart59d5c8b2015-10-02 16:59:47 +0200122config PWM_BERLIN
123 tristate "Marvell Berlin PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100124 depends on ARCH_BERLIN || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100125 depends on HAS_IOMEM
Antoine Ténart59d5c8b2015-10-02 16:59:47 +0200126 help
127 PWM framework driver for Marvell Berlin SoCs.
128
129 To compile this driver as a module, choose M here: the module
130 will be called pwm-berlin.
131
Florian Fainelli3a9f5952015-09-14 16:47:06 -0700132config PWM_BRCMSTB
133 tristate "Broadcom STB PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100134 depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100135 depends on HAS_IOMEM
Florian Fainelli3a9f5952015-09-14 16:47:06 -0700136 help
137 Generic PWM framework driver for the Broadcom Set-top-Box
138 SoCs (BCM7xxx).
139
140 To compile this driver as a module, choose M Here: the module
141 will be called pwm-brcmstb.c.
142
Alexander Shiyan7eb3f6f2014-03-12 19:53:05 +0400143config PWM_CLPS711X
144 tristate "CLPS711X PWM support"
145 depends on ARCH_CLPS711X || COMPILE_TEST
Chen Gangdec02f92014-10-04 17:48:42 +0800146 depends on HAS_IOMEM
Alexander Shiyan7eb3f6f2014-03-12 19:53:05 +0400147 help
148 Generic PWM framework driver for Cirrus Logic CLPS711X.
149
150 To compile this driver as a module, choose M here: the module
151 will be called pwm-clps711x.
152
Shobhit Kumara3f37a12015-06-26 14:32:08 +0530153config PWM_CRC
154 bool "Intel Crystalcove (CRC) PWM support"
155 depends on X86 && INTEL_SOC_PMIC
156 help
157 Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
158 control.
159
Brian Norris1f0d3bb2016-07-15 16:28:44 -0700160config PWM_CROS_EC
161 tristate "ChromeOS EC PWM driver"
Enric Balletbo i Serra47f11e02019-09-02 11:53:01 +0200162 depends on CROS_EC
Brian Norris1f0d3bb2016-07-15 16:28:44 -0700163 help
164 PWM driver for exposing a PWM attached to the ChromeOS Embedded
165 Controller.
166
Jarkko Nikula1ed2b3f2020-10-02 16:56:13 +0300167config PWM_DWC
168 tristate "DesignWare PWM Controller"
169 depends on PCI
170 help
171 PWM driver for Synopsys DWC PWM Controller attached to a PCI bus.
172
173 To compile this driver as a module, choose M here: the module
174 will be called pwm-dwc.
175
H Hartley Sweetena2308692013-10-15 18:40:03 -0700176config PWM_EP93XX
177 tristate "Cirrus Logic EP93xx PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100178 depends on ARCH_EP93XX || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100179 depends on HAS_IOMEM
H Hartley Sweetena2308692013-10-15 18:40:03 -0700180 help
181 Generic PWM framework driver for Cirrus Logic EP93xx.
182
183 To compile this driver as a module, choose M here: the module
184 will be called pwm-ep93xx.
185
Xiubo Lib5051832014-02-27 17:39:49 +0800186config PWM_FSL_FTM
187 tristate "Freescale FlexTimer Module (FTM) PWM support"
Vegard Nossum36d5be42016-01-02 14:02:07 +0100188 depends on HAS_IOMEM
Xiubo Lib5051832014-02-27 17:39:49 +0800189 depends on OF
Fabio Estevam00018a82014-08-21 20:50:25 -0300190 select REGMAP_MMIO
Xiubo Lib5051832014-02-27 17:39:49 +0800191 help
192 Generic FTM PWM framework driver for Freescale VF610 and
193 Layerscape LS-1 SoCs.
194
195 To compile this driver as a module, choose M here: the module
196 will be called pwm-fsl-ftm.
197
yuanjiand09f0082016-11-28 17:42:46 +0800198config PWM_HIBVT
199 tristate "HiSilicon BVT PWM support"
200 depends on ARCH_HISI || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100201 depends on HAS_IOMEM
yuanjiand09f0082016-11-28 17:42:46 +0800202 help
203 Generic PWM framework driver for HiSilicon BVT SoCs.
204
205 To compile this driver as a module, choose M here: the module
206 will be called pwm-hibvt.
207
Naidu Tellapati277bb6a2015-01-09 14:54:47 -0300208config PWM_IMG
209 tristate "Imagination Technologies PWM driver"
210 depends on HAS_IOMEM
211 depends on MFD_SYSCON
212 depends on COMMON_CLK
213 depends on MIPS || COMPILE_TEST
214 help
215 Generic PWM framework driver for Imagination Technologies
216 PWM block which supports 4 channels.
217
218 To compile this driver as a module, choose M here: the module
219 will be called pwm-img
220
Uwe Kleine-Königd80f8202019-01-07 20:53:52 +0100221config PWM_IMX1
222 tristate "i.MX1 PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100223 depends on ARCH_MXC || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100224 depends on HAS_IOMEM
Sascha Hauer29693242012-03-15 10:04:35 +0100225 help
Uwe Kleine-Königd80f8202019-01-07 20:53:52 +0100226 Generic PWM framework driver for i.MX1 and i.MX21
Sascha Hauer29693242012-03-15 10:04:35 +0100227
228 To compile this driver as a module, choose M here: the module
Uwe Kleine-Königd80f8202019-01-07 20:53:52 +0100229 will be called pwm-imx1.
230
231config PWM_IMX27
232 tristate "i.MX27 PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100233 depends on ARCH_MXC || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100234 depends on HAS_IOMEM
Uwe Kleine-Königd80f8202019-01-07 20:53:52 +0100235 help
236 Generic PWM framework driver for i.MX27 and later i.MX SoCs.
237
238 To compile this driver as a module, choose M here: the module
239 will be called pwm-imx27.
Sascha Hauer29693242012-03-15 10:04:35 +0100240
Anson Huang738a1cf2019-05-09 13:29:29 +0000241config PWM_IMX_TPM
242 tristate "i.MX TPM PWM support"
243 depends on ARCH_MXC || COMPILE_TEST
244 depends on HAVE_CLK && HAS_IOMEM
245 help
246 Generic PWM framework driver for i.MX7ULP TPM module, TPM's full
247 name is Low Power Timer/Pulse Width Modulation Module.
248
249 To compile this driver as a module, choose M here: the module
250 will be called pwm-imx-tpm.
251
Rahul Tanwar97960ad2020-11-05 13:49:40 +0800252config PWM_INTEL_LGM
253 tristate "Intel LGM PWM support"
254 depends on HAS_IOMEM
255 depends on (OF && X86) || COMPILE_TEST
256 select REGMAP_MMIO
257 help
258 Generic PWM fan controller driver for LGM SoC.
259
260 To compile this driver as a module, choose M here: the module
261 will be called pwm-intel-lgm.
262
Jeff LaBundy6f0841a2020-04-12 21:15:16 -0500263config PWM_IQS620A
264 tristate "Azoteq IQS620A PWM support"
265 depends on MFD_IQS62X || COMPILE_TEST
266 help
267 Generic PWM framework driver for the Azoteq IQS620A multi-function
268 sensor.
269
270 To compile this driver as a module, choose M here: the module will
271 be called pwm-iqs620a.
272
Thierry Redingf6b8a572012-08-22 10:01:24 +0200273config PWM_JZ4740
Paul Cercueilb4190062018-01-06 17:58:43 +0100274 tristate "Ingenic JZ47xx PWM support"
Paul Cercueilb48d49e2020-05-27 13:52:22 +0200275 depends on MIPS
Paul Cercueilce1f9ce2020-03-23 15:24:18 +0100276 depends on COMMON_CLK
Paul Cercueilc2693512020-03-23 15:24:20 +0100277 select MFD_SYSCON
Thierry Redingf6b8a572012-08-22 10:01:24 +0200278 help
Paul Cercueilb4190062018-01-06 17:58:43 +0100279 Generic PWM framework driver for Ingenic JZ47xx based
Thierry Redingf6b8a572012-08-22 10:01:24 +0200280 machines.
281
282 To compile this driver as a module, choose M here: the module
283 will be called pwm-jz4740.
284
Vijayakannan Ayyathuraibd899ce2020-10-22 15:14:46 +0800285config PWM_KEEMBAY
286 tristate "Intel Keem Bay PWM driver"
287 depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
288 help
289 The platform driver for Intel Keem Bay PWM controller.
290
291 To compile this driver as a module, choose M here: the module
292 will be called pwm-keembay.
293
Milo Kimaf66b3c2013-12-06 11:18:43 +0900294config PWM_LP3943
295 tristate "TI/National Semiconductor LP3943 PWM support"
296 depends on MFD_LP3943
297 help
298 Generic PWM framework driver for LP3943 which supports two PWM
299 channels.
300
301 To compile this driver as a module, choose M here: the module
302 will be called pwm-lp3943.
303
Ariel D'Alessandro841e6f92015-08-05 23:31:46 -0300304config PWM_LPC18XX_SCT
305 tristate "LPC18xx/43xx PWM/SCT support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100306 depends on ARCH_LPC18XX || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100307 depends on HAS_IOMEM
Ariel D'Alessandro841e6f92015-08-05 23:31:46 -0300308 help
309 Generic PWM framework driver for NXP LPC18xx PWM/SCT which
310 supports 16 channels.
311 A maximum of 15 channels can be requested simultaneously and
312 must have the same period.
313
314 To compile this driver as a module, choose M here: the module
315 will be called pwm-lpc18xx-sct.
316
Alexandre Pereira da Silva2132fa82012-07-10 11:38:10 -0300317config PWM_LPC32XX
318 tristate "LPC32XX PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100319 depends on ARCH_LPC32XX || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100320 depends on HAS_IOMEM
Alexandre Pereira da Silva2132fa82012-07-10 11:38:10 -0300321 help
322 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
323 PWM controllers.
324
325 To compile this driver as a module, choose M here: the module
326 will be called pwm-lpc32xx.
327
Mika Westerbergd16a5aa2014-03-20 22:04:23 +0800328config PWM_LPSS
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100329 depends on HAS_IOMEM
Andy Shevchenko6f90a002015-11-18 13:25:17 +0200330 tristate
Mika Westerbergd16a5aa2014-03-20 22:04:23 +0800331
Andy Shevchenkoc558e392014-08-19 19:17:35 +0300332config PWM_LPSS_PCI
333 tristate "Intel LPSS PWM PCI driver"
Uwe Kleine-Königaa43edc2020-11-18 10:45:09 +0100334 depends on X86 || COMPILE_TEST
335 depends on HAS_IOMEM && PCI
Andy Shevchenko6f90a002015-11-18 13:25:17 +0200336 select PWM_LPSS
Andy Shevchenkoc558e392014-08-19 19:17:35 +0300337 help
338 The PCI driver for Intel Low Power Subsystem PWM controller.
339
340 To compile this driver as a module, choose M here: the module
341 will be called pwm-lpss-pci.
342
343config PWM_LPSS_PLATFORM
344 tristate "Intel LPSS PWM platform driver"
Uwe Kleine-Königaa43edc2020-11-18 10:45:09 +0100345 depends on (X86 && ACPI) || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100346 depends on HAS_IOMEM
Andy Shevchenko6f90a002015-11-18 13:25:17 +0200347 select PWM_LPSS
Andy Shevchenkoc558e392014-08-19 19:17:35 +0300348 help
349 The platform driver for Intel Low Power Subsystem PWM controller.
350
351 To compile this driver as a module, choose M here: the module
352 will be called pwm-lpss-platform.
353
Neil Armstrong211ed632016-08-22 17:36:30 +0200354config PWM_MESON
355 tristate "Amlogic Meson PWM driver"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100356 depends on ARCH_MESON || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100357 depends on COMMON_CLK && HAS_IOMEM
Neil Armstrong211ed632016-08-22 17:36:30 +0200358 help
359 The platform driver for Amlogic Meson PWM controller.
360
361 To compile this driver as a module, choose M here: the module
362 will be called pwm-meson.
363
YH Huang7e3b7dc2015-08-18 15:27:54 +0800364config PWM_MTK_DISP
365 tristate "MediaTek display PWM driver"
366 depends on ARCH_MEDIATEK || COMPILE_TEST
367 depends on HAS_IOMEM
368 help
369 Generic PWM framework driver for MediaTek disp-pwm device.
370 The PWM is used to control the backlight brightness for display.
371
372 To compile this driver as a module, choose M here: the module
373 will be called pwm-mtk-disp.
374
John Crispincaf065f2017-01-23 19:34:37 +0100375config PWM_MEDIATEK
376 tristate "MediaTek PWM support"
John Crispin8cdc43a2018-07-25 11:52:09 +0200377 depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100378 depends on HAS_IOMEM
John Crispincaf065f2017-01-23 19:34:37 +0100379 help
380 Generic PWM framework driver for Mediatek ARM SoC.
381
382 To compile this driver as a module, choose M here: the module
Zhi Maoaa12d7a2017-06-30 14:05:16 +0800383 will be called pwm-mediatek.
John Crispincaf065f2017-01-23 19:34:37 +0100384
Shawn Guo4dce82c2012-04-04 10:50:52 +0800385config PWM_MXS
386 tristate "Freescale MXS PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100387 depends on ARCH_MXS || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100388 depends on HAS_IOMEM && OF
Shawn Guo01bf32e2012-06-26 16:58:09 +0800389 select STMP_DEVICE
Shawn Guo4dce82c2012-04-04 10:50:52 +0800390 help
391 Generic PWM framework driver for Freescale MXS.
392
393 To compile this driver as a module, choose M here: the module
394 will be called pwm-mxs.
395
Neil Armstrong6604c652015-11-02 12:14:21 +0100396config PWM_OMAP_DMTIMER
397 tristate "OMAP Dual-Mode Timer PWM support"
Uwe Kleine-König9f2919e2019-11-11 10:03:57 +0100398 depends on OF
399 depends on OMAP_DM_TIMER || COMPILE_TEST
Neil Armstrong6604c652015-11-02 12:14:21 +0100400 help
401 Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
402
403 To compile this driver as a module, choose M here: the module
404 will be called pwm-omap-dmtimer
405
Steffen Trumtrar88b613e2013-05-30 09:50:12 +0200406config PWM_PCA9685
407 tristate "NXP PCA9685 PWM driver"
Andy Shevchenko912b8432015-10-07 13:18:49 +0300408 depends on I2C
Axel Lin2c80a492013-12-17 11:51:29 +0800409 select REGMAP_I2C
Steffen Trumtrar88b613e2013-05-30 09:50:12 +0200410 help
411 Generic PWM framework driver for NXP PCA9685 LED controller.
412
413 To compile this driver as a module, choose M here: the module
414 will be called pwm-pca9685.
415
Thierry Reding17b2b472012-01-02 21:22:38 +0100416config PWM_PXA
417 tristate "PXA PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100418 depends on ARCH_PXA || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100419 depends on HAS_IOMEM
Thierry Reding17b2b472012-01-02 21:22:38 +0100420 help
421 Generic PWM framework driver for PXA.
422
423 To compile this driver as a module, choose M here: the module
424 will be called pwm-pxa.
425
Yoshihiro Shimodaed6c1472015-09-30 17:47:53 +0900426config PWM_RCAR
427 tristate "Renesas R-Car PWM support"
Ryo Kodama48169982016-03-31 13:39:11 +0200428 depends on ARCH_RENESAS || COMPILE_TEST
Yoshihiro Shimodaed6c1472015-09-30 17:47:53 +0900429 depends on HAS_IOMEM
430 help
431 This driver exposes the PWM Timer controller found in Renesas
432 R-Car chips through the PWM API.
433
434 To compile this driver as a module, choose M here: the module
435 will be called pwm-rcar.
436
Laurent Pinchart99b82ab2013-06-13 18:54:44 +0200437config PWM_RENESAS_TPU
438 tristate "Renesas TPU PWM support"
Simon Horman03d99532016-02-25 10:03:23 +0900439 depends on ARCH_RENESAS || COMPILE_TEST
Richard Weinberger2974b092014-01-31 13:45:18 +0100440 depends on HAS_IOMEM
Laurent Pinchart99b82ab2013-06-13 18:54:44 +0200441 help
442 This driver exposes the Timer Pulse Unit (TPU) PWM controller found
443 in Renesas chips through the PWM API.
444
445 To compile this driver as a module, choose M here: the module
446 will be called pwm-renesas-tpu.
447
Beniamino Galvani101353c2014-06-21 16:22:06 +0200448config PWM_ROCKCHIP
449 tristate "Rockchip PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100450 depends on ARCH_ROCKCHIP || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100451 depends on HAS_IOMEM
Beniamino Galvani101353c2014-06-21 16:22:06 +0200452 help
453 Generic PWM framework driver for the PWM controller found on
454 Rockchip SoCs.
455
Sascha Hauer215c29d2012-03-15 10:04:36 +0100456config PWM_SAMSUNG
Thierry Redingb133d2a2013-01-30 09:19:55 +0100457 tristate "Samsung PWM support"
Arnd Bergmanndb8230d2020-08-06 20:20:35 +0200458 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100459 depends on HAS_IOMEM
Sascha Hauer215c29d2012-03-15 10:04:36 +0100460 help
461 Generic PWM framework driver for Samsung.
462
463 To compile this driver as a module, choose M here: the module
464 will be called pwm-samsung.
465
Yash Shah9e37a532019-06-11 11:14:44 +0530466config PWM_SIFIVE
467 tristate "SiFive PWM support"
468 depends on OF
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100469 depends on COMMON_CLK && HAS_IOMEM
Yash Shah9e37a532019-06-11 11:14:44 +0530470 depends on RISCV || COMPILE_TEST
471 help
472 Generic PWM framework driver for SiFive SoCs.
473
474 To compile this driver as a module, choose M here: the module
475 will be called pwm-sifive.
476
Michael Walle9db33d22020-09-14 23:43:34 +0200477config PWM_SL28CPLD
478 tristate "Kontron sl28cpld PWM support"
479 depends on MFD_SL28CPLD || COMPILE_TEST
480 help
481 Generic PWM framework driver for board management controller
482 found on the Kontron sl28 CPLD.
483
484 To compile this driver as a module, choose M here: the module
485 will be called pwm-sl28cpld.
486
Shiraz Hashimce203642012-10-25 09:39:13 +0530487config PWM_SPEAR
488 tristate "STMicroelectronics SPEAr PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100489 depends on PLAT_SPEAR || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100490 depends on HAS_IOMEM && OF
Shiraz Hashimce203642012-10-25 09:39:13 +0530491 help
492 Generic PWM framework driver for the PWM controller on ST
493 SPEAr SoCs.
494
495 To compile this driver as a module, choose M here: the module
496 will be called pwm-spear.
497
Baolin Wang8aae4b02019-08-14 20:46:11 +0800498config PWM_SPRD
499 tristate "Spreadtrum PWM support"
500 depends on ARCH_SPRD || COMPILE_TEST
501 depends on HAS_IOMEM
502 help
503 Generic PWM framework driver for the PWM controller on
504 Spreadtrum SoCs.
505
506 To compile this driver as a module, choose M here: the module
507 will be called pwm-sprd.
508
Lee Jones378fe112014-07-14 15:33:27 +0100509config PWM_STI
510 tristate "STiH4xx PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100511 depends on ARCH_STI || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100512 depends on HAS_IOMEM && OF
Lee Jones378fe112014-07-14 15:33:27 +0100513 help
514 Generic PWM framework driver for STiH4xx SoCs.
515
516 To compile this driver as a module, choose M here: the module
517 will be called pwm-sti.
518
Benjamin Gaignard7edf7362017-01-20 10:15:05 +0100519config PWM_STM32
520 tristate "STMicroelectronics STM32 PWM"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100521 depends on MFD_STM32_TIMERS || COMPILE_TEST
Benjamin Gaignard7edf7362017-01-20 10:15:05 +0100522 help
523 Generic PWM framework driver for STM32 SoCs.
524
525 To compile this driver as a module, choose M here: the module
526 will be called pwm-stm32.
527
Fabrice Gasniere70a5402017-08-28 12:04:09 +0200528config PWM_STM32_LP
529 tristate "STMicroelectronics STM32 PWM LP"
530 depends on MFD_STM32_LPTIMER || COMPILE_TEST
531 help
532 Generic PWM framework driver for STMicroelectronics STM32 SoCs
533 with Low-Power Timer (LPTIM).
534
535 To compile this driver as a module, choose M here: the module
536 will be called pwm-stm32-lp.
537
Linus Walleijef1f09e2016-04-05 23:22:37 +0200538config PWM_STMPE
539 bool "STMPE expander PWM export"
540 depends on MFD_STMPE
541 help
542 This enables support for the PWMs found in the STMPE I/O
543 expanders.
544
Alexandre Belloni09853ce2014-12-17 22:15:39 +0100545config PWM_SUN4I
546 tristate "Allwinner PWM support"
547 depends on ARCH_SUNXI || COMPILE_TEST
548 depends on HAS_IOMEM && COMMON_CLK
549 help
550 Generic PWM framework driver for Allwinner SoCs.
551
552 To compile this driver as a module, choose M here: the module
553 will be called pwm-sun4i.
554
Thierry Reding0134b932011-12-21 07:47:07 +0100555config PWM_TEGRA
556 tristate "NVIDIA Tegra PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100557 depends on ARCH_TEGRA || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100558 depends on HAS_IOMEM
Thierry Reding0134b932011-12-21 07:47:07 +0100559 help
560 Generic PWM framework driver for the PWFM controller found on NVIDIA
561 Tegra SoCs.
562
563 To compile this driver as a module, choose M here: the module
564 will be called pwm-tegra.
565
Krzysztof Kozlowskif24e5642019-12-30 18:21:12 +0100566config PWM_TIECAP
Philip, Avinash8e0cb05b2012-07-25 16:58:18 +0530567 tristate "ECAP PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100568 depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100569 depends on HAS_IOMEM
Philip, Avinash8e0cb05b2012-07-25 16:58:18 +0530570 help
Vignesh R6f377092018-10-16 11:34:02 +0530571 PWM driver support for the ECAP APWM controller found on TI SOCs
Philip, Avinash8e0cb05b2012-07-25 16:58:18 +0530572
573 To compile this driver as a module, choose M here: the module
574 will be called pwm-tiecap.
575
Krzysztof Kozlowskif24e5642019-12-30 18:21:12 +0100576config PWM_TIEHRPWM
Philip, Avinash19891b22012-07-25 16:58:19 +0530577 tristate "EHRPWM PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100578 depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100579 depends on HAS_IOMEM
Philip, Avinash19891b22012-07-25 16:58:19 +0530580 help
Vignesh Raghavendraefc80fb32019-03-12 14:46:29 +0530581 PWM driver support for the EHRPWM controller found on TI SOCs
Philip, Avinash19891b22012-07-25 16:58:19 +0530582
583 To compile this driver as a module, choose M here: the module
584 will be called pwm-tiehrpwm.
585
Peter Ujfalusi3744c262012-11-27 11:09:57 +0100586config PWM_TWL
587 tristate "TWL4030/6030 PWM support"
588 depends on TWL4030_CORE
589 help
590 Generic PWM framework driver for TWL4030/6030.
591
592 To compile this driver as a module, choose M here: the module
593 will be called pwm-twl.
594
Peter Ujfalusiaa765642012-11-27 11:09:58 +0100595config PWM_TWL_LED
596 tristate "TWL4030/6030 PWM support for LED drivers"
597 depends on TWL4030_CORE
598 help
599 Generic PWM framework driver for TWL4030/6030 LED terminals.
600
601 To compile this driver as a module, choose M here: the module
602 will be called pwm-twl-led.
603
Sascha Hauera245cce2012-03-15 10:04:37 +0100604config PWM_VT8500
Thierry Redingb133d2a2013-01-30 09:19:55 +0100605 tristate "vt8500 PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100606 depends on ARCH_VT8500 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100607 depends on HAS_IOMEM
Sascha Hauera245cce2012-03-15 10:04:37 +0100608 help
609 Generic PWM framework driver for vt8500.
610
611 To compile this driver as a module, choose M here: the module
612 will be called pwm-vt8500.
613
Sascha Hauer0c2498f2011-01-28 09:40:40 +0100614endif