2 bool "Pulse-Width Modulation (PWM) Support"
4 Generic Pulse-Width Modulation (PWM) support.
6 In Pulse-Width Modulation, a variation of the width of pulses
7 in a rectangular pulse signal is used as a means to alter the
8 average power of the signal. Applications include efficient
9 power delivery and voltage regulation. In computer systems,
10 PWMs are commonly used to control fans or the brightness of
13 This framework provides a generic interface to PWM devices
14 within the Linux kernel. On the driver side it provides an API
15 to register and unregister a PWM chip, an abstraction of a PWM
16 controller, that supports one or more PWM devices. Client
17 drivers can request PWM devices and use the generic framework
18 to configure as well as enable and disable them.
20 This generic framework replaces the legacy PWM framework which
21 allows only a single driver implementing the required API. Not
22 all legacy implementations have been ported to the framework
23 yet. The framework provides an API that is backward compatible
24 with the legacy framework so that existing client drivers
25 continue to work as expected.
36 tristate "AB8500 PWM support"
37 depends on AB8500_CORE && ARCH_U8500
39 Generic PWM framework driver for Analog Baseband AB8500.
41 To compile this driver as a module, choose M here: the module
42 will be called pwm-ab8500.
45 tristate "Atmel PWM support"
46 depends on ARCH_AT91 || AVR32
48 Generic PWM framework driver for Atmel SoC.
50 To compile this driver as a module, choose M here: the module
51 will be called pwm-atmel.
53 config PWM_ATMEL_HLCDC_PWM
54 tristate "Atmel HLCDC PWM support"
55 depends on MFD_ATMEL_HLCDC
58 Generic PWM framework driver for the PWM output of the HLCDC
59 (Atmel High-end LCD Controller). This PWM output is mainly used
60 to control the LCD backlight.
62 To compile this driver as a module, choose M here: the module
63 will be called pwm-atmel-hlcdc.
66 tristate "Atmel TC Block PWM support"
67 depends on ATMEL_TCLIB && OF
69 Generic PWM framework driver for Atmel Timer Counter Block.
71 A Timer Counter Block provides 6 PWM devices grouped by 2.
72 Devices in a given group must have the same period.
74 To compile this driver as a module, choose M here: the module
75 will be called pwm-atmel-tcb.
78 tristate "Kona PWM support"
79 depends on ARCH_BCM_MOBILE
81 Generic PWM framework driver for Broadcom Kona PWM block.
83 To compile this driver as a module, choose M here: the module
84 will be called pwm-bcm-kona.
87 tristate "BCM2835 PWM support"
88 depends on ARCH_BCM2835
90 PWM framework driver for BCM2835 controller (Raspberry Pi)
92 To compile this driver as a module, choose M here: the module
93 will be called pwm-bcm2835.
96 tristate "Blackfin PWM support"
97 depends on BFIN_GPTIMERS
99 Generic PWM framework driver for Blackfin.
101 To compile this driver as a module, choose M here: the module
102 will be called pwm-bfin.
105 tristate "CLPS711X PWM support"
106 depends on ARCH_CLPS711X || COMPILE_TEST
109 Generic PWM framework driver for Cirrus Logic CLPS711X.
111 To compile this driver as a module, choose M here: the module
112 will be called pwm-clps711x.
115 tristate "Cirrus Logic EP93xx PWM support"
116 depends on ARCH_EP93XX
118 Generic PWM framework driver for Cirrus Logic EP93xx.
120 To compile this driver as a module, choose M here: the module
121 will be called pwm-ep93xx.
124 tristate "Freescale FlexTimer Module (FTM) PWM support"
128 Generic FTM PWM framework driver for Freescale VF610 and
129 Layerscape LS-1 SoCs.
131 To compile this driver as a module, choose M here: the module
132 will be called pwm-fsl-ftm.
135 tristate "Imagination Technologies PWM driver"
137 depends on MFD_SYSCON
138 depends on COMMON_CLK
139 depends on MIPS || COMPILE_TEST
141 Generic PWM framework driver for Imagination Technologies
142 PWM block which supports 4 channels.
144 To compile this driver as a module, choose M here: the module
145 will be called pwm-img
148 tristate "i.MX PWM support"
151 Generic PWM framework driver for i.MX.
153 To compile this driver as a module, choose M here: the module
154 will be called pwm-imx.
157 tristate "Ingenic JZ4740 PWM support"
158 depends on MACH_JZ4740
160 Generic PWM framework driver for Ingenic JZ4740 based
163 To compile this driver as a module, choose M here: the module
164 will be called pwm-jz4740.
167 tristate "TI/National Semiconductor LP3943 PWM support"
168 depends on MFD_LP3943
170 Generic PWM framework driver for LP3943 which supports two PWM
173 To compile this driver as a module, choose M here: the module
174 will be called pwm-lp3943.
177 tristate "LPC32XX PWM support"
178 depends on ARCH_LPC32XX
180 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
183 To compile this driver as a module, choose M here: the module
184 will be called pwm-lpc32xx.
187 tristate "Intel LPSS PWM support"
190 Generic PWM framework driver for Intel Low Power Subsystem PWM
193 To compile this driver as a module, choose M here: the module
194 will be called pwm-lpss.
197 tristate "Intel LPSS PWM PCI driver"
198 depends on PWM_LPSS && PCI
200 The PCI driver for Intel Low Power Subsystem PWM controller.
202 To compile this driver as a module, choose M here: the module
203 will be called pwm-lpss-pci.
205 config PWM_LPSS_PLATFORM
206 tristate "Intel LPSS PWM platform driver"
207 depends on PWM_LPSS && ACPI
209 The platform driver for Intel Low Power Subsystem PWM controller.
211 To compile this driver as a module, choose M here: the module
212 will be called pwm-lpss-platform.
215 tristate "Freescale MXS PWM support"
216 depends on ARCH_MXS && OF
219 Generic PWM framework driver for Freescale MXS.
221 To compile this driver as a module, choose M here: the module
222 will be called pwm-mxs.
225 tristate "NXP PCA9685 PWM driver"
229 Generic PWM framework driver for NXP PCA9685 LED controller.
231 To compile this driver as a module, choose M here: the module
232 will be called pwm-pca9685.
235 tristate "PKUnity NetBook-0916 PWM support"
238 Generic PWM framework driver for PKUnity NetBook-0916.
240 To compile this driver as a module, choose M here: the module
241 will be called pwm-puv3.
244 tristate "PXA PWM support"
247 Generic PWM framework driver for PXA.
249 To compile this driver as a module, choose M here: the module
250 will be called pwm-pxa.
252 config PWM_RENESAS_TPU
253 tristate "Renesas TPU PWM support"
254 depends on ARCH_SHMOBILE || COMPILE_TEST
257 This driver exposes the Timer Pulse Unit (TPU) PWM controller found
258 in Renesas chips through the PWM API.
260 To compile this driver as a module, choose M here: the module
261 will be called pwm-renesas-tpu.
264 tristate "Rockchip PWM support"
265 depends on ARCH_ROCKCHIP
267 Generic PWM framework driver for the PWM controller found on
271 tristate "Samsung PWM support"
272 depends on PLAT_SAMSUNG || ARCH_EXYNOS
274 Generic PWM framework driver for Samsung.
276 To compile this driver as a module, choose M here: the module
277 will be called pwm-samsung.
280 tristate "STMicroelectronics SPEAr PWM support"
281 depends on PLAT_SPEAR
284 Generic PWM framework driver for the PWM controller on ST
287 To compile this driver as a module, choose M here: the module
288 will be called pwm-spear.
291 tristate "STiH4xx PWM support"
295 Generic PWM framework driver for STiH4xx SoCs.
297 To compile this driver as a module, choose M here: the module
298 will be called pwm-sti.
301 tristate "Allwinner PWM support"
302 depends on ARCH_SUNXI || COMPILE_TEST
303 depends on HAS_IOMEM && COMMON_CLK
305 Generic PWM framework driver for Allwinner SoCs.
307 To compile this driver as a module, choose M here: the module
308 will be called pwm-sun4i.
311 tristate "NVIDIA Tegra PWM support"
312 depends on ARCH_TEGRA
314 Generic PWM framework driver for the PWFM controller found on NVIDIA
317 To compile this driver as a module, choose M here: the module
318 will be called pwm-tegra.
321 tristate "ECAP PWM support"
322 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
324 PWM driver support for the ECAP APWM controller found on AM33XX
327 To compile this driver as a module, choose M here: the module
328 will be called pwm-tiecap.
331 tristate "EHRPWM PWM support"
332 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
334 PWM driver support for the EHRPWM controller found on AM33XX
337 To compile this driver as a module, choose M here: the module
338 will be called pwm-tiehrpwm.
342 default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
344 PWM Subsystem driver support for AM33xx SOC.
346 PWM submodules require PWM config space access from submodule
347 drivers and require common parent driver support.
350 tristate "TWL4030/6030 PWM support"
351 depends on TWL4030_CORE
353 Generic PWM framework driver for TWL4030/6030.
355 To compile this driver as a module, choose M here: the module
356 will be called pwm-twl.
359 tristate "TWL4030/6030 PWM support for LED drivers"
360 depends on TWL4030_CORE
362 Generic PWM framework driver for TWL4030/6030 LED terminals.
364 To compile this driver as a module, choose M here: the module
365 will be called pwm-twl-led.
368 tristate "vt8500 PWM support"
369 depends on ARCH_VT8500
371 Generic PWM framework driver for vt8500.
373 To compile this driver as a module, choose M here: the module
374 will be called pwm-vt8500.