pwm: lpss: Properly split driver to parts
[pandora-kernel.git] / drivers / pwm / Kconfig
1 menuconfig PWM
2         bool "Pulse-Width Modulation (PWM) Support"
3         help
4           Generic Pulse-Width Modulation (PWM) support.
5
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
11           display backlights.
12
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.
19
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.
26
27           If unsure, say no.
28
29 if PWM
30
31 config PWM_SYSFS
32         bool
33         default y if SYSFS
34
35 config PWM_AB8500
36         tristate "AB8500 PWM support"
37         depends on AB8500_CORE && ARCH_U8500
38         help
39           Generic PWM framework driver for Analog Baseband AB8500.
40
41           To compile this driver as a module, choose M here: the module
42           will be called pwm-ab8500.
43
44 config PWM_ATMEL
45         tristate "Atmel PWM support"
46         depends on ARCH_AT91 || AVR32
47         help
48           Generic PWM framework driver for Atmel SoC.
49
50           To compile this driver as a module, choose M here: the module
51           will be called pwm-atmel.
52
53 config PWM_ATMEL_TCB
54         tristate "Atmel TC Block PWM support"
55         depends on ATMEL_TCLIB && OF
56         help
57           Generic PWM framework driver for Atmel Timer Counter Block.
58
59           A Timer Counter Block provides 6 PWM devices grouped by 2.
60           Devices in a given group must have the same period.
61
62           To compile this driver as a module, choose M here: the module
63           will be called pwm-atmel-tcb.
64
65 config PWM_BCM_KONA
66         tristate "Kona PWM support"
67         depends on ARCH_BCM_MOBILE
68         help
69           Generic PWM framework driver for Broadcom Kona PWM block.
70
71           To compile this driver as a module, choose M here: the module
72           will be called pwm-bcm-kona.
73
74 config PWM_BFIN
75         tristate "Blackfin PWM support"
76         depends on BFIN_GPTIMERS
77         help
78           Generic PWM framework driver for Blackfin.
79
80           To compile this driver as a module, choose M here: the module
81           will be called pwm-bfin.
82
83 config PWM_CLPS711X
84         tristate "CLPS711X PWM support"
85         depends on ARCH_CLPS711X || COMPILE_TEST
86         help
87           Generic PWM framework driver for Cirrus Logic CLPS711X.
88
89           To compile this driver as a module, choose M here: the module
90           will be called pwm-clps711x.
91
92 config PWM_EP93XX
93         tristate "Cirrus Logic EP93xx PWM support"
94         depends on ARCH_EP93XX
95         help
96           Generic PWM framework driver for Cirrus Logic EP93xx.
97
98           To compile this driver as a module, choose M here: the module
99           will be called pwm-ep93xx.
100
101 config PWM_FSL_FTM
102         tristate "Freescale FlexTimer Module (FTM) PWM support"
103         depends on OF
104         select REGMAP_MMIO
105         help
106           Generic FTM PWM framework driver for Freescale VF610 and
107           Layerscape LS-1 SoCs.
108
109           To compile this driver as a module, choose M here: the module
110           will be called pwm-fsl-ftm.
111
112 config PWM_IMX
113         tristate "i.MX PWM support"
114         depends on ARCH_MXC
115         help
116           Generic PWM framework driver for i.MX.
117
118           To compile this driver as a module, choose M here: the module
119           will be called pwm-imx.
120
121 config PWM_JZ4740
122         tristate "Ingenic JZ4740 PWM support"
123         depends on MACH_JZ4740
124         help
125           Generic PWM framework driver for Ingenic JZ4740 based
126           machines.
127
128           To compile this driver as a module, choose M here: the module
129           will be called pwm-jz4740.
130
131 config PWM_LP3943
132         tristate "TI/National Semiconductor LP3943 PWM support"
133         depends on MFD_LP3943
134         help
135           Generic PWM framework driver for LP3943 which supports two PWM
136           channels.
137
138           To compile this driver as a module, choose M here: the module
139           will be called pwm-lp3943.
140
141 config PWM_LPC32XX
142         tristate "LPC32XX PWM support"
143         depends on ARCH_LPC32XX
144         help
145           Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
146           PWM controllers.
147
148           To compile this driver as a module, choose M here: the module
149           will be called pwm-lpc32xx.
150
151 config PWM_LPSS
152         tristate "Intel LPSS PWM support"
153         help
154           Generic PWM framework driver for Intel Low Power Subsystem PWM
155           controller.
156
157           To compile this driver as a module, choose M here: the module
158           will be called pwm-lpss.
159
160 config PWM_LPSS_PCI
161         tristate "Intel LPSS PWM PCI driver"
162         depends on PWM_LPSS && PCI
163         help
164           The PCI driver for Intel Low Power Subsystem PWM controller.
165
166           To compile this driver as a module, choose M here: the module
167           will be called pwm-lpss-pci.
168
169 config PWM_LPSS_PLATFORM
170         tristate "Intel LPSS PWM platform driver"
171         depends on PWM_LPSS && ACPI
172         help
173           The platform driver for Intel Low Power Subsystem PWM controller.
174
175           To compile this driver as a module, choose M here: the module
176           will be called pwm-lpss-platform.
177
178 config PWM_MXS
179         tristate "Freescale MXS PWM support"
180         depends on ARCH_MXS && OF
181         select STMP_DEVICE
182         help
183           Generic PWM framework driver for Freescale MXS.
184
185           To compile this driver as a module, choose M here: the module
186           will be called pwm-mxs.
187
188 config PWM_PCA9685
189         tristate "NXP PCA9685 PWM driver"
190         depends on OF && I2C
191         select REGMAP_I2C
192         help
193           Generic PWM framework driver for NXP PCA9685 LED controller.
194
195           To compile this driver as a module, choose M here: the module
196           will be called pwm-pca9685.
197
198 config PWM_PUV3
199         tristate "PKUnity NetBook-0916 PWM support"
200         depends on ARCH_PUV3
201         help
202           Generic PWM framework driver for PKUnity NetBook-0916.
203
204           To compile this driver as a module, choose M here: the module
205           will be called pwm-puv3.
206
207 config PWM_PXA
208         tristate "PXA PWM support"
209         depends on ARCH_PXA
210         help
211           Generic PWM framework driver for PXA.
212
213           To compile this driver as a module, choose M here: the module
214           will be called pwm-pxa.
215
216 config PWM_RENESAS_TPU
217         tristate "Renesas TPU PWM support"
218         depends on ARCH_SHMOBILE || COMPILE_TEST
219         depends on HAS_IOMEM
220         help
221           This driver exposes the Timer Pulse Unit (TPU) PWM controller found
222           in Renesas chips through the PWM API.
223
224           To compile this driver as a module, choose M here: the module
225           will be called pwm-renesas-tpu.
226
227 config PWM_ROCKCHIP
228         tristate "Rockchip PWM support"
229         depends on ARCH_ROCKCHIP
230         help
231           Generic PWM framework driver for the PWM controller found on
232           Rockchip SoCs.
233
234 config PWM_SAMSUNG
235         tristate "Samsung PWM support"
236         depends on PLAT_SAMSUNG
237         help
238           Generic PWM framework driver for Samsung.
239
240           To compile this driver as a module, choose M here: the module
241           will be called pwm-samsung.
242
243 config PWM_SPEAR
244         tristate "STMicroelectronics SPEAr PWM support"
245         depends on PLAT_SPEAR
246         depends on OF
247         help
248           Generic PWM framework driver for the PWM controller on ST
249           SPEAr SoCs.
250
251           To compile this driver as a module, choose M here: the module
252           will be called pwm-spear.
253
254 config PWM_STI
255         tristate "STiH4xx PWM support"
256         depends on ARCH_STI
257         depends on OF
258         help
259           Generic PWM framework driver for STiH4xx SoCs.
260
261           To compile this driver as a module, choose M here: the module
262           will be called pwm-sti.
263
264 config PWM_TEGRA
265         tristate "NVIDIA Tegra PWM support"
266         depends on ARCH_TEGRA
267         help
268           Generic PWM framework driver for the PWFM controller found on NVIDIA
269           Tegra SoCs.
270
271           To compile this driver as a module, choose M here: the module
272           will be called pwm-tegra.
273
274 config  PWM_TIECAP
275         tristate "ECAP PWM support"
276         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
277         help
278           PWM driver support for the ECAP APWM controller found on AM33XX
279           TI SOC
280
281           To compile this driver as a module, choose M here: the module
282           will be called pwm-tiecap.
283
284 config  PWM_TIEHRPWM
285         tristate "EHRPWM PWM support"
286         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
287         help
288           PWM driver support for the EHRPWM controller found on AM33XX
289           TI SOC
290
291           To compile this driver as a module, choose M here: the module
292           will be called pwm-tiehrpwm.
293
294 config  PWM_TIPWMSS
295         bool
296         default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
297         help
298           PWM Subsystem driver support for AM33xx SOC.
299
300           PWM submodules require PWM config space access from submodule
301           drivers and require common parent driver support.
302
303 config PWM_TWL
304         tristate "TWL4030/6030 PWM support"
305         depends on TWL4030_CORE
306         help
307           Generic PWM framework driver for TWL4030/6030.
308
309           To compile this driver as a module, choose M here: the module
310           will be called pwm-twl.
311
312 config PWM_TWL_LED
313         tristate "TWL4030/6030 PWM support for LED drivers"
314         depends on TWL4030_CORE
315         help
316           Generic PWM framework driver for TWL4030/6030 LED terminals.
317
318           To compile this driver as a module, choose M here: the module
319           will be called pwm-twl-led.
320
321 config PWM_VT8500
322         tristate "vt8500 PWM support"
323         depends on ARCH_VT8500
324         help
325           Generic PWM framework driver for vt8500.
326
327           To compile this driver as a module, choose M here: the module
328           will be called pwm-vt8500.
329
330 endif