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