xref: /linux/drivers/pwm/Kconfig (revision a919610db43b34621d0c3b333e12db9002caf5da)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
20c2498f1SSascha Hauermenuconfig PWM
3b817bf5cSThierry Reding	bool "Pulse-Width Modulation (PWM) Support"
40c2498f1SSascha Hauer	help
5b817bf5cSThierry Reding	  Generic Pulse-Width Modulation (PWM) support.
60c2498f1SSascha Hauer
7b817bf5cSThierry Reding	  In Pulse-Width Modulation, a variation of the width of pulses
8b817bf5cSThierry Reding	  in a rectangular pulse signal is used as a means to alter the
9b817bf5cSThierry Reding	  average power of the signal. Applications include efficient
10b817bf5cSThierry Reding	  power delivery and voltage regulation. In computer systems,
11b817bf5cSThierry Reding	  PWMs are commonly used to control fans or the brightness of
12b817bf5cSThierry Reding	  display backlights.
13b817bf5cSThierry Reding
14b817bf5cSThierry Reding	  This framework provides a generic interface to PWM devices
15b817bf5cSThierry Reding	  within the Linux kernel. On the driver side it provides an API
16b817bf5cSThierry Reding	  to register and unregister a PWM chip, an abstraction of a PWM
17b817bf5cSThierry Reding	  controller, that supports one or more PWM devices. Client
18b817bf5cSThierry Reding	  drivers can request PWM devices and use the generic framework
19b817bf5cSThierry Reding	  to configure as well as enable and disable them.
20b817bf5cSThierry Reding
21b817bf5cSThierry Reding	  This generic framework replaces the legacy PWM framework which
22b817bf5cSThierry Reding	  allows only a single driver implementing the required API. Not
23b817bf5cSThierry Reding	  all legacy implementations have been ported to the framework
24b817bf5cSThierry Reding	  yet. The framework provides an API that is backward compatible
25b817bf5cSThierry Reding	  with the legacy framework so that existing client drivers
26b817bf5cSThierry Reding	  continue to work as expected.
27b817bf5cSThierry Reding
28b817bf5cSThierry Reding	  If unsure, say no.
290c2498f1SSascha Hauer
300c2498f1SSascha Hauerif PWM
310c2498f1SSascha Hauer
323ad1f3a3SUwe Kleine-Königconfig PWM_DEBUG
333ad1f3a3SUwe Kleine-König	bool "PWM lowlevel drivers additional checks and debug messages"
343ad1f3a3SUwe Kleine-König	depends on DEBUG_KERNEL
353ad1f3a3SUwe Kleine-König	help
363ad1f3a3SUwe Kleine-König	  This option enables some additional checks to help lowlevel driver
373ad1f3a3SUwe Kleine-König	  authors to get their callbacks implemented correctly.
383ad1f3a3SUwe Kleine-König	  It is expected to introduce some runtime overhead and diagnostic
393ad1f3a3SUwe Kleine-König	  output to the kernel log, so only enable while working on a driver.
403ad1f3a3SUwe Kleine-König
41e7c9b66bSUwe Kleine-Königconfig PWM_PROVIDE_GPIO
42e7c9b66bSUwe Kleine-König	bool "Provide a GPIO chip for each PWM chip"
43e7c9b66bSUwe Kleine-König	depends on GPIOLIB
44e7c9b66bSUwe Kleine-König	help
45e7c9b66bSUwe Kleine-König	  Most PWMs can emit both a constant active high and a constant active
46e7c9b66bSUwe Kleine-König	  low signal and so they can be used as GPIO. Say Y here to let each
47e7c9b66bSUwe Kleine-König	  PWM chip provide a GPIO chip and so be easily plugged into consumers
48e7c9b66bSUwe Kleine-König	  that know how to handle GPIOs but not PWMs.
49e7c9b66bSUwe Kleine-König
506173f8f4SThierry Redingconfig PWM_AB8500
516173f8f4SThierry Reding	tristate "AB8500 PWM support"
526173f8f4SThierry Reding	depends on AB8500_CORE && ARCH_U8500
536173f8f4SThierry Reding	help
546173f8f4SThierry Reding	  Generic PWM framework driver for Analog Baseband AB8500.
556173f8f4SThierry Reding
566173f8f4SThierry Reding	  To compile this driver as a module, choose M here: the module
576173f8f4SThierry Reding	  will be called pwm-ab8500.
586173f8f4SThierry Reding
59e9b50387SClark Wangconfig PWM_ADP5585
60e9b50387SClark Wang	tristate "ADP5585 PWM support"
61e9b50387SClark Wang	depends on MFD_ADP5585
62e9b50387SClark Wang	help
63e9b50387SClark Wang	  This option enables support for the PWM function found in the Analog
64e9b50387SClark Wang	  Devices ADP5585.
65e9b50387SClark Wang
66b55bbc28SBenjamin Larssonconfig PWM_AIROHA
67b55bbc28SBenjamin Larsson	tristate "Airoha PWM support"
68b55bbc28SBenjamin Larsson	depends on ARCH_AIROHA || COMPILE_TEST
69b55bbc28SBenjamin Larsson	select REGMAP_MMIO
70b55bbc28SBenjamin Larsson	help
71b55bbc28SBenjamin Larsson	  Generic PWM framework driver for Airoha SoC.
72b55bbc28SBenjamin Larsson
73b55bbc28SBenjamin Larsson	  To compile this driver as a module, choose M here: the module
74b55bbc28SBenjamin Larsson	  will be called pwm-airoha.
75b55bbc28SBenjamin Larsson
76bafbbef8SSasha Finkelsteinconfig PWM_APPLE
77bafbbef8SSasha Finkelstein	tristate "Apple SoC PWM support"
78bafbbef8SSasha Finkelstein	depends on ARCH_APPLE || COMPILE_TEST
79bafbbef8SSasha Finkelstein	help
80bafbbef8SSasha Finkelstein	  Generic PWM framework driver for PWM controller present on
81bafbbef8SSasha Finkelstein	  Apple SoCs
82bafbbef8SSasha Finkelstein
83bafbbef8SSasha Finkelstein	  Say Y here if you have an ARM Apple laptop, otherwise say N
84bafbbef8SSasha Finkelstein
85bafbbef8SSasha Finkelstein	  To compile this driver as a module, choose M here: the module
86bafbbef8SSasha Finkelstein	  will be called pwm-apple.
87bafbbef8SSasha Finkelstein
880191c80eSMarek Vasutconfig PWM_ARGON_FAN_HAT
890191c80eSMarek Vasut	tristate "Argon40 Fan HAT support"
900191c80eSMarek Vasut	depends on I2C && OF
910191c80eSMarek Vasut	help
920191c80eSMarek Vasut	  Generic PWM framework driver for Argon40 Fan HAT.
930191c80eSMarek Vasut
940191c80eSMarek Vasut	  To compile this driver as a module, choose M here: the module
950191c80eSMarek Vasut	  will be called pwm-argon-fan-hat.
960191c80eSMarek Vasut
9732b16d46SBo Shenconfig PWM_ATMEL
9832b16d46SBo Shen	tristate "Atmel PWM support"
99e96c0ff4SKrzysztof Kozlowski	depends on ARCH_AT91 || COMPILE_TEST
10071d4b833SUwe Kleine-König	depends on HAS_IOMEM && OF
10132b16d46SBo Shen	help
10232b16d46SBo Shen	  Generic PWM framework driver for Atmel SoC.
10332b16d46SBo Shen
10432b16d46SBo Shen	  To compile this driver as a module, choose M here: the module
10532b16d46SBo Shen	  will be called pwm-atmel.
10632b16d46SBo Shen
1072b4984beSBoris Brezillonconfig PWM_ATMEL_HLCDC_PWM
1082b4984beSBoris Brezillon	tristate "Atmel HLCDC PWM support"
1092b4984beSBoris Brezillon	depends on MFD_ATMEL_HLCDC
110d2048c49SThierry Reding	depends on HAVE_CLK
1112b4984beSBoris Brezillon	help
1122b4984beSBoris Brezillon	  Generic PWM framework driver for the PWM output of the HLCDC
1132b4984beSBoris Brezillon	  (Atmel High-end LCD Controller). This PWM output is mainly used
1142b4984beSBoris Brezillon	  to control the LCD backlight.
1152b4984beSBoris Brezillon
1162b4984beSBoris Brezillon	  To compile this driver as a module, choose M here: the module
1172b4984beSBoris Brezillon	  will be called pwm-atmel-hlcdc.
1182b4984beSBoris Brezillon
1199421badeSBoris BREZILLONconfig PWM_ATMEL_TCB
120b133d2a1SThierry Reding	tristate "Atmel TC Block PWM support"
121061f8572SAlexandre Belloni	depends on OF
122061f8572SAlexandre Belloni	select REGMAP_MMIO
1239421badeSBoris BREZILLON	help
1249421badeSBoris BREZILLON	  Generic PWM framework driver for Atmel Timer Counter Block.
1259421badeSBoris BREZILLON
1269421badeSBoris BREZILLON	  A Timer Counter Block provides 6 PWM devices grouped by 2.
1279421badeSBoris BREZILLON	  Devices in a given group must have the same period.
1289421badeSBoris BREZILLON
1299421badeSBoris BREZILLON	  To compile this driver as a module, choose M here: the module
1309421badeSBoris BREZILLON	  will be called pwm-atmel-tcb.
1319421badeSBoris BREZILLON
13241814fe5SDrew Fustiniconfig PWM_AXI_PWMGEN
13341814fe5SDrew Fustini	tristate "Analog Devices AXI PWM generator"
13441814fe5SDrew Fustini	depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST
13541814fe5SDrew Fustini	select REGMAP_MMIO
13641814fe5SDrew Fustini	help
13741814fe5SDrew Fustini	  This enables support for the Analog Devices AXI PWM generator.
13841814fe5SDrew Fustini
13941814fe5SDrew Fustini	  This is a configurable PWM generator with variable pulse width and
14041814fe5SDrew Fustini	  period.
14141814fe5SDrew Fustini
14241814fe5SDrew Fustini	  To compile this driver as a module, choose M here: the module will be
14341814fe5SDrew Fustini	  called pwm-axi-pwmgen.
14441814fe5SDrew Fustini
14584e351d8SUwe Kleine-Königconfig PWM_BCM2835
14684e351d8SUwe Kleine-König	tristate "BCM2835 PWM support"
14784e351d8SUwe Kleine-König	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
14884e351d8SUwe Kleine-König	depends on HAS_IOMEM
14984e351d8SUwe Kleine-König	help
15084e351d8SUwe Kleine-König	  PWM framework driver for BCM2835 controller (Raspberry Pi)
15184e351d8SUwe Kleine-König
15284e351d8SUwe Kleine-König	  To compile this driver as a module, choose M here: the module
15384e351d8SUwe Kleine-König	  will be called pwm-bcm2835.
15484e351d8SUwe Kleine-König
155daa5abc4SYendapally Reddy Dhananjaya Reddyconfig PWM_BCM_IPROC
156daa5abc4SYendapally Reddy Dhananjaya Reddy	tristate "iProc PWM support"
1575bf22ff3SScott Branden	depends on ARCH_BCM_IPROC || COMPILE_TEST
15871d4b833SUwe Kleine-König	depends on COMMON_CLK && HAS_IOMEM
1595bf22ff3SScott Branden	default ARCH_BCM_IPROC
160daa5abc4SYendapally Reddy Dhananjaya Reddy	help
161daa5abc4SYendapally Reddy Dhananjaya Reddy	  Generic PWM framework driver for Broadcom iProc PWM block. This
162daa5abc4SYendapally Reddy Dhananjaya Reddy	  block is used in Broadcom iProc SoC's.
163daa5abc4SYendapally Reddy Dhananjaya Reddy
164daa5abc4SYendapally Reddy Dhananjaya Reddy	  To compile this driver as a module, choose M here: the module
165daa5abc4SYendapally Reddy Dhananjaya Reddy	  will be called pwm-bcm-iproc.
166daa5abc4SYendapally Reddy Dhananjaya Reddy
1676a4e4bffSTim Krygerconfig PWM_BCM_KONA
1686a4e4bffSTim Kryger	tristate "Kona PWM support"
16988a053d2SClément Péron	depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
17088a053d2SClément Péron	depends on HAVE_CLK && HAS_IOMEM
17188a053d2SClément Péron	default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS
1726a4e4bffSTim Kryger	help
1736a4e4bffSTim Kryger	  Generic PWM framework driver for Broadcom Kona PWM block.
1746a4e4bffSTim Kryger
1756a4e4bffSTim Kryger	  To compile this driver as a module, choose M here: the module
1766a4e4bffSTim Kryger	  will be called pwm-bcm-kona.
1776a4e4bffSTim Kryger
17859d5c8b1SAntoine Ténartconfig PWM_BERLIN
17959d5c8b1SAntoine Ténart	tristate "Marvell Berlin PWM support"
180e96c0ff4SKrzysztof Kozlowski	depends on ARCH_BERLIN || COMPILE_TEST
18171d4b833SUwe Kleine-König	depends on HAS_IOMEM
18259d5c8b1SAntoine Ténart	help
18359d5c8b1SAntoine Ténart	  PWM framework driver for Marvell Berlin SoCs.
18459d5c8b1SAntoine Ténart
18559d5c8b1SAntoine Ténart	  To compile this driver as a module, choose M here: the module
18659d5c8b1SAntoine Ténart	  will be called pwm-berlin.
18759d5c8b1SAntoine Ténart
1883a9f5957SFlorian Fainelliconfig PWM_BRCMSTB
1893a9f5957SFlorian Fainelli	tristate "Broadcom STB PWM support"
190e96c0ff4SKrzysztof Kozlowski	depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
19171d4b833SUwe Kleine-König	depends on HAS_IOMEM
1923a9f5957SFlorian Fainelli	help
1933a9f5957SFlorian Fainelli	  Generic PWM framework driver for the Broadcom Set-top-Box
1943a9f5957SFlorian Fainelli	  SoCs (BCM7xxx).
1953a9f5957SFlorian Fainelli
1963a9f5957SFlorian Fainelli	  To compile this driver as a module, choose M Here: the module
1973a9f5957SFlorian Fainelli	  will be called pwm-brcmstb.c.
1983a9f5957SFlorian Fainelli
199901f8f54SNikita Travkinconfig PWM_CLK
200901f8f54SNikita Travkin	tristate "Clock based PWM support"
201901f8f54SNikita Travkin	depends on HAVE_CLK || COMPILE_TEST
202901f8f54SNikita Travkin	help
203901f8f54SNikita Travkin	  Generic PWM framework driver for outputs that can be
204901f8f54SNikita Travkin	  muxed to clocks.
205901f8f54SNikita Travkin
206901f8f54SNikita Travkin	  To compile this driver as a module, choose M here: the module
207901f8f54SNikita Travkin	  will be called pwm-clk.
208901f8f54SNikita Travkin
2097eb3f6ffSAlexander Shiyanconfig PWM_CLPS711X
2107eb3f6ffSAlexander Shiyan	tristate "CLPS711X PWM support"
2117eb3f6ffSAlexander Shiyan	depends on ARCH_CLPS711X || COMPILE_TEST
212dec02f98SChen Gang	depends on HAS_IOMEM
2137eb3f6ffSAlexander Shiyan	help
2147eb3f6ffSAlexander Shiyan	  Generic PWM framework driver for Cirrus Logic CLPS711X.
2157eb3f6ffSAlexander Shiyan
2167eb3f6ffSAlexander Shiyan	  To compile this driver as a module, choose M here: the module
2177eb3f6ffSAlexander Shiyan	  will be called pwm-clps711x.
2187eb3f6ffSAlexander Shiyan
219a3f37a10SShobhit Kumarconfig PWM_CRC
22091a69d38SUwe Kleine-König	tristate "Intel Crystalcove (CRC) PWM support"
22191a69d38SUwe Kleine-König	depends on INTEL_SOC_PMIC
222a3f37a10SShobhit Kumar	help
223a3f37a10SShobhit Kumar	  Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
224a3f37a10SShobhit Kumar	  control.
225a3f37a10SShobhit Kumar
2261f0d3bb0SBrian Norrisconfig PWM_CROS_EC
2271f0d3bb0SBrian Norris	tristate "ChromeOS EC PWM driver"
22847f11e0bSEnric Balletbo i Serra	depends on CROS_EC
2291f0d3bb0SBrian Norris	help
2301f0d3bb0SBrian Norris	  PWM driver for exposing a PWM attached to the ChromeOS Embedded
2311f0d3bb0SBrian Norris	  Controller.
2321f0d3bb0SBrian Norris
233721ee188SBen Dooksconfig PWM_DWC_CORE
234721ee188SBen Dooks	tristate
235721ee188SBen Dooks	depends on HAS_IOMEM
236721ee188SBen Dooks	help
237721ee188SBen Dooks	  PWM driver for Synopsys DWC PWM Controller.
238721ee188SBen Dooks
239721ee188SBen Dooks	  To compile this driver as a module, build the dependecies as
240721ee188SBen Dooks	  modules, this will be called pwm-dwc-core.
241721ee188SBen Dooks
2421ed2b3fcSJarkko Nikulaconfig PWM_DWC
243721ee188SBen Dooks	tristate "DesignWare PWM Controller (PCI bus)"
244721ee188SBen Dooks	depends on HAS_IOMEM && PCI
245721ee188SBen Dooks	select PWM_DWC_CORE
2461ed2b3fcSJarkko Nikula	help
2471ed2b3fcSJarkko Nikula	  PWM driver for Synopsys DWC PWM Controller attached to a PCI bus.
2481ed2b3fcSJarkko Nikula
2491ed2b3fcSJarkko Nikula	  To compile this driver as a module, choose M here: the module
2501ed2b3fcSJarkko Nikula	  will be called pwm-dwc.
2511ed2b3fcSJarkko Nikula
252a2308698SH Hartley Sweetenconfig PWM_EP93XX
253a2308698SH Hartley Sweeten	tristate "Cirrus Logic EP93xx PWM support"
254e96c0ff4SKrzysztof Kozlowski	depends on ARCH_EP93XX || COMPILE_TEST
25571d4b833SUwe Kleine-König	depends on HAS_IOMEM
256a2308698SH Hartley Sweeten	help
257a2308698SH Hartley Sweeten	  Generic PWM framework driver for Cirrus Logic EP93xx.
258a2308698SH Hartley Sweeten
259a2308698SH Hartley Sweeten	  To compile this driver as a module, choose M here: the module
260a2308698SH Hartley Sweeten	  will be called pwm-ep93xx.
261a2308698SH Hartley Sweeten
262b505183bSXiubo Liconfig PWM_FSL_FTM
263b505183bSXiubo Li	tristate "Freescale FlexTimer Module (FTM) PWM support"
26436d5be4bSVegard Nossum	depends on HAS_IOMEM
265b505183bSXiubo Li	depends on OF
26600018a8aSFabio Estevam	select REGMAP_MMIO
267b505183bSXiubo Li	help
268b505183bSXiubo Li	  Generic FTM PWM framework driver for Freescale VF610 and
269b505183bSXiubo Li	  Layerscape LS-1 SoCs.
270b505183bSXiubo Li
271b505183bSXiubo Li	  To compile this driver as a module, choose M here: the module
272b505183bSXiubo Li	  will be called pwm-fsl-ftm.
273b505183bSXiubo Li
2747f61257cSVincent Whitchurchconfig PWM_GPIO
2757f61257cSVincent Whitchurch	tristate "GPIO PWM support"
2767f61257cSVincent Whitchurch	depends on GPIOLIB
2777f61257cSVincent Whitchurch	depends on HIGH_RES_TIMERS
2787f61257cSVincent Whitchurch	help
2797f61257cSVincent Whitchurch	  Generic PWM framework driver for software PWM toggling a GPIO pin
2807f61257cSVincent Whitchurch	  from kernel high-resolution timers.
2817f61257cSVincent Whitchurch
2827f61257cSVincent Whitchurch	  To compile this driver as a module, choose M here: the module
2837f61257cSVincent Whitchurch	  will be called pwm-gpio.
2847f61257cSVincent Whitchurch
285d09f0081Syuanjianconfig PWM_HIBVT
286d09f0081Syuanjian	tristate "HiSilicon BVT PWM support"
287d09f0081Syuanjian	depends on ARCH_HISI || COMPILE_TEST
28871d4b833SUwe Kleine-König	depends on HAS_IOMEM
289d09f0081Syuanjian	help
290d09f0081Syuanjian	  Generic PWM framework driver for HiSilicon BVT SoCs.
291d09f0081Syuanjian
292d09f0081Syuanjian	  To compile this driver as a module, choose M here: the module
293d09f0081Syuanjian	  will be called pwm-hibvt.
294d09f0081Syuanjian
295277bb6a2SNaidu Tellapaticonfig PWM_IMG
296277bb6a2SNaidu Tellapati	tristate "Imagination Technologies PWM driver"
297277bb6a2SNaidu Tellapati	depends on HAS_IOMEM
298277bb6a2SNaidu Tellapati	depends on MFD_SYSCON
299277bb6a2SNaidu Tellapati	depends on COMMON_CLK
300277bb6a2SNaidu Tellapati	depends on MIPS || COMPILE_TEST
301277bb6a2SNaidu Tellapati	help
302277bb6a2SNaidu Tellapati	  Generic PWM framework driver for Imagination Technologies
303277bb6a2SNaidu Tellapati	  PWM block which supports 4 channels.
304277bb6a2SNaidu Tellapati
305277bb6a2SNaidu Tellapati	  To compile this driver as a module, choose M here: the module
306277bb6a2SNaidu Tellapati	  will be called pwm-img
307277bb6a2SNaidu Tellapati
308d80f8206SUwe Kleine-Königconfig PWM_IMX1
309d80f8206SUwe Kleine-König	tristate "i.MX1 PWM support"
310e96c0ff4SKrzysztof Kozlowski	depends on ARCH_MXC || COMPILE_TEST
31171d4b833SUwe Kleine-König	depends on HAS_IOMEM
31229693248SSascha Hauer	help
313d80f8206SUwe Kleine-König	  Generic PWM framework driver for i.MX1 and i.MX21
31429693248SSascha Hauer
31529693248SSascha Hauer	  To compile this driver as a module, choose M here: the module
316d80f8206SUwe Kleine-König	  will be called pwm-imx1.
317d80f8206SUwe Kleine-König
318d80f8206SUwe Kleine-Königconfig PWM_IMX27
319d80f8206SUwe Kleine-König	tristate "i.MX27 PWM support"
320e96c0ff4SKrzysztof Kozlowski	depends on ARCH_MXC || COMPILE_TEST
32171d4b833SUwe Kleine-König	depends on HAS_IOMEM
322d80f8206SUwe Kleine-König	help
323d80f8206SUwe Kleine-König	  Generic PWM framework driver for i.MX27 and later i.MX SoCs.
324d80f8206SUwe Kleine-König
325d80f8206SUwe Kleine-König	  To compile this driver as a module, choose M here: the module
326d80f8206SUwe Kleine-König	  will be called pwm-imx27.
32729693248SSascha Hauer
328738a1cfeSAnson Huangconfig PWM_IMX_TPM
329738a1cfeSAnson Huang	tristate "i.MX TPM PWM support"
330738a1cfeSAnson Huang	depends on ARCH_MXC || COMPILE_TEST
331738a1cfeSAnson Huang	depends on HAVE_CLK && HAS_IOMEM
332738a1cfeSAnson Huang	help
333738a1cfeSAnson Huang	  Generic PWM framework driver for i.MX7ULP TPM module, TPM's full
334738a1cfeSAnson Huang	  name is Low Power Timer/Pulse Width Modulation Module.
335738a1cfeSAnson Huang
336738a1cfeSAnson Huang	  To compile this driver as a module, choose M here: the module
337738a1cfeSAnson Huang	  will be called pwm-imx-tpm.
338738a1cfeSAnson Huang
33997960addSRahul Tanwarconfig PWM_INTEL_LGM
34097960addSRahul Tanwar	tristate "Intel LGM PWM support"
34197960addSRahul Tanwar	depends on HAS_IOMEM
34297960addSRahul Tanwar	depends on (OF && X86) || COMPILE_TEST
34397960addSRahul Tanwar	select REGMAP_MMIO
34497960addSRahul Tanwar	help
34597960addSRahul Tanwar	  Generic PWM fan controller driver for LGM SoC.
34697960addSRahul Tanwar
34797960addSRahul Tanwar	  To compile this driver as a module, choose M here: the module
34897960addSRahul Tanwar	  will be called pwm-intel-lgm.
34997960addSRahul Tanwar
3506f0841a8SJeff LaBundyconfig PWM_IQS620A
3516f0841a8SJeff LaBundy	tristate "Azoteq IQS620A PWM support"
3526f0841a8SJeff LaBundy	depends on MFD_IQS62X || COMPILE_TEST
3536f0841a8SJeff LaBundy	help
3546f0841a8SJeff LaBundy	  Generic PWM framework driver for the Azoteq IQS620A multi-function
3556f0841a8SJeff LaBundy	  sensor.
3566f0841a8SJeff LaBundy
3576f0841a8SJeff LaBundy	  To compile this driver as a module, choose M here: the module will
3586f0841a8SJeff LaBundy	  be called pwm-iqs620a.
3596f0841a8SJeff LaBundy
360f6b8a570SThierry Redingconfig PWM_JZ4740
361b4190062SPaul Cercueil	tristate "Ingenic JZ47xx PWM support"
36269ba53daSPaul Cercueil	depends on MACH_INGENIC || COMPILE_TEST
363731c4793SPaul Cercueil	depends on COMMON_CLK && OF
364c2693514SPaul Cercueil	select MFD_SYSCON
365f6b8a570SThierry Reding	help
366b4190062SPaul Cercueil	  Generic PWM framework driver for Ingenic JZ47xx based
367f6b8a570SThierry Reding	  machines.
368f6b8a570SThierry Reding
369f6b8a570SThierry Reding	  To compile this driver as a module, choose M here: the module
370f6b8a570SThierry Reding	  will be called pwm-jz4740.
371f6b8a570SThierry Reding
372bd899cebSVijayakannan Ayyathuraiconfig PWM_KEEMBAY
373bd899cebSVijayakannan Ayyathurai	tristate "Intel Keem Bay PWM driver"
374cf83f7b7SUwe Kleine-König	depends on ARCH_KEEMBAY || COMPILE_TEST
375cf83f7b7SUwe Kleine-König	depends on COMMON_CLK && HAS_IOMEM
376bd899cebSVijayakannan Ayyathurai	help
377bd899cebSVijayakannan Ayyathurai	  The platform driver for Intel Keem Bay PWM controller.
378bd899cebSVijayakannan Ayyathurai
379bd899cebSVijayakannan Ayyathurai	  To compile this driver as a module, choose M here: the module
380bd899cebSVijayakannan Ayyathurai	  will be called pwm-keembay.
381bd899cebSVijayakannan Ayyathurai
3822b62c894SBinbin Zhouconfig PWM_LOONGSON
3832b62c894SBinbin Zhou	tristate "Loongson PWM support"
3842b62c894SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
3852b62c894SBinbin Zhou	depends on COMMON_CLK
3862b62c894SBinbin Zhou	help
3872b62c894SBinbin Zhou	  Generic PWM framework driver for Loongson family.
3882b62c894SBinbin Zhou	  It can be found on Loongson-2K series cpus and Loongson LS7A
3892b62c894SBinbin Zhou	  bridge chips.
3902b62c894SBinbin Zhou
3912b62c894SBinbin Zhou	  To compile this driver as a module, choose M here: the module
3922b62c894SBinbin Zhou	  will be called pwm-loongson.
3932b62c894SBinbin Zhou
394af66b3c0SMilo Kimconfig PWM_LP3943
395af66b3c0SMilo Kim	tristate "TI/National Semiconductor LP3943 PWM support"
396af66b3c0SMilo Kim	depends on MFD_LP3943
397af66b3c0SMilo Kim	help
398af66b3c0SMilo Kim	  Generic PWM framework driver for LP3943 which supports two PWM
399af66b3c0SMilo Kim	  channels.
400af66b3c0SMilo Kim
401af66b3c0SMilo Kim	  To compile this driver as a module, choose M here: the module
402af66b3c0SMilo Kim	  will be called pwm-lp3943.
403af66b3c0SMilo Kim
404841e6f90SAriel D'Alessandroconfig PWM_LPC18XX_SCT
405841e6f90SAriel D'Alessandro	tristate "LPC18xx/43xx PWM/SCT support"
406e96c0ff4SKrzysztof Kozlowski	depends on ARCH_LPC18XX || COMPILE_TEST
40771d4b833SUwe Kleine-König	depends on HAS_IOMEM
408841e6f90SAriel D'Alessandro	help
409841e6f90SAriel D'Alessandro	  Generic PWM framework driver for NXP LPC18xx PWM/SCT which
410841e6f90SAriel D'Alessandro	  supports 16 channels.
411841e6f90SAriel D'Alessandro	  A maximum of 15 channels can be requested simultaneously and
412841e6f90SAriel D'Alessandro	  must have the same period.
413841e6f90SAriel D'Alessandro
414841e6f90SAriel D'Alessandro	  To compile this driver as a module, choose M here: the module
415841e6f90SAriel D'Alessandro	  will be called pwm-lpc18xx-sct.
416841e6f90SAriel D'Alessandro
4172132fa8dSAlexandre Pereira da Silvaconfig PWM_LPC32XX
4182132fa8dSAlexandre Pereira da Silva	tristate "LPC32XX PWM support"
419e96c0ff4SKrzysztof Kozlowski	depends on ARCH_LPC32XX || COMPILE_TEST
42071d4b833SUwe Kleine-König	depends on HAS_IOMEM
4212132fa8dSAlexandre Pereira da Silva	help
4222132fa8dSAlexandre Pereira da Silva	  Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
4232132fa8dSAlexandre Pereira da Silva	  PWM controllers.
4242132fa8dSAlexandre Pereira da Silva
4252132fa8dSAlexandre Pereira da Silva	  To compile this driver as a module, choose M here: the module
4262132fa8dSAlexandre Pereira da Silva	  will be called pwm-lpc32xx.
4272132fa8dSAlexandre Pereira da Silva
428d16a5aa9SMika Westerbergconfig PWM_LPSS
42971d4b833SUwe Kleine-König	depends on HAS_IOMEM
4306f90a00cSAndy Shevchenko	tristate
431d16a5aa9SMika Westerberg
432c558e39eSAndy Shevchenkoconfig PWM_LPSS_PCI
433c558e39eSAndy Shevchenko	tristate "Intel LPSS PWM PCI driver"
434aa43edcbSUwe Kleine-König	depends on X86 || COMPILE_TEST
435aa43edcbSUwe Kleine-König	depends on HAS_IOMEM && PCI
4366f90a00cSAndy Shevchenko	select PWM_LPSS
437c558e39eSAndy Shevchenko	help
438c558e39eSAndy Shevchenko	  The PCI driver for Intel Low Power Subsystem PWM controller.
439c558e39eSAndy Shevchenko
440c558e39eSAndy Shevchenko	  To compile this driver as a module, choose M here: the module
441c558e39eSAndy Shevchenko	  will be called pwm-lpss-pci.
442c558e39eSAndy Shevchenko
443c558e39eSAndy Shevchenkoconfig PWM_LPSS_PLATFORM
444c558e39eSAndy Shevchenko	tristate "Intel LPSS PWM platform driver"
445aa43edcbSUwe Kleine-König	depends on (X86 && ACPI) || COMPILE_TEST
44671d4b833SUwe Kleine-König	depends on HAS_IOMEM
4476f90a00cSAndy Shevchenko	select PWM_LPSS
448c558e39eSAndy Shevchenko	help
449c558e39eSAndy Shevchenko	  The platform driver for Intel Low Power Subsystem PWM controller.
450c558e39eSAndy Shevchenko
451c558e39eSAndy Shevchenko	  To compile this driver as a module, choose M here: the module
452c558e39eSAndy Shevchenko	  will be called pwm-lpss-platform.
453c558e39eSAndy Shevchenko
454d93a75d9SKamel Bouharaconfig PWM_MAX7360
455d93a75d9SKamel Bouhara	tristate "MAX7360 PWMs"
456d93a75d9SKamel Bouhara	depends on MFD_MAX7360
457d93a75d9SKamel Bouhara	help
458d93a75d9SKamel Bouhara	  PWM driver for Maxim Integrated MAX7360 multifunction device, with
459d93a75d9SKamel Bouhara	  support for up to 8 PWM outputs.
460d93a75d9SKamel Bouhara
461d93a75d9SKamel Bouhara	  To compile this driver as a module, choose M here: the module
462d93a75d9SKamel Bouhara	  will be called pwm-max7360.
463d93a75d9SKamel Bouhara
4642006016eSDimitri Fedrauconfig PWM_MC33XS2410
4652006016eSDimitri Fedrau	tristate "MC33XS2410 PWM support"
4662006016eSDimitri Fedrau	depends on OF
4672006016eSDimitri Fedrau	depends on SPI
46828517c8bSDimitri Fedrau	select AUXILIARY_BUS
4692006016eSDimitri Fedrau	help
4702006016eSDimitri Fedrau	  NXP MC33XS2410 high-side switch driver. The MC33XS2410 is a four
4712006016eSDimitri Fedrau	  channel high-side switch. The device is operational from 3.0 V
4722006016eSDimitri Fedrau	  to 60 V. The device is controlled by SPI port for configuration.
4732006016eSDimitri Fedrau
4742006016eSDimitri Fedrau	  To compile this driver as a module, choose M here: the module
4752006016eSDimitri Fedrau	  will be called pwm-mc33xs2410.
4762006016eSDimitri Fedrau
47784e351d8SUwe Kleine-Königconfig PWM_MEDIATEK
47884e351d8SUwe Kleine-König	tristate "MediaTek PWM support"
47984e351d8SUwe Kleine-König	depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
48084e351d8SUwe Kleine-König	depends on HAS_IOMEM
48184e351d8SUwe Kleine-König	help
48284e351d8SUwe Kleine-König	  Generic PWM framework driver for Mediatek ARM SoC.
48384e351d8SUwe Kleine-König
48484e351d8SUwe Kleine-König	  To compile this driver as a module, choose M here: the module
48584e351d8SUwe Kleine-König	  will be called pwm-mediatek.
48684e351d8SUwe Kleine-König
487211ed630SNeil Armstrongconfig PWM_MESON
488211ed630SNeil Armstrong	tristate "Amlogic Meson PWM driver"
489e96c0ff4SKrzysztof Kozlowski	depends on ARCH_MESON || COMPILE_TEST
49071d4b833SUwe Kleine-König	depends on COMMON_CLK && HAS_IOMEM
491211ed630SNeil Armstrong	help
492211ed630SNeil Armstrong	  The platform driver for Amlogic Meson PWM controller.
493211ed630SNeil Armstrong
494211ed630SNeil Armstrong	  To compile this driver as a module, choose M here: the module
495211ed630SNeil Armstrong	  will be called pwm-meson.
496211ed630SNeil Armstrong
49784e351d8SUwe Kleine-Königconfig PWM_MICROCHIP_CORE
49884e351d8SUwe Kleine-König	tristate "Microchip corePWM PWM support"
49984e351d8SUwe Kleine-König	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
50084e351d8SUwe Kleine-König	depends on HAS_IOMEM && OF
50184e351d8SUwe Kleine-König	help
50284e351d8SUwe Kleine-König	  PWM driver for Microchip FPGA soft IP core.
50384e351d8SUwe Kleine-König
50484e351d8SUwe Kleine-König	  To compile this driver as a module, choose M here: the module
50584e351d8SUwe Kleine-König	  will be called pwm-microchip-core.
50684e351d8SUwe Kleine-König
5077e3b7dc7SYH Huangconfig PWM_MTK_DISP
5087e3b7dc7SYH Huang	tristate "MediaTek display PWM driver"
5097e3b7dc7SYH Huang	depends on ARCH_MEDIATEK || COMPILE_TEST
5107e3b7dc7SYH Huang	depends on HAS_IOMEM
5117e3b7dc7SYH Huang	help
5127e3b7dc7SYH Huang	  Generic PWM framework driver for MediaTek disp-pwm device.
5137e3b7dc7SYH Huang	  The PWM is used to control the backlight brightness for display.
5147e3b7dc7SYH Huang
5157e3b7dc7SYH Huang	  To compile this driver as a module, choose M here: the module
5167e3b7dc7SYH Huang	  will be called pwm-mtk-disp.
5177e3b7dc7SYH Huang
5184dce82c1SShawn Guoconfig PWM_MXS
5194dce82c1SShawn Guo	tristate "Freescale MXS PWM support"
520e96c0ff4SKrzysztof Kozlowski	depends on ARCH_MXS || COMPILE_TEST
52171d4b833SUwe Kleine-König	depends on HAS_IOMEM && OF
52201bf32e9SShawn Guo	select STMP_DEVICE
5234dce82c1SShawn Guo	help
5244dce82c1SShawn Guo	  Generic PWM framework driver for Freescale MXS.
5254dce82c1SShawn Guo
5264dce82c1SShawn Guo	  To compile this driver as a module, choose M here: the module
5274dce82c1SShawn Guo	  will be called pwm-mxs.
5284dce82c1SShawn Guo
5299fc0486fSJonathan Neuschäferconfig PWM_NTXEC
5309fc0486fSJonathan Neuschäfer	tristate "Netronix embedded controller PWM support"
5319fc0486fSJonathan Neuschäfer	depends on MFD_NTXEC
5329fc0486fSJonathan Neuschäfer	help
5339fc0486fSJonathan Neuschäfer	  Say yes here if you want to support the PWM output of the embedded
5349fc0486fSJonathan Neuschäfer	  controller found in certain e-book readers designed by the original
5359fc0486fSJonathan Neuschäfer	  design manufacturer Netronix.
5369fc0486fSJonathan Neuschäfer
5376604c655SNeil Armstrongconfig PWM_OMAP_DMTIMER
5386604c655SNeil Armstrong	tristate "OMAP Dual-Mode Timer PWM support"
5399f2919e9SUwe Kleine-König	depends on OF
5409f2919e9SUwe Kleine-König	depends on OMAP_DM_TIMER || COMPILE_TEST
5416604c655SNeil Armstrong	help
5426604c655SNeil Armstrong	  Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
5436604c655SNeil Armstrong
5446604c655SNeil Armstrong	  To compile this driver as a module, choose M here: the module
5456604c655SNeil Armstrong	  will be called pwm-omap-dmtimer
5466604c655SNeil Armstrong
54788b613e6SSteffen Trumtrarconfig PWM_PCA9685
54888b613e6SSteffen Trumtrar	tristate "NXP PCA9685 PWM driver"
549912b8439SAndy Shevchenko	depends on I2C
5502c80a492SAxel Lin	select REGMAP_I2C
55188b613e6SSteffen Trumtrar	help
55288b613e6SSteffen Trumtrar	  Generic PWM framework driver for NXP PCA9685 LED controller.
55388b613e6SSteffen Trumtrar
55488b613e6SSteffen Trumtrar	  To compile this driver as a module, choose M here: the module
55588b613e6SSteffen Trumtrar	  will be called pwm-pca9685.
55688b613e6SSteffen Trumtrar
55717b2b478SThierry Redingconfig PWM_PXA
55817b2b478SThierry Reding	tristate "PXA PWM support"
55927b5dfe4SGuodong Xu	depends on ARCH_PXA || ARCH_MMP || ARCH_SPACEMIT || COMPILE_TEST
56071d4b833SUwe Kleine-König	depends on HAS_IOMEM
56117b2b478SThierry Reding	help
56217b2b478SThierry Reding	  Generic PWM framework driver for PXA.
56317b2b478SThierry Reding
56417b2b478SThierry Reding	  To compile this driver as a module, choose M here: the module
56517b2b478SThierry Reding	  will be called pwm-pxa.
56617b2b478SThierry Reding
56779caa362SNicolas Saenz Julienneconfig PWM_RASPBERRYPI_POE
56868b9272cSColin Ian King	tristate "Raspberry Pi Firmware PoE Hat PWM support"
56979caa362SNicolas Saenz Julienne	# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
57079caa362SNicolas Saenz Julienne	# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
57179caa362SNicolas Saenz Julienne	depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
57279caa362SNicolas Saenz Julienne	help
57379caa362SNicolas Saenz Julienne	  Enable Raspberry Pi firmware controller PWM bus used to control the
57479caa362SNicolas Saenz Julienne	  official RPI PoE hat
57579caa362SNicolas Saenz Julienne
57625ac4834SKuninori Morimotoconfig PWM_RENESAS_RCAR
577ed6c1476SYoshihiro Shimoda	tristate "Renesas R-Car PWM support"
57848169988SRyo Kodama	depends on ARCH_RENESAS || COMPILE_TEST
579ed6c1476SYoshihiro Shimoda	depends on HAS_IOMEM
580ed6c1476SYoshihiro Shimoda	help
581ed6c1476SYoshihiro Shimoda	  This driver exposes the PWM Timer controller found in Renesas
582ed6c1476SYoshihiro Shimoda	  R-Car chips through the PWM API.
583ed6c1476SYoshihiro Shimoda
584ed6c1476SYoshihiro Shimoda	  To compile this driver as a module, choose M here: the module
585ed6c1476SYoshihiro Shimoda	  will be called pwm-rcar.
586ed6c1476SYoshihiro Shimoda
58725ac4834SKuninori Morimotoconfig PWM_RENESAS_RZG2L_GPT
58825ac4834SKuninori Morimoto	tristate "Renesas RZ/G2L General PWM Timer support"
58925ac4834SKuninori Morimoto	depends on ARCH_RZG2L || COMPILE_TEST
59025ac4834SKuninori Morimoto	depends on HAS_IOMEM
59125ac4834SKuninori Morimoto	help
59225ac4834SKuninori Morimoto	  This driver exposes the General PWM Timer controller found in Renesas
59325ac4834SKuninori Morimoto	  RZ/G2L like chips through the PWM API.
59425ac4834SKuninori Morimoto
59525ac4834SKuninori Morimoto	  To compile this driver as a module, choose M here: the module
59625ac4834SKuninori Morimoto	  will be called pwm-rzg2l-gpt.
59725ac4834SKuninori Morimoto
59825ac4834SKuninori Morimotoconfig PWM_RENESAS_RZ_MTU3
59925ac4834SKuninori Morimoto	tristate "Renesas RZ/G2L MTU3a PWM Timer support"
60025ac4834SKuninori Morimoto	depends on RZ_MTU3
60125ac4834SKuninori Morimoto	depends on HAS_IOMEM
60225ac4834SKuninori Morimoto	help
60325ac4834SKuninori Morimoto	  This driver exposes the MTU3a PWM Timer controller found in Renesas
60425ac4834SKuninori Morimoto	  RZ/G2L like chips through the PWM API.
60525ac4834SKuninori Morimoto
60625ac4834SKuninori Morimoto	  To compile this driver as a module, choose M here: the module
60725ac4834SKuninori Morimoto	  will be called pwm-rz-mtu3.
60825ac4834SKuninori Morimoto
60999b82abbSLaurent Pinchartconfig PWM_RENESAS_TPU
61099b82abbSLaurent Pinchart	tristate "Renesas TPU PWM support"
61103d99531SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
6122974b098SRichard Weinberger	depends on HAS_IOMEM
61399b82abbSLaurent Pinchart	help
61499b82abbSLaurent Pinchart	  This driver exposes the Timer Pulse Unit (TPU) PWM controller found
61599b82abbSLaurent Pinchart	  in Renesas chips through the PWM API.
61699b82abbSLaurent Pinchart
61799b82abbSLaurent Pinchart	  To compile this driver as a module, choose M here: the module
61899b82abbSLaurent Pinchart	  will be called pwm-renesas-tpu.
61999b82abbSLaurent Pinchart
620101353c8SBeniamino Galvaniconfig PWM_ROCKCHIP
621101353c8SBeniamino Galvani	tristate "Rockchip PWM support"
622e96c0ff4SKrzysztof Kozlowski	depends on ARCH_ROCKCHIP || COMPILE_TEST
62371d4b833SUwe Kleine-König	depends on HAS_IOMEM
624101353c8SBeniamino Galvani	help
625101353c8SBeniamino Galvani	  Generic PWM framework driver for the PWM controller found on
626101353c8SBeniamino Galvani	  Rockchip SoCs.
627101353c8SBeniamino Galvani
628215c29d3SSascha Hauerconfig PWM_SAMSUNG
629b133d2a1SThierry Reding	tristate "Samsung PWM support"
630db8230d2SArnd Bergmann	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
63171d4b833SUwe Kleine-König	depends on HAS_IOMEM
632215c29d3SSascha Hauer	help
63306dfae38SKrzysztof Kozlowski	  Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210
63406dfae38SKrzysztof Kozlowski	  and Exynos SoCs.
63506dfae38SKrzysztof Kozlowski	  Choose Y here only if you build for such Samsung SoC.
636215c29d3SSascha Hauer
637215c29d3SSascha Hauer	  To compile this driver as a module, choose M here: the module
638215c29d3SSascha Hauer	  will be called pwm-samsung.
639215c29d3SSascha Hauer
6409e37a53eSYash Shahconfig PWM_SIFIVE
6419e37a53eSYash Shah	tristate "SiFive PWM support"
6429e37a53eSYash Shah	depends on OF
64371d4b833SUwe Kleine-König	depends on COMMON_CLK && HAS_IOMEM
644e8af7c08SUwe Kleine-König	depends on ARCH_SIFIVE || COMPILE_TEST
6459e37a53eSYash Shah	help
6469e37a53eSYash Shah	  Generic PWM framework driver for SiFive SoCs.
6479e37a53eSYash Shah
6489e37a53eSYash Shah	  To compile this driver as a module, choose M here: the module
6499e37a53eSYash Shah	  will be called pwm-sifive.
6509e37a53eSYash Shah
6519db33d22SMichael Walleconfig PWM_SL28CPLD
6529db33d22SMichael Walle	tristate "Kontron sl28cpld PWM support"
6539db33d22SMichael Walle	depends on MFD_SL28CPLD || COMPILE_TEST
6549db33d22SMichael Walle	help
6559db33d22SMichael Walle	  Generic PWM framework driver for board management controller
6569db33d22SMichael Walle	  found on the Kontron sl28 CPLD.
6579db33d22SMichael Walle
6589db33d22SMichael Walle	  To compile this driver as a module, choose M here: the module
6599db33d22SMichael Walle	  will be called pwm-sl28cpld.
6609db33d22SMichael Walle
661c98e6614SChen Wangconfig PWM_SOPHGO_SG2042
662c98e6614SChen Wang	tristate "Sophgo SG2042 PWM support"
663c98e6614SChen Wang	depends on ARCH_SOPHGO || COMPILE_TEST
664c98e6614SChen Wang	help
665c98e6614SChen Wang	  PWM driver for the PWM controller on Sophgo SG2042 SoC. The PWM
666c98e6614SChen Wang	  controller supports outputing 4 channels of PWM waveforms.
667c98e6614SChen Wang
668c98e6614SChen Wang	  To compile this driver as a module, choose M here: the module
669c98e6614SChen Wang	  will be called pwm_sophgo_sg2042.
670c98e6614SChen Wang
671ce20364bSShiraz Hashimconfig PWM_SPEAR
672ce20364bSShiraz Hashim	tristate "STMicroelectronics SPEAr PWM support"
673e96c0ff4SKrzysztof Kozlowski	depends on PLAT_SPEAR || COMPILE_TEST
67471d4b833SUwe Kleine-König	depends on HAS_IOMEM && OF
675ce20364bSShiraz Hashim	help
676ce20364bSShiraz Hashim	  Generic PWM framework driver for the PWM controller on ST
677ce20364bSShiraz Hashim	  SPEAr SoCs.
678ce20364bSShiraz Hashim
679ce20364bSShiraz Hashim	  To compile this driver as a module, choose M here: the module
680ce20364bSShiraz Hashim	  will be called pwm-spear.
681ce20364bSShiraz Hashim
6828aae4b02SBaolin Wangconfig PWM_SPRD
6838aae4b02SBaolin Wang	tristate "Spreadtrum PWM support"
6848aae4b02SBaolin Wang	depends on ARCH_SPRD || COMPILE_TEST
6858aae4b02SBaolin Wang	depends on HAS_IOMEM
6868aae4b02SBaolin Wang	help
6878aae4b02SBaolin Wang	  Generic PWM framework driver for the PWM controller on
6888aae4b02SBaolin Wang	  Spreadtrum SoCs.
6898aae4b02SBaolin Wang
6908aae4b02SBaolin Wang	  To compile this driver as a module, choose M here: the module
6918aae4b02SBaolin Wang	  will be called pwm-sprd.
6928aae4b02SBaolin Wang
693378fe115SLee Jonesconfig PWM_STI
694378fe115SLee Jones	tristate "STiH4xx PWM support"
695e96c0ff4SKrzysztof Kozlowski	depends on ARCH_STI || COMPILE_TEST
69671d4b833SUwe Kleine-König	depends on HAS_IOMEM && OF
697378fe115SLee Jones	help
698378fe115SLee Jones	  Generic PWM framework driver for STiH4xx SoCs.
699378fe115SLee Jones
700378fe115SLee Jones	  To compile this driver as a module, choose M here: the module
701378fe115SLee Jones	  will be called pwm-sti.
702378fe115SLee Jones
7037edf7369SBenjamin Gaignardconfig PWM_STM32
7047edf7369SBenjamin Gaignard	tristate "STMicroelectronics STM32 PWM"
705e96c0ff4SKrzysztof Kozlowski	depends on MFD_STM32_TIMERS || COMPILE_TEST
7067edf7369SBenjamin Gaignard	help
7077edf7369SBenjamin Gaignard	  Generic PWM framework driver for STM32 SoCs.
7087edf7369SBenjamin Gaignard
7097edf7369SBenjamin Gaignard	  To compile this driver as a module, choose M here: the module
7107edf7369SBenjamin Gaignard	  will be called pwm-stm32.
7117edf7369SBenjamin Gaignard
712e70a540bSFabrice Gasnierconfig PWM_STM32_LP
713e70a540bSFabrice Gasnier	tristate "STMicroelectronics STM32 PWM LP"
714e70a540bSFabrice Gasnier	depends on MFD_STM32_LPTIMER || COMPILE_TEST
715e70a540bSFabrice Gasnier	help
716e70a540bSFabrice Gasnier	  Generic PWM framework driver for STMicroelectronics STM32 SoCs
717e70a540bSFabrice Gasnier	  with Low-Power Timer (LPTIM).
718e70a540bSFabrice Gasnier
719e70a540bSFabrice Gasnier	  To compile this driver as a module, choose M here: the module
720e70a540bSFabrice Gasnier	  will be called pwm-stm32-lp.
721e70a540bSFabrice Gasnier
722ef1f09ecSLinus Walleijconfig PWM_STMPE
723a2b8191aSUwe Kleine-König	tristate "STMPE expander PWM export"
724ef1f09ecSLinus Walleij	depends on MFD_STMPE
725ef1f09ecSLinus Walleij	help
726ef1f09ecSLinus Walleij	  This enables support for the PWMs found in the STMPE I/O
727ef1f09ecSLinus Walleij	  expanders.
728ef1f09ecSLinus Walleij
72909853ce7SAlexandre Belloniconfig PWM_SUN4I
73009853ce7SAlexandre Belloni	tristate "Allwinner PWM support"
73109853ce7SAlexandre Belloni	depends on ARCH_SUNXI || COMPILE_TEST
73209853ce7SAlexandre Belloni	depends on HAS_IOMEM && COMMON_CLK
73309853ce7SAlexandre Belloni	help
73409853ce7SAlexandre Belloni	  Generic PWM framework driver for Allwinner SoCs.
73509853ce7SAlexandre Belloni
73609853ce7SAlexandre Belloni	  To compile this driver as a module, choose M here: the module
73709853ce7SAlexandre Belloni	  will be called pwm-sun4i.
73809853ce7SAlexandre Belloni
739b3c4af85SHammer Hsiehconfig PWM_SUNPLUS
740b3c4af85SHammer Hsieh	tristate "Sunplus PWM support"
741b3c4af85SHammer Hsieh	depends on ARCH_SUNPLUS || COMPILE_TEST
742b3c4af85SHammer Hsieh	depends on HAS_IOMEM && OF
743b3c4af85SHammer Hsieh	help
744b3c4af85SHammer Hsieh	  Generic PWM framework driver for the PWM controller on
745b3c4af85SHammer Hsieh	  Sunplus SoCs.
746b3c4af85SHammer Hsieh
747b3c4af85SHammer Hsieh	  To compile this driver as a module, choose M here: the module
748b3c4af85SHammer Hsieh	  will be called pwm-sunplus.
749b3c4af85SHammer Hsieh
7500134b932SThierry Redingconfig PWM_TEGRA
7510134b932SThierry Reding	tristate "NVIDIA Tegra PWM support"
752e96c0ff4SKrzysztof Kozlowski	depends on ARCH_TEGRA || COMPILE_TEST
75371d4b833SUwe Kleine-König	depends on HAS_IOMEM
7540134b932SThierry Reding	help
7550134b932SThierry Reding	  Generic PWM framework driver for the PWFM controller found on NVIDIA
7560134b932SThierry Reding	  Tegra SoCs.
7570134b932SThierry Reding
7580134b932SThierry Reding	  To compile this driver as a module, choose M here: the module
7590134b932SThierry Reding	  will be called pwm-tegra.
7600134b932SThierry Reding
761e03724aaSMichal Wilczynskiconfig PWM_TH1520
762e03724aaSMichal Wilczynski	tristate "TH1520 PWM support"
763*3c180003SMichal Wilczynski	depends on ARCH_THEAD || COMPILE_TEST
764e03724aaSMichal Wilczynski	depends on RUST
765*3c180003SMichal Wilczynski	depends on HAS_IOMEM && COMMON_CLK
766e03724aaSMichal Wilczynski	select RUST_PWM_ABSTRACTIONS
767e03724aaSMichal Wilczynski	help
768e03724aaSMichal Wilczynski	  This option enables the driver for the PWM controller found on the
769e03724aaSMichal Wilczynski	  T-HEAD TH1520 SoC.
770e03724aaSMichal Wilczynski
771e03724aaSMichal Wilczynski	  To compile this driver as a module, choose M here; the module
772e03724aaSMichal Wilczynski	  will be called pwm-th1520. If you are unsure, say N.
773e03724aaSMichal Wilczynski
7748e0cb05bSPhilip, Avinashconfig PWM_TIECAP
7758e0cb05bSPhilip, Avinash	tristate "ECAP PWM support"
776e96c0ff4SKrzysztof Kozlowski	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
77771d4b833SUwe Kleine-König	depends on HAS_IOMEM
7788e0cb05bSPhilip, Avinash	help
7796f37709fSVignesh R	  PWM driver support for the ECAP APWM controller found on TI SOCs
7808e0cb05bSPhilip, Avinash
7818e0cb05bSPhilip, Avinash	  To compile this driver as a module, choose M here: the module
7828e0cb05bSPhilip, Avinash	  will be called pwm-tiecap.
7838e0cb05bSPhilip, Avinash
78419891b20SPhilip, Avinashconfig PWM_TIEHRPWM
78519891b20SPhilip, Avinash	tristate "EHRPWM PWM support"
786e96c0ff4SKrzysztof Kozlowski	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST
78771d4b833SUwe Kleine-König	depends on HAS_IOMEM
78819891b20SPhilip, Avinash	help
789efc80fb3SVignesh Raghavendra	  PWM driver support for the EHRPWM controller found on TI SOCs
79019891b20SPhilip, Avinash
79119891b20SPhilip, Avinash	  To compile this driver as a module, choose M here: the module
79219891b20SPhilip, Avinash	  will be called pwm-tiehrpwm.
79319891b20SPhilip, Avinash
7943744c263SPeter Ujfalusiconfig PWM_TWL
7953744c263SPeter Ujfalusi	tristate "TWL4030/6030 PWM support"
7963744c263SPeter Ujfalusi	depends on TWL4030_CORE
7973744c263SPeter Ujfalusi	help
7983744c263SPeter Ujfalusi	  Generic PWM framework driver for TWL4030/6030.
7993744c263SPeter Ujfalusi
8003744c263SPeter Ujfalusi	  To compile this driver as a module, choose M here: the module
8013744c263SPeter Ujfalusi	  will be called pwm-twl.
8023744c263SPeter Ujfalusi
803aa765647SPeter Ujfalusiconfig PWM_TWL_LED
804aa765647SPeter Ujfalusi	tristate "TWL4030/6030 PWM support for LED drivers"
805aa765647SPeter Ujfalusi	depends on TWL4030_CORE
806aa765647SPeter Ujfalusi	help
807aa765647SPeter Ujfalusi	  Generic PWM framework driver for TWL4030/6030 LED terminals.
808aa765647SPeter Ujfalusi
809aa765647SPeter Ujfalusi	  To compile this driver as a module, choose M here: the module
810aa765647SPeter Ujfalusi	  will be called pwm-twl-led.
811aa765647SPeter Ujfalusi
812721b5957SNobuhiro Iwamatsuconfig PWM_VISCONTI
813721b5957SNobuhiro Iwamatsu	tristate "Toshiba Visconti PWM support"
814721b5957SNobuhiro Iwamatsu	depends on ARCH_VISCONTI || COMPILE_TEST
815721b5957SNobuhiro Iwamatsu	help
816721b5957SNobuhiro Iwamatsu	  PWM Subsystem driver support for Toshiba Visconti SoCs.
817721b5957SNobuhiro Iwamatsu
818721b5957SNobuhiro Iwamatsu	  To compile this driver as a module, choose M here: the module
819721b5957SNobuhiro Iwamatsu	  will be called pwm-visconti.
820721b5957SNobuhiro Iwamatsu
821a245ccebSSascha Hauerconfig PWM_VT8500
822b133d2a1SThierry Reding	tristate "vt8500 PWM support"
823e96c0ff4SKrzysztof Kozlowski	depends on ARCH_VT8500 || COMPILE_TEST
82471d4b833SUwe Kleine-König	depends on HAS_IOMEM
825a245ccebSSascha Hauer	help
826a245ccebSSascha Hauer	  Generic PWM framework driver for vt8500.
827a245ccebSSascha Hauer
828a245ccebSSascha Hauer	  To compile this driver as a module, choose M here: the module
829a245ccebSSascha Hauer	  will be called pwm-vt8500.
830a245ccebSSascha Hauer
831bc1ce713SSean Andersonconfig PWM_XILINX
832bc1ce713SSean Anderson	tristate "Xilinx AXI Timer PWM support"
833bc1ce713SSean Anderson	depends on OF_ADDRESS
834bc1ce713SSean Anderson	depends on COMMON_CLK
835bc1ce713SSean Anderson	select REGMAP_MMIO
836bc1ce713SSean Anderson	help
837bc1ce713SSean Anderson	  PWM driver for Xilinx LogiCORE IP AXI timers. This timer is
838bc1ce713SSean Anderson	  typically a soft core which may be present in Xilinx FPGAs.
839bc1ce713SSean Anderson	  This device may also be present in Microblaze soft processors.
840bc1ce713SSean Anderson	  If you don't have this IP in your design, choose N.
841bc1ce713SSean Anderson
842bc1ce713SSean Anderson	  To compile this driver as a module, choose M here: the module
843bc1ce713SSean Anderson	  will be called pwm-xilinx.
844bc1ce713SSean Anderson
8457b3dce81SMichal Wilczynski config RUST_PWM_ABSTRACTIONS
8467b3dce81SMichal Wilczynski	bool
8477b3dce81SMichal Wilczynski	depends on RUST
8487b3dce81SMichal Wilczynski	help
8497b3dce81SMichal Wilczynski	  This option enables the safe Rust abstraction layer for the PWM
8507b3dce81SMichal Wilczynski	  subsystem. It provides idiomatic wrappers and traits necessary for
8517b3dce81SMichal Wilczynski	  writing PWM controller drivers in Rust.
8527b3dce81SMichal Wilczynski
8537b3dce81SMichal Wilczynski	  The abstractions handle resource management (like memory and reference
8547b3dce81SMichal Wilczynski	  counting) and provide safe interfaces to the underlying C core,
8557b3dce81SMichal Wilczynski	  allowing driver logic to be written in safe Rust.
8567b3dce81SMichal Wilczynski
8570c2498f1SSascha Hauerendif
858