Merge tag 'pm+acpi-3.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[sfrench/cifs-2.6.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         depends on HAS_IOMEM
87         help
88           Generic PWM framework driver for Cirrus Logic CLPS711X.
89
90           To compile this driver as a module, choose M here: the module
91           will be called pwm-clps711x.
92
93 config PWM_EP93XX
94         tristate "Cirrus Logic EP93xx PWM support"
95         depends on ARCH_EP93XX
96         help
97           Generic PWM framework driver for Cirrus Logic EP93xx.
98
99           To compile this driver as a module, choose M here: the module
100           will be called pwm-ep93xx.
101
102 config PWM_FSL_FTM
103         tristate "Freescale FlexTimer Module (FTM) PWM support"
104         depends on OF
105         select REGMAP_MMIO
106         help
107           Generic FTM PWM framework driver for Freescale VF610 and
108           Layerscape LS-1 SoCs.
109
110           To compile this driver as a module, choose M here: the module
111           will be called pwm-fsl-ftm.
112
113 config PWM_IMX
114         tristate "i.MX PWM support"
115         depends on ARCH_MXC
116         help
117           Generic PWM framework driver for i.MX.
118
119           To compile this driver as a module, choose M here: the module
120           will be called pwm-imx.
121
122 config PWM_JZ4740
123         tristate "Ingenic JZ4740 PWM support"
124         depends on MACH_JZ4740
125         help
126           Generic PWM framework driver for Ingenic JZ4740 based
127           machines.
128
129           To compile this driver as a module, choose M here: the module
130           will be called pwm-jz4740.
131
132 config PWM_LP3943
133         tristate "TI/National Semiconductor LP3943 PWM support"
134         depends on MFD_LP3943
135         help
136           Generic PWM framework driver for LP3943 which supports two PWM
137           channels.
138
139           To compile this driver as a module, choose M here: the module
140           will be called pwm-lp3943.
141
142 config PWM_LPC32XX
143         tristate "LPC32XX PWM support"
144         depends on ARCH_LPC32XX
145         help
146           Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
147           PWM controllers.
148
149           To compile this driver as a module, choose M here: the module
150           will be called pwm-lpc32xx.
151
152 config PWM_LPSS
153         tristate "Intel LPSS PWM support"
154         depends on X86
155         help
156           Generic PWM framework driver for Intel Low Power Subsystem PWM
157           controller.
158
159           To compile this driver as a module, choose M here: the module
160           will be called pwm-lpss.
161
162 config PWM_LPSS_PCI
163         tristate "Intel LPSS PWM PCI driver"
164         depends on PWM_LPSS && PCI
165         help
166           The PCI driver for Intel Low Power Subsystem PWM controller.
167
168           To compile this driver as a module, choose M here: the module
169           will be called pwm-lpss-pci.
170
171 config PWM_LPSS_PLATFORM
172         tristate "Intel LPSS PWM platform driver"
173         depends on PWM_LPSS && ACPI
174         help
175           The platform driver for Intel Low Power Subsystem PWM controller.
176
177           To compile this driver as a module, choose M here: the module
178           will be called pwm-lpss-platform.
179
180 config PWM_MXS
181         tristate "Freescale MXS PWM support"
182         depends on ARCH_MXS && OF
183         select STMP_DEVICE
184         help
185           Generic PWM framework driver for Freescale MXS.
186
187           To compile this driver as a module, choose M here: the module
188           will be called pwm-mxs.
189
190 config PWM_PCA9685
191         tristate "NXP PCA9685 PWM driver"
192         depends on OF && I2C
193         select REGMAP_I2C
194         help
195           Generic PWM framework driver for NXP PCA9685 LED controller.
196
197           To compile this driver as a module, choose M here: the module
198           will be called pwm-pca9685.
199
200 config PWM_PUV3
201         tristate "PKUnity NetBook-0916 PWM support"
202         depends on ARCH_PUV3
203         help
204           Generic PWM framework driver for PKUnity NetBook-0916.
205
206           To compile this driver as a module, choose M here: the module
207           will be called pwm-puv3.
208
209 config PWM_PXA
210         tristate "PXA PWM support"
211         depends on ARCH_PXA
212         help
213           Generic PWM framework driver for PXA.
214
215           To compile this driver as a module, choose M here: the module
216           will be called pwm-pxa.
217
218 config PWM_RENESAS_TPU
219         tristate "Renesas TPU PWM support"
220         depends on ARCH_SHMOBILE || COMPILE_TEST
221         depends on HAS_IOMEM
222         help
223           This driver exposes the Timer Pulse Unit (TPU) PWM controller found
224           in Renesas chips through the PWM API.
225
226           To compile this driver as a module, choose M here: the module
227           will be called pwm-renesas-tpu.
228
229 config PWM_ROCKCHIP
230         tristate "Rockchip PWM support"
231         depends on ARCH_ROCKCHIP
232         help
233           Generic PWM framework driver for the PWM controller found on
234           Rockchip SoCs.
235
236 config PWM_SAMSUNG
237         tristate "Samsung PWM support"
238         depends on PLAT_SAMSUNG
239         help
240           Generic PWM framework driver for Samsung.
241
242           To compile this driver as a module, choose M here: the module
243           will be called pwm-samsung.
244
245 config PWM_SPEAR
246         tristate "STMicroelectronics SPEAr PWM support"
247         depends on PLAT_SPEAR
248         depends on OF
249         help
250           Generic PWM framework driver for the PWM controller on ST
251           SPEAr SoCs.
252
253           To compile this driver as a module, choose M here: the module
254           will be called pwm-spear.
255
256 config PWM_STI
257         tristate "STiH4xx PWM support"
258         depends on ARCH_STI
259         depends on OF
260         help
261           Generic PWM framework driver for STiH4xx SoCs.
262
263           To compile this driver as a module, choose M here: the module
264           will be called pwm-sti.
265
266 config PWM_TEGRA
267         tristate "NVIDIA Tegra PWM support"
268         depends on ARCH_TEGRA
269         help
270           Generic PWM framework driver for the PWFM controller found on NVIDIA
271           Tegra SoCs.
272
273           To compile this driver as a module, choose M here: the module
274           will be called pwm-tegra.
275
276 config  PWM_TIECAP
277         tristate "ECAP PWM support"
278         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
279         help
280           PWM driver support for the ECAP APWM controller found on AM33XX
281           TI SOC
282
283           To compile this driver as a module, choose M here: the module
284           will be called pwm-tiecap.
285
286 config  PWM_TIEHRPWM
287         tristate "EHRPWM PWM support"
288         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
289         help
290           PWM driver support for the EHRPWM controller found on AM33XX
291           TI SOC
292
293           To compile this driver as a module, choose M here: the module
294           will be called pwm-tiehrpwm.
295
296 config  PWM_TIPWMSS
297         bool
298         default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
299         help
300           PWM Subsystem driver support for AM33xx SOC.
301
302           PWM submodules require PWM config space access from submodule
303           drivers and require common parent driver support.
304
305 config PWM_TWL
306         tristate "TWL4030/6030 PWM support"
307         depends on TWL4030_CORE
308         help
309           Generic PWM framework driver for TWL4030/6030.
310
311           To compile this driver as a module, choose M here: the module
312           will be called pwm-twl.
313
314 config PWM_TWL_LED
315         tristate "TWL4030/6030 PWM support for LED drivers"
316         depends on TWL4030_CORE
317         help
318           Generic PWM framework driver for TWL4030/6030 LED terminals.
319
320           To compile this driver as a module, choose M here: the module
321           will be called pwm-twl-led.
322
323 config PWM_VT8500
324         tristate "vt8500 PWM support"
325         depends on ARCH_VT8500
326         help
327           Generic PWM framework driver for vt8500.
328
329           To compile this driver as a module, choose M here: the module
330           will be called pwm-vt8500.
331
332 endif