Merge tag 'v3.16-rc1' into x86/cpufeature
[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
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_SAMSUNG
210         tristate "Samsung PWM support"
211         depends on PLAT_SAMSUNG
212         help
213           Generic PWM framework driver for Samsung.
214
215           To compile this driver as a module, choose M here: the module
216           will be called pwm-samsung.
217
218 config PWM_SPEAR
219         tristate "STMicroelectronics SPEAr PWM support"
220         depends on PLAT_SPEAR
221         depends on OF
222         help
223           Generic PWM framework driver for the PWM controller on ST
224           SPEAr SoCs.
225
226           To compile this driver as a module, choose M here: the module
227           will be called pwm-spear.
228
229 config PWM_TEGRA
230         tristate "NVIDIA Tegra PWM support"
231         depends on ARCH_TEGRA
232         help
233           Generic PWM framework driver for the PWFM controller found on NVIDIA
234           Tegra SoCs.
235
236           To compile this driver as a module, choose M here: the module
237           will be called pwm-tegra.
238
239 config  PWM_TIECAP
240         tristate "ECAP PWM support"
241         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
242         help
243           PWM driver support for the ECAP APWM controller found on AM33XX
244           TI SOC
245
246           To compile this driver as a module, choose M here: the module
247           will be called pwm-tiecap.
248
249 config  PWM_TIEHRPWM
250         tristate "EHRPWM PWM support"
251         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
252         help
253           PWM driver support for the EHRPWM controller found on AM33XX
254           TI SOC
255
256           To compile this driver as a module, choose M here: the module
257           will be called pwm-tiehrpwm.
258
259 config  PWM_TIPWMSS
260         bool
261         default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
262         help
263           PWM Subsystem driver support for AM33xx SOC.
264
265           PWM submodules require PWM config space access from submodule
266           drivers and require common parent driver support.
267
268 config PWM_TWL
269         tristate "TWL4030/6030 PWM support"
270         depends on TWL4030_CORE
271         help
272           Generic PWM framework driver for TWL4030/6030.
273
274           To compile this driver as a module, choose M here: the module
275           will be called pwm-twl.
276
277 config PWM_TWL_LED
278         tristate "TWL4030/6030 PWM support for LED drivers"
279         depends on TWL4030_CORE
280         help
281           Generic PWM framework driver for TWL4030/6030 LED terminals.
282
283           To compile this driver as a module, choose M here: the module
284           will be called pwm-twl-led.
285
286 config PWM_VT8500
287         tristate "vt8500 PWM support"
288         depends on ARCH_VT8500
289         help
290           Generic PWM framework driver for vt8500.
291
292           To compile this driver as a module, choose M here: the module
293           will be called pwm-vt8500.
294
295 endif