blob: 21e3b05a5153a9ba1f7e59bd623bee0a3f397f80 [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"
Uwe Kleine-König2ee4bc92021-07-07 18:27:58 +0200275 depends on MIPS || COMPILE_TEST
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"
Uwe Kleine-Königcf83f7b2021-07-07 18:27:59 +0200287 depends on ARCH_KEEMBAY || COMPILE_TEST
288 depends on COMMON_CLK && HAS_IOMEM
Vijayakannan Ayyathuraibd899ce2020-10-22 15:14:46 +0800289 help
290 The platform driver for Intel Keem Bay PWM controller.
291
292 To compile this driver as a module, choose M here: the module
293 will be called pwm-keembay.
294
Milo Kimaf66b3c2013-12-06 11:18:43 +0900295config PWM_LP3943
296 tristate "TI/National Semiconductor LP3943 PWM support"
297 depends on MFD_LP3943
298 help
299 Generic PWM framework driver for LP3943 which supports two PWM
300 channels.
301
302 To compile this driver as a module, choose M here: the module
303 will be called pwm-lp3943.
304
Ariel D'Alessandro841e6f92015-08-05 23:31:46 -0300305config PWM_LPC18XX_SCT
306 tristate "LPC18xx/43xx PWM/SCT support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100307 depends on ARCH_LPC18XX || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100308 depends on HAS_IOMEM
Ariel D'Alessandro841e6f92015-08-05 23:31:46 -0300309 help
310 Generic PWM framework driver for NXP LPC18xx PWM/SCT which
311 supports 16 channels.
312 A maximum of 15 channels can be requested simultaneously and
313 must have the same period.
314
315 To compile this driver as a module, choose M here: the module
316 will be called pwm-lpc18xx-sct.
317
Alexandre Pereira da Silva2132fa82012-07-10 11:38:10 -0300318config PWM_LPC32XX
319 tristate "LPC32XX PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100320 depends on ARCH_LPC32XX || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100321 depends on HAS_IOMEM
Alexandre Pereira da Silva2132fa82012-07-10 11:38:10 -0300322 help
323 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
324 PWM controllers.
325
326 To compile this driver as a module, choose M here: the module
327 will be called pwm-lpc32xx.
328
Mika Westerbergd16a5aa2014-03-20 22:04:23 +0800329config PWM_LPSS
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100330 depends on HAS_IOMEM
Andy Shevchenko6f90a002015-11-18 13:25:17 +0200331 tristate
Mika Westerbergd16a5aa2014-03-20 22:04:23 +0800332
Andy Shevchenkoc558e392014-08-19 19:17:35 +0300333config PWM_LPSS_PCI
334 tristate "Intel LPSS PWM PCI driver"
Uwe Kleine-Königaa43edc2020-11-18 10:45:09 +0100335 depends on X86 || COMPILE_TEST
336 depends on HAS_IOMEM && PCI
Andy Shevchenko6f90a002015-11-18 13:25:17 +0200337 select PWM_LPSS
Andy Shevchenkoc558e392014-08-19 19:17:35 +0300338 help
339 The PCI driver for Intel Low Power Subsystem PWM controller.
340
341 To compile this driver as a module, choose M here: the module
342 will be called pwm-lpss-pci.
343
344config PWM_LPSS_PLATFORM
345 tristate "Intel LPSS PWM platform driver"
Uwe Kleine-Königaa43edc2020-11-18 10:45:09 +0100346 depends on (X86 && ACPI) || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100347 depends on HAS_IOMEM
Andy Shevchenko6f90a002015-11-18 13:25:17 +0200348 select PWM_LPSS
Andy Shevchenkoc558e392014-08-19 19:17:35 +0300349 help
350 The platform driver for Intel Low Power Subsystem PWM controller.
351
352 To compile this driver as a module, choose M here: the module
353 will be called pwm-lpss-platform.
354
Neil Armstrong211ed632016-08-22 17:36:30 +0200355config PWM_MESON
356 tristate "Amlogic Meson PWM driver"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100357 depends on ARCH_MESON || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100358 depends on COMMON_CLK && HAS_IOMEM
Neil Armstrong211ed632016-08-22 17:36:30 +0200359 help
360 The platform driver for Amlogic Meson PWM controller.
361
362 To compile this driver as a module, choose M here: the module
363 will be called pwm-meson.
364
YH Huang7e3b7dc2015-08-18 15:27:54 +0800365config PWM_MTK_DISP
366 tristate "MediaTek display PWM driver"
367 depends on ARCH_MEDIATEK || COMPILE_TEST
368 depends on HAS_IOMEM
369 help
370 Generic PWM framework driver for MediaTek disp-pwm device.
371 The PWM is used to control the backlight brightness for display.
372
373 To compile this driver as a module, choose M here: the module
374 will be called pwm-mtk-disp.
375
John Crispincaf065f2017-01-23 19:34:37 +0100376config PWM_MEDIATEK
377 tristate "MediaTek PWM support"
John Crispin8cdc43a2018-07-25 11:52:09 +0200378 depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100379 depends on HAS_IOMEM
John Crispincaf065f2017-01-23 19:34:37 +0100380 help
381 Generic PWM framework driver for Mediatek ARM SoC.
382
383 To compile this driver as a module, choose M here: the module
Zhi Maoaa12d7a2017-06-30 14:05:16 +0800384 will be called pwm-mediatek.
John Crispincaf065f2017-01-23 19:34:37 +0100385
Shawn Guo4dce82c2012-04-04 10:50:52 +0800386config PWM_MXS
387 tristate "Freescale MXS PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100388 depends on ARCH_MXS || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100389 depends on HAS_IOMEM && OF
Shawn Guo01bf32e2012-06-26 16:58:09 +0800390 select STMP_DEVICE
Shawn Guo4dce82c2012-04-04 10:50:52 +0800391 help
392 Generic PWM framework driver for Freescale MXS.
393
394 To compile this driver as a module, choose M here: the module
395 will be called pwm-mxs.
396
Jonathan Neuschäfer9fc04862021-01-24 22:41:24 +0100397config PWM_NTXEC
398 tristate "Netronix embedded controller PWM support"
399 depends on MFD_NTXEC
400 help
401 Say yes here if you want to support the PWM output of the embedded
402 controller found in certain e-book readers designed by the original
403 design manufacturer Netronix.
404
Neil Armstrong6604c652015-11-02 12:14:21 +0100405config PWM_OMAP_DMTIMER
406 tristate "OMAP Dual-Mode Timer PWM support"
Uwe Kleine-König9f2919e2019-11-11 10:03:57 +0100407 depends on OF
408 depends on OMAP_DM_TIMER || COMPILE_TEST
Neil Armstrong6604c652015-11-02 12:14:21 +0100409 help
410 Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
411
412 To compile this driver as a module, choose M here: the module
413 will be called pwm-omap-dmtimer
414
Steffen Trumtrar88b613e2013-05-30 09:50:12 +0200415config PWM_PCA9685
416 tristate "NXP PCA9685 PWM driver"
Andy Shevchenko912b8432015-10-07 13:18:49 +0300417 depends on I2C
Axel Lin2c80a492013-12-17 11:51:29 +0800418 select REGMAP_I2C
Steffen Trumtrar88b613e2013-05-30 09:50:12 +0200419 help
420 Generic PWM framework driver for NXP PCA9685 LED controller.
421
422 To compile this driver as a module, choose M here: the module
423 will be called pwm-pca9685.
424
Thierry Reding17b2b472012-01-02 21:22:38 +0100425config PWM_PXA
426 tristate "PXA PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100427 depends on ARCH_PXA || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100428 depends on HAS_IOMEM
Thierry Reding17b2b472012-01-02 21:22:38 +0100429 help
430 Generic PWM framework driver for PXA.
431
432 To compile this driver as a module, choose M here: the module
433 will be called pwm-pxa.
434
Nicolas Saenz Julienne79caa362021-01-18 13:32:44 +0100435config PWM_RASPBERRYPI_POE
436 tristate "Raspberry Pi Firwmware PoE Hat PWM support"
437 # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
438 # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
439 depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
440 help
441 Enable Raspberry Pi firmware controller PWM bus used to control the
442 official RPI PoE hat
443
Yoshihiro Shimodaed6c1472015-09-30 17:47:53 +0900444config PWM_RCAR
445 tristate "Renesas R-Car PWM support"
Ryo Kodama48169982016-03-31 13:39:11 +0200446 depends on ARCH_RENESAS || COMPILE_TEST
Yoshihiro Shimodaed6c1472015-09-30 17:47:53 +0900447 depends on HAS_IOMEM
448 help
449 This driver exposes the PWM Timer controller found in Renesas
450 R-Car chips through the PWM API.
451
452 To compile this driver as a module, choose M here: the module
453 will be called pwm-rcar.
454
Laurent Pinchart99b82ab2013-06-13 18:54:44 +0200455config PWM_RENESAS_TPU
456 tristate "Renesas TPU PWM support"
Simon Horman03d99532016-02-25 10:03:23 +0900457 depends on ARCH_RENESAS || COMPILE_TEST
Richard Weinberger2974b092014-01-31 13:45:18 +0100458 depends on HAS_IOMEM
Laurent Pinchart99b82ab2013-06-13 18:54:44 +0200459 help
460 This driver exposes the Timer Pulse Unit (TPU) PWM controller found
461 in Renesas chips through the PWM API.
462
463 To compile this driver as a module, choose M here: the module
464 will be called pwm-renesas-tpu.
465
Beniamino Galvani101353c2014-06-21 16:22:06 +0200466config PWM_ROCKCHIP
467 tristate "Rockchip PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100468 depends on ARCH_ROCKCHIP || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100469 depends on HAS_IOMEM
Beniamino Galvani101353c2014-06-21 16:22:06 +0200470 help
471 Generic PWM framework driver for the PWM controller found on
472 Rockchip SoCs.
473
Sascha Hauer215c29d2012-03-15 10:04:36 +0100474config PWM_SAMSUNG
Thierry Redingb133d2a2013-01-30 09:19:55 +0100475 tristate "Samsung PWM support"
Arnd Bergmanndb8230d2020-08-06 20:20:35 +0200476 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100477 depends on HAS_IOMEM
Sascha Hauer215c29d2012-03-15 10:04:36 +0100478 help
Krzysztof Kozlowski06dfae32021-09-24 15:31:48 +0200479 Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210
480 and Exynos SoCs.
481 Choose Y here only if you build for such Samsung SoC.
Sascha Hauer215c29d2012-03-15 10:04:36 +0100482
483 To compile this driver as a module, choose M here: the module
484 will be called pwm-samsung.
485
Yash Shah9e37a532019-06-11 11:14:44 +0530486config PWM_SIFIVE
487 tristate "SiFive PWM support"
488 depends on OF
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100489 depends on COMMON_CLK && HAS_IOMEM
Yash Shah9e37a532019-06-11 11:14:44 +0530490 depends on RISCV || COMPILE_TEST
491 help
492 Generic PWM framework driver for SiFive SoCs.
493
494 To compile this driver as a module, choose M here: the module
495 will be called pwm-sifive.
496
Michael Walle9db33d22020-09-14 23:43:34 +0200497config PWM_SL28CPLD
498 tristate "Kontron sl28cpld PWM support"
499 depends on MFD_SL28CPLD || COMPILE_TEST
500 help
501 Generic PWM framework driver for board management controller
502 found on the Kontron sl28 CPLD.
503
504 To compile this driver as a module, choose M here: the module
505 will be called pwm-sl28cpld.
506
Shiraz Hashimce203642012-10-25 09:39:13 +0530507config PWM_SPEAR
508 tristate "STMicroelectronics SPEAr PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100509 depends on PLAT_SPEAR || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100510 depends on HAS_IOMEM && OF
Shiraz Hashimce203642012-10-25 09:39:13 +0530511 help
512 Generic PWM framework driver for the PWM controller on ST
513 SPEAr SoCs.
514
515 To compile this driver as a module, choose M here: the module
516 will be called pwm-spear.
517
Baolin Wang8aae4b02019-08-14 20:46:11 +0800518config PWM_SPRD
519 tristate "Spreadtrum PWM support"
520 depends on ARCH_SPRD || COMPILE_TEST
521 depends on HAS_IOMEM
522 help
523 Generic PWM framework driver for the PWM controller on
524 Spreadtrum SoCs.
525
526 To compile this driver as a module, choose M here: the module
527 will be called pwm-sprd.
528
Lee Jones378fe112014-07-14 15:33:27 +0100529config PWM_STI
530 tristate "STiH4xx PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100531 depends on ARCH_STI || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100532 depends on HAS_IOMEM && OF
Lee Jones378fe112014-07-14 15:33:27 +0100533 help
534 Generic PWM framework driver for STiH4xx SoCs.
535
536 To compile this driver as a module, choose M here: the module
537 will be called pwm-sti.
538
Benjamin Gaignard7edf7362017-01-20 10:15:05 +0100539config PWM_STM32
540 tristate "STMicroelectronics STM32 PWM"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100541 depends on MFD_STM32_TIMERS || COMPILE_TEST
Benjamin Gaignard7edf7362017-01-20 10:15:05 +0100542 help
543 Generic PWM framework driver for STM32 SoCs.
544
545 To compile this driver as a module, choose M here: the module
546 will be called pwm-stm32.
547
Fabrice Gasniere70a5402017-08-28 12:04:09 +0200548config PWM_STM32_LP
549 tristate "STMicroelectronics STM32 PWM LP"
550 depends on MFD_STM32_LPTIMER || COMPILE_TEST
551 help
552 Generic PWM framework driver for STMicroelectronics STM32 SoCs
553 with Low-Power Timer (LPTIM).
554
555 To compile this driver as a module, choose M here: the module
556 will be called pwm-stm32-lp.
557
Linus Walleijef1f09e2016-04-05 23:22:37 +0200558config PWM_STMPE
559 bool "STMPE expander PWM export"
560 depends on MFD_STMPE
561 help
562 This enables support for the PWMs found in the STMPE I/O
563 expanders.
564
Alexandre Belloni09853ce2014-12-17 22:15:39 +0100565config PWM_SUN4I
566 tristate "Allwinner PWM support"
567 depends on ARCH_SUNXI || COMPILE_TEST
568 depends on HAS_IOMEM && COMMON_CLK
569 help
570 Generic PWM framework driver for Allwinner SoCs.
571
572 To compile this driver as a module, choose M here: the module
573 will be called pwm-sun4i.
574
Thierry Reding0134b932011-12-21 07:47:07 +0100575config PWM_TEGRA
576 tristate "NVIDIA Tegra PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100577 depends on ARCH_TEGRA || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100578 depends on HAS_IOMEM
Thierry Reding0134b932011-12-21 07:47:07 +0100579 help
580 Generic PWM framework driver for the PWFM controller found on NVIDIA
581 Tegra SoCs.
582
583 To compile this driver as a module, choose M here: the module
584 will be called pwm-tegra.
585
Krzysztof Kozlowskif24e5642019-12-30 18:21:12 +0100586config PWM_TIECAP
Philip, Avinash8e0cb05b2012-07-25 16:58:18 +0530587 tristate "ECAP PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100588 depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100589 depends on HAS_IOMEM
Philip, Avinash8e0cb05b2012-07-25 16:58:18 +0530590 help
Vignesh R6f377092018-10-16 11:34:02 +0530591 PWM driver support for the ECAP APWM controller found on TI SOCs
Philip, Avinash8e0cb05b2012-07-25 16:58:18 +0530592
593 To compile this driver as a module, choose M here: the module
594 will be called pwm-tiecap.
595
Krzysztof Kozlowskif24e5642019-12-30 18:21:12 +0100596config PWM_TIEHRPWM
Philip, Avinash19891b22012-07-25 16:58:19 +0530597 tristate "EHRPWM PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100598 depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100599 depends on HAS_IOMEM
Philip, Avinash19891b22012-07-25 16:58:19 +0530600 help
Vignesh Raghavendraefc80fb32019-03-12 14:46:29 +0530601 PWM driver support for the EHRPWM controller found on TI SOCs
Philip, Avinash19891b22012-07-25 16:58:19 +0530602
603 To compile this driver as a module, choose M here: the module
604 will be called pwm-tiehrpwm.
605
Peter Ujfalusi3744c262012-11-27 11:09:57 +0100606config PWM_TWL
607 tristate "TWL4030/6030 PWM support"
608 depends on TWL4030_CORE
609 help
610 Generic PWM framework driver for TWL4030/6030.
611
612 To compile this driver as a module, choose M here: the module
613 will be called pwm-twl.
614
Peter Ujfalusiaa765642012-11-27 11:09:58 +0100615config PWM_TWL_LED
616 tristate "TWL4030/6030 PWM support for LED drivers"
617 depends on TWL4030_CORE
618 help
619 Generic PWM framework driver for TWL4030/6030 LED terminals.
620
621 To compile this driver as a module, choose M here: the module
622 will be called pwm-twl-led.
623
Nobuhiro Iwamatsu721b5952021-04-19 09:00:07 +0900624config PWM_VISCONTI
625 tristate "Toshiba Visconti PWM support"
626 depends on ARCH_VISCONTI || COMPILE_TEST
627 help
628 PWM Subsystem driver support for Toshiba Visconti SoCs.
629
630 To compile this driver as a module, choose M here: the module
631 will be called pwm-visconti.
632
Sascha Hauera245cce2012-03-15 10:04:37 +0100633config PWM_VT8500
Thierry Redingb133d2a2013-01-30 09:19:55 +0100634 tristate "vt8500 PWM support"
Krzysztof Kozlowskie96c0ff2020-03-03 21:24:47 +0100635 depends on ARCH_VT8500 || COMPILE_TEST
Uwe Kleine-König71d4b832020-11-18 10:45:08 +0100636 depends on HAS_IOMEM
Sascha Hauera245cce2012-03-15 10:04:37 +0100637 help
638 Generic PWM framework driver for vt8500.
639
640 To compile this driver as a module, choose M here: the module
641 will be called pwm-vt8500.
642
Sascha Hauer0c2498f2011-01-28 09:40:40 +0100643endif