usb: dwc_otg_310: add rk3288 usb otg support
[firefly-linux-kernel-4.4.55.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_HLCDC_PWM
54         tristate "Atmel HLCDC PWM support"
55         depends on MFD_ATMEL_HLCDC
56         depends on HAVE_CLK
57         help
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.
61
62           To compile this driver as a module, choose M here: the module
63           will be called pwm-atmel-hlcdc.
64
65 config PWM_ATMEL_TCB
66         tristate "Atmel TC Block PWM support"
67         depends on ATMEL_TCLIB && OF
68         help
69           Generic PWM framework driver for Atmel Timer Counter Block.
70
71           A Timer Counter Block provides 6 PWM devices grouped by 2.
72           Devices in a given group must have the same period.
73
74           To compile this driver as a module, choose M here: the module
75           will be called pwm-atmel-tcb.
76
77 config PWM_BCM_KONA
78         tristate "Kona PWM support"
79         depends on ARCH_BCM_MOBILE
80         help
81           Generic PWM framework driver for Broadcom Kona PWM block.
82
83           To compile this driver as a module, choose M here: the module
84           will be called pwm-bcm-kona.
85
86 config PWM_BCM2835
87         tristate "BCM2835 PWM support"
88         depends on ARCH_BCM2835
89         help
90           PWM framework driver for BCM2835 controller (Raspberry Pi)
91
92           To compile this driver as a module, choose M here: the module
93           will be called pwm-bcm2835.
94
95 config PWM_BERLIN
96         tristate "Marvell Berlin PWM support"
97         depends on ARCH_BERLIN
98         help
99           PWM framework driver for Marvell Berlin SoCs.
100
101           To compile this driver as a module, choose M here: the module
102           will be called pwm-berlin.
103
104 config PWM_BFIN
105         tristate "Blackfin PWM support"
106         depends on BFIN_GPTIMERS
107         help
108           Generic PWM framework driver for Blackfin.
109
110           To compile this driver as a module, choose M here: the module
111           will be called pwm-bfin.
112
113 config PWM_BRCMSTB
114         tristate "Broadcom STB PWM support"
115         depends on ARCH_BRCMSTB || BMIPS_GENERIC
116         help
117           Generic PWM framework driver for the Broadcom Set-top-Box
118           SoCs (BCM7xxx).
119
120           To compile this driver as a module, choose M Here: the module
121           will be called pwm-brcmstb.c.
122
123 config PWM_CLPS711X
124         tristate "CLPS711X PWM support"
125         depends on ARCH_CLPS711X || COMPILE_TEST
126         depends on HAS_IOMEM
127         help
128           Generic PWM framework driver for Cirrus Logic CLPS711X.
129
130           To compile this driver as a module, choose M here: the module
131           will be called pwm-clps711x.
132
133 config PWM_CRC
134         bool "Intel Crystalcove (CRC) PWM support"
135         depends on X86 && INTEL_SOC_PMIC
136         help
137           Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
138           control.
139
140 config PWM_CROS_EC
141         tristate "ChromeOS EC PWM driver"
142         depends on MFD_CROS_EC
143         help
144           PWM driver for exposing a PWM attached to the ChromeOS Embedded
145           Controller.
146
147 config PWM_EP93XX
148         tristate "Cirrus Logic EP93xx PWM support"
149         depends on ARCH_EP93XX
150         help
151           Generic PWM framework driver for Cirrus Logic EP93xx.
152
153           To compile this driver as a module, choose M here: the module
154           will be called pwm-ep93xx.
155
156 config PWM_FSL_FTM
157         tristate "Freescale FlexTimer Module (FTM) PWM support"
158         depends on OF
159         select REGMAP_MMIO
160         help
161           Generic FTM PWM framework driver for Freescale VF610 and
162           Layerscape LS-1 SoCs.
163
164           To compile this driver as a module, choose M here: the module
165           will be called pwm-fsl-ftm.
166
167 config PWM_IMG
168         tristate "Imagination Technologies PWM driver"
169         depends on HAS_IOMEM
170         depends on MFD_SYSCON
171         depends on COMMON_CLK
172         depends on MIPS || COMPILE_TEST
173         help
174           Generic PWM framework driver for Imagination Technologies
175           PWM block which supports 4 channels.
176
177           To compile this driver as a module, choose M here: the module
178           will be called pwm-img
179
180 config PWM_IMX
181         tristate "i.MX PWM support"
182         depends on ARCH_MXC
183         help
184           Generic PWM framework driver for i.MX.
185
186           To compile this driver as a module, choose M here: the module
187           will be called pwm-imx.
188
189 config PWM_JZ4740
190         tristate "Ingenic JZ4740 PWM support"
191         depends on MACH_JZ4740
192         help
193           Generic PWM framework driver for Ingenic JZ4740 based
194           machines.
195
196           To compile this driver as a module, choose M here: the module
197           will be called pwm-jz4740.
198
199 config PWM_LP3943
200         tristate "TI/National Semiconductor LP3943 PWM support"
201         depends on MFD_LP3943
202         help
203           Generic PWM framework driver for LP3943 which supports two PWM
204           channels.
205
206           To compile this driver as a module, choose M here: the module
207           will be called pwm-lp3943.
208
209 config PWM_LPC18XX_SCT
210         tristate "LPC18xx/43xx PWM/SCT support"
211         depends on ARCH_LPC18XX
212         help
213           Generic PWM framework driver for NXP LPC18xx PWM/SCT which
214           supports 16 channels.
215           A maximum of 15 channels can be requested simultaneously and
216           must have the same period.
217
218           To compile this driver as a module, choose M here: the module
219           will be called pwm-lpc18xx-sct.
220
221 config PWM_LPC32XX
222         tristate "LPC32XX PWM support"
223         depends on ARCH_LPC32XX
224         help
225           Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
226           PWM controllers.
227
228           To compile this driver as a module, choose M here: the module
229           will be called pwm-lpc32xx.
230
231 config PWM_LPSS
232         tristate "Intel LPSS PWM support"
233         depends on X86
234         help
235           Generic PWM framework driver for Intel Low Power Subsystem PWM
236           controller.
237
238           To compile this driver as a module, choose M here: the module
239           will be called pwm-lpss.
240
241 config PWM_LPSS_PCI
242         tristate "Intel LPSS PWM PCI driver"
243         depends on PWM_LPSS && PCI
244         help
245           The PCI driver for Intel Low Power Subsystem PWM controller.
246
247           To compile this driver as a module, choose M here: the module
248           will be called pwm-lpss-pci.
249
250 config PWM_LPSS_PLATFORM
251         tristate "Intel LPSS PWM platform driver"
252         depends on PWM_LPSS && ACPI
253         help
254           The platform driver for Intel Low Power Subsystem PWM controller.
255
256           To compile this driver as a module, choose M here: the module
257           will be called pwm-lpss-platform.
258
259 config PWM_MTK_DISP
260         tristate "MediaTek display PWM driver"
261         depends on ARCH_MEDIATEK || COMPILE_TEST
262         depends on HAS_IOMEM
263         help
264           Generic PWM framework driver for MediaTek disp-pwm device.
265           The PWM is used to control the backlight brightness for display.
266
267           To compile this driver as a module, choose M here: the module
268           will be called pwm-mtk-disp.
269
270 config PWM_MXS
271         tristate "Freescale MXS PWM support"
272         depends on ARCH_MXS && OF
273         select STMP_DEVICE
274         help
275           Generic PWM framework driver for Freescale MXS.
276
277           To compile this driver as a module, choose M here: the module
278           will be called pwm-mxs.
279
280 config PWM_PCA9685
281         tristate "NXP PCA9685 PWM driver"
282         depends on I2C
283         select REGMAP_I2C
284         help
285           Generic PWM framework driver for NXP PCA9685 LED controller.
286
287           To compile this driver as a module, choose M here: the module
288           will be called pwm-pca9685.
289
290 config PWM_PUV3
291         tristate "PKUnity NetBook-0916 PWM support"
292         depends on ARCH_PUV3
293         help
294           Generic PWM framework driver for PKUnity NetBook-0916.
295
296           To compile this driver as a module, choose M here: the module
297           will be called pwm-puv3.
298
299 config PWM_PXA
300         tristate "PXA PWM support"
301         depends on ARCH_PXA
302         help
303           Generic PWM framework driver for PXA.
304
305           To compile this driver as a module, choose M here: the module
306           will be called pwm-pxa.
307
308 config PWM_RCAR
309         tristate "Renesas R-Car PWM support"
310         depends on ARCH_RCAR_GEN1 || ARCH_RCAR_GEN2 || COMPILE_TEST
311         depends on HAS_IOMEM
312         help
313           This driver exposes the PWM Timer controller found in Renesas
314           R-Car chips through the PWM API.
315
316           To compile this driver as a module, choose M here: the module
317           will be called pwm-rcar.
318
319 config PWM_RENESAS_TPU
320         tristate "Renesas TPU PWM support"
321         depends on ARCH_SHMOBILE || COMPILE_TEST
322         depends on HAS_IOMEM
323         help
324           This driver exposes the Timer Pulse Unit (TPU) PWM controller found
325           in Renesas chips through the PWM API.
326
327           To compile this driver as a module, choose M here: the module
328           will be called pwm-renesas-tpu.
329
330 config PWM_ROCKCHIP
331         tristate "Rockchip PWM support"
332         depends on ARCH_ROCKCHIP
333         help
334           Generic PWM framework driver for the PWM controller found on
335           Rockchip SoCs.
336
337 config PWM_SAMSUNG
338         tristate "Samsung PWM support"
339         depends on PLAT_SAMSUNG || ARCH_EXYNOS
340         help
341           Generic PWM framework driver for Samsung.
342
343           To compile this driver as a module, choose M here: the module
344           will be called pwm-samsung.
345
346 config PWM_SPEAR
347         tristate "STMicroelectronics SPEAr PWM support"
348         depends on PLAT_SPEAR
349         depends on OF
350         help
351           Generic PWM framework driver for the PWM controller on ST
352           SPEAr SoCs.
353
354           To compile this driver as a module, choose M here: the module
355           will be called pwm-spear.
356
357 config PWM_STI
358         tristate "STiH4xx PWM support"
359         depends on ARCH_STI
360         depends on OF
361         help
362           Generic PWM framework driver for STiH4xx SoCs.
363
364           To compile this driver as a module, choose M here: the module
365           will be called pwm-sti.
366
367 config PWM_SUN4I
368         tristate "Allwinner PWM support"
369         depends on ARCH_SUNXI || COMPILE_TEST
370         depends on HAS_IOMEM && COMMON_CLK
371         help
372           Generic PWM framework driver for Allwinner SoCs.
373
374           To compile this driver as a module, choose M here: the module
375           will be called pwm-sun4i.
376
377 config PWM_TEGRA
378         tristate "NVIDIA Tegra PWM support"
379         depends on ARCH_TEGRA
380         help
381           Generic PWM framework driver for the PWFM controller found on NVIDIA
382           Tegra SoCs.
383
384           To compile this driver as a module, choose M here: the module
385           will be called pwm-tegra.
386
387 config  PWM_TIECAP
388         tristate "ECAP PWM support"
389         depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX
390         help
391           PWM driver support for the ECAP APWM controller found on AM33XX
392           TI SOC
393
394           To compile this driver as a module, choose M here: the module
395           will be called pwm-tiecap.
396
397 config  PWM_TIEHRPWM
398         tristate "EHRPWM PWM support"
399         depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX
400         help
401           PWM driver support for the EHRPWM controller found on AM33XX
402           TI SOC
403
404           To compile this driver as a module, choose M here: the module
405           will be called pwm-tiehrpwm.
406
407 config  PWM_TIPWMSS
408         bool
409         default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM)
410         help
411           PWM Subsystem driver support for AM33xx SOC.
412
413           PWM submodules require PWM config space access from submodule
414           drivers and require common parent driver support.
415
416 config PWM_TWL
417         tristate "TWL4030/6030 PWM support"
418         depends on TWL4030_CORE
419         help
420           Generic PWM framework driver for TWL4030/6030.
421
422           To compile this driver as a module, choose M here: the module
423           will be called pwm-twl.
424
425 config PWM_TWL_LED
426         tristate "TWL4030/6030 PWM support for LED drivers"
427         depends on TWL4030_CORE
428         help
429           Generic PWM framework driver for TWL4030/6030 LED terminals.
430
431           To compile this driver as a module, choose M here: the module
432           will be called pwm-twl-led.
433
434 config PWM_VT8500
435         tristate "vt8500 PWM support"
436         depends on ARCH_VT8500
437         help
438           Generic PWM framework driver for vt8500.
439
440           To compile this driver as a module, choose M here: the module
441           will be called pwm-vt8500.
442
443 endif