pwm: lpss: make it buildable only on X86
[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         depends on X86
154         help
155           Generic PWM framework driver for Intel Low Power Subsystem PWM
156           controller.
157
158           To compile this driver as a module, choose M here: the module
159           will be called pwm-lpss.
160
161 config PWM_LPSS_PCI
162         tristate "Intel LPSS PWM PCI driver"
163         depends on PWM_LPSS && PCI
164         help
165           The PCI driver for Intel Low Power Subsystem PWM controller.
166
167           To compile this driver as a module, choose M here: the module
168           will be called pwm-lpss-pci.
169
170 config PWM_LPSS_PLATFORM
171         tristate "Intel LPSS PWM platform driver"
172         depends on PWM_LPSS && ACPI
173         help
174           The platform driver for Intel Low Power Subsystem PWM controller.
175
176           To compile this driver as a module, choose M here: the module
177           will be called pwm-lpss-platform.
178
179 config PWM_MXS
180         tristate "Freescale MXS PWM support"
181         depends on ARCH_MXS && OF
182         select STMP_DEVICE
183         help
184           Generic PWM framework driver for Freescale MXS.
185
186           To compile this driver as a module, choose M here: the module
187           will be called pwm-mxs.
188
189 config PWM_PCA9685
190         tristate "NXP PCA9685 PWM driver"
191         depends on OF && I2C
192         select REGMAP_I2C
193         help
194           Generic PWM framework driver for NXP PCA9685 LED controller.
195
196           To compile this driver as a module, choose M here: the module
197           will be called pwm-pca9685.
198
199 config PWM_PUV3
200         tristate "PKUnity NetBook-0916 PWM support"
201         depends on ARCH_PUV3
202         help
203           Generic PWM framework driver for PKUnity NetBook-0916.
204
205           To compile this driver as a module, choose M here: the module
206           will be called pwm-puv3.
207
208 config PWM_PXA
209         tristate "PXA PWM support"
210         depends on ARCH_PXA
211         help
212           Generic PWM framework driver for PXA.
213
214           To compile this driver as a module, choose M here: the module
215           will be called pwm-pxa.
216
217 config PWM_RENESAS_TPU
218         tristate "Renesas TPU PWM support"
219         depends on ARCH_SHMOBILE || COMPILE_TEST
220         depends on HAS_IOMEM
221         help
222           This driver exposes the Timer Pulse Unit (TPU) PWM controller found
223           in Renesas chips through the PWM API.
224
225           To compile this driver as a module, choose M here: the module
226           will be called pwm-renesas-tpu.
227
228 config PWM_ROCKCHIP
229         tristate "Rockchip PWM support"
230         depends on ARCH_ROCKCHIP
231         help
232           Generic PWM framework driver for the PWM controller found on
233           Rockchip SoCs.
234
235 config PWM_SAMSUNG
236         tristate "Samsung PWM support"
237         depends on PLAT_SAMSUNG
238         help
239           Generic PWM framework driver for Samsung.
240
241           To compile this driver as a module, choose M here: the module
242           will be called pwm-samsung.
243
244 config PWM_SPEAR
245         tristate "STMicroelectronics SPEAr PWM support"
246         depends on PLAT_SPEAR
247         depends on OF
248         help
249           Generic PWM framework driver for the PWM controller on ST
250           SPEAr SoCs.
251
252           To compile this driver as a module, choose M here: the module
253           will be called pwm-spear.
254
255 config PWM_STI
256         tristate "STiH4xx PWM support"
257         depends on ARCH_STI
258         depends on OF
259         help
260           Generic PWM framework driver for STiH4xx SoCs.
261
262           To compile this driver as a module, choose M here: the module
263           will be called pwm-sti.
264
265 config PWM_TEGRA
266         tristate "NVIDIA Tegra PWM support"
267         depends on ARCH_TEGRA
268         help
269           Generic PWM framework driver for the PWFM controller found on NVIDIA
270           Tegra SoCs.
271
272           To compile this driver as a module, choose M here: the module
273           will be called pwm-tegra.
274
275 config  PWM_TIECAP
276         tristate "ECAP PWM support"
277         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
278         help
279           PWM driver support for the ECAP APWM controller found on AM33XX
280           TI SOC
281
282           To compile this driver as a module, choose M here: the module
283           will be called pwm-tiecap.
284
285 config  PWM_TIEHRPWM
286         tristate "EHRPWM PWM support"
287         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
288         help
289           PWM driver support for the EHRPWM controller found on AM33XX
290           TI SOC
291
292           To compile this driver as a module, choose M here: the module
293           will be called pwm-tiehrpwm.
294
295 config  PWM_TIPWMSS
296         bool
297         default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
298         help
299           PWM Subsystem driver support for AM33xx SOC.
300
301           PWM submodules require PWM config space access from submodule
302           drivers and require common parent driver support.
303
304 config PWM_TWL
305         tristate "TWL4030/6030 PWM support"
306         depends on TWL4030_CORE
307         help
308           Generic PWM framework driver for TWL4030/6030.
309
310           To compile this driver as a module, choose M here: the module
311           will be called pwm-twl.
312
313 config PWM_TWL_LED
314         tristate "TWL4030/6030 PWM support for LED drivers"
315         depends on TWL4030_CORE
316         help
317           Generic PWM framework driver for TWL4030/6030 LED terminals.
318
319           To compile this driver as a module, choose M here: the module
320           will be called pwm-twl-led.
321
322 config PWM_VT8500
323         tristate "vt8500 PWM support"
324         depends on ARCH_VT8500
325         help
326           Generic PWM framework driver for vt8500.
327
328           To compile this driver as a module, choose M here: the module
329           will be called pwm-vt8500.
330
331 endif