Commit | Line | Data |
---|---|---|
0c2498f1 | 1 | menuconfig PWM |
b817bf5c | 2 | bool "Pulse-Width Modulation (PWM) Support" |
0c2498f1 | 3 | help |
b817bf5c | 4 | Generic Pulse-Width Modulation (PWM) support. |
0c2498f1 | 5 | |
b817bf5c TR |
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. | |
0c2498f1 SH |
28 | |
29 | if PWM | |
30 | ||
76abbdde HS |
31 | config PWM_SYSFS |
32 | bool | |
33 | default y if SYSFS | |
34 | ||
6173f8f4 TR |
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 | ||
32b16d46 BS |
44 | config PWM_ATMEL |
45 | tristate "Atmel PWM support" | |
a687a533 | 46 | depends on ARCH_AT91 |
32b16d46 BS |
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 | ||
2b4984be BB |
53 | config PWM_ATMEL_HLCDC_PWM |
54 | tristate "Atmel HLCDC PWM support" | |
55 | depends on MFD_ATMEL_HLCDC | |
d2048c49 | 56 | depends on HAVE_CLK |
2b4984be BB |
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 | ||
9421bade | 65 | config PWM_ATMEL_TCB |
b133d2a1 | 66 | tristate "Atmel TC Block PWM support" |
9421bade BB |
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 | ||
daa5abc4 YRDR |
77 | config PWM_BCM_IPROC |
78 | tristate "iProc PWM support" | |
5bf22ff3 SB |
79 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
80 | depends on COMMON_CLK | |
81 | default ARCH_BCM_IPROC | |
daa5abc4 YRDR |
82 | help |
83 | Generic PWM framework driver for Broadcom iProc PWM block. This | |
84 | block is used in Broadcom iProc SoC's. | |
85 | ||
86 | To compile this driver as a module, choose M here: the module | |
87 | will be called pwm-bcm-iproc. | |
88 | ||
6a4e4bff TK |
89 | config PWM_BCM_KONA |
90 | tristate "Kona PWM support" | |
88a053d2 CP |
91 | depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST |
92 | depends on HAVE_CLK && HAS_IOMEM | |
93 | default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS | |
6a4e4bff TK |
94 | help |
95 | Generic PWM framework driver for Broadcom Kona PWM block. | |
96 | ||
97 | To compile this driver as a module, choose M here: the module | |
98 | will be called pwm-bcm-kona. | |
99 | ||
e5a06dc5 BT |
100 | config PWM_BCM2835 |
101 | tristate "BCM2835 PWM support" | |
102 | depends on ARCH_BCM2835 | |
103 | help | |
104 | PWM framework driver for BCM2835 controller (Raspberry Pi) | |
105 | ||
106 | To compile this driver as a module, choose M here: the module | |
107 | will be called pwm-bcm2835. | |
108 | ||
59d5c8b1 AT |
109 | config PWM_BERLIN |
110 | tristate "Marvell Berlin PWM support" | |
111 | depends on ARCH_BERLIN | |
112 | help | |
113 | PWM framework driver for Marvell Berlin SoCs. | |
114 | ||
115 | To compile this driver as a module, choose M here: the module | |
116 | will be called pwm-berlin. | |
117 | ||
3a9f5957 FF |
118 | config PWM_BRCMSTB |
119 | tristate "Broadcom STB PWM support" | |
120 | depends on ARCH_BRCMSTB || BMIPS_GENERIC | |
121 | help | |
122 | Generic PWM framework driver for the Broadcom Set-top-Box | |
123 | SoCs (BCM7xxx). | |
124 | ||
125 | To compile this driver as a module, choose M Here: the module | |
126 | will be called pwm-brcmstb.c. | |
127 | ||
7eb3f6ff AS |
128 | config PWM_CLPS711X |
129 | tristate "CLPS711X PWM support" | |
130 | depends on ARCH_CLPS711X || COMPILE_TEST | |
dec02f98 | 131 | depends on HAS_IOMEM |
7eb3f6ff AS |
132 | help |
133 | Generic PWM framework driver for Cirrus Logic CLPS711X. | |
134 | ||
135 | To compile this driver as a module, choose M here: the module | |
136 | will be called pwm-clps711x. | |
137 | ||
a3f37a10 SK |
138 | config PWM_CRC |
139 | bool "Intel Crystalcove (CRC) PWM support" | |
140 | depends on X86 && INTEL_SOC_PMIC | |
141 | help | |
142 | Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM | |
143 | control. | |
144 | ||
1f0d3bb0 BN |
145 | config PWM_CROS_EC |
146 | tristate "ChromeOS EC PWM driver" | |
147 | depends on MFD_CROS_EC | |
148 | help | |
149 | PWM driver for exposing a PWM attached to the ChromeOS Embedded | |
150 | Controller. | |
151 | ||
a2308698 HS |
152 | config PWM_EP93XX |
153 | tristate "Cirrus Logic EP93xx PWM support" | |
154 | depends on ARCH_EP93XX | |
155 | help | |
156 | Generic PWM framework driver for Cirrus Logic EP93xx. | |
157 | ||
158 | To compile this driver as a module, choose M here: the module | |
159 | will be called pwm-ep93xx. | |
160 | ||
b505183b XL |
161 | config PWM_FSL_FTM |
162 | tristate "Freescale FlexTimer Module (FTM) PWM support" | |
36d5be4b | 163 | depends on HAS_IOMEM |
b505183b | 164 | depends on OF |
00018a8a | 165 | select REGMAP_MMIO |
b505183b XL |
166 | help |
167 | Generic FTM PWM framework driver for Freescale VF610 and | |
168 | Layerscape LS-1 SoCs. | |
169 | ||
170 | To compile this driver as a module, choose M here: the module | |
171 | will be called pwm-fsl-ftm. | |
172 | ||
d09f0081 | 173 | config PWM_HIBVT |
174 | tristate "HiSilicon BVT PWM support" | |
175 | depends on ARCH_HISI || COMPILE_TEST | |
176 | help | |
177 | Generic PWM framework driver for HiSilicon BVT SoCs. | |
178 | ||
179 | To compile this driver as a module, choose M here: the module | |
180 | will be called pwm-hibvt. | |
181 | ||
277bb6a2 NT |
182 | config PWM_IMG |
183 | tristate "Imagination Technologies PWM driver" | |
184 | depends on HAS_IOMEM | |
185 | depends on MFD_SYSCON | |
186 | depends on COMMON_CLK | |
187 | depends on MIPS || COMPILE_TEST | |
188 | help | |
189 | Generic PWM framework driver for Imagination Technologies | |
190 | PWM block which supports 4 channels. | |
191 | ||
192 | To compile this driver as a module, choose M here: the module | |
193 | will be called pwm-img | |
194 | ||
d80f8206 UKK |
195 | config PWM_IMX1 |
196 | tristate "i.MX1 PWM support" | |
29693248 SH |
197 | depends on ARCH_MXC |
198 | help | |
d80f8206 | 199 | Generic PWM framework driver for i.MX1 and i.MX21 |
29693248 SH |
200 | |
201 | To compile this driver as a module, choose M here: the module | |
d80f8206 UKK |
202 | will be called pwm-imx1. |
203 | ||
204 | config PWM_IMX27 | |
205 | tristate "i.MX27 PWM support" | |
206 | depends on ARCH_MXC | |
207 | help | |
208 | Generic PWM framework driver for i.MX27 and later i.MX SoCs. | |
209 | ||
210 | To compile this driver as a module, choose M here: the module | |
211 | will be called pwm-imx27. | |
29693248 | 212 | |
f6b8a570 | 213 | config PWM_JZ4740 |
b4190062 PC |
214 | tristate "Ingenic JZ47xx PWM support" |
215 | depends on MACH_INGENIC | |
f6b8a570 | 216 | help |
b4190062 | 217 | Generic PWM framework driver for Ingenic JZ47xx based |
f6b8a570 TR |
218 | machines. |
219 | ||
220 | To compile this driver as a module, choose M here: the module | |
221 | will be called pwm-jz4740. | |
222 | ||
af66b3c0 MK |
223 | config PWM_LP3943 |
224 | tristate "TI/National Semiconductor LP3943 PWM support" | |
225 | depends on MFD_LP3943 | |
226 | help | |
227 | Generic PWM framework driver for LP3943 which supports two PWM | |
228 | channels. | |
229 | ||
230 | To compile this driver as a module, choose M here: the module | |
231 | will be called pwm-lp3943. | |
232 | ||
841e6f90 AA |
233 | config PWM_LPC18XX_SCT |
234 | tristate "LPC18xx/43xx PWM/SCT support" | |
235 | depends on ARCH_LPC18XX | |
236 | help | |
237 | Generic PWM framework driver for NXP LPC18xx PWM/SCT which | |
238 | supports 16 channels. | |
239 | A maximum of 15 channels can be requested simultaneously and | |
240 | must have the same period. | |
241 | ||
242 | To compile this driver as a module, choose M here: the module | |
243 | will be called pwm-lpc18xx-sct. | |
244 | ||
2132fa8d APS |
245 | config PWM_LPC32XX |
246 | tristate "LPC32XX PWM support" | |
247 | depends on ARCH_LPC32XX | |
248 | help | |
249 | Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two | |
250 | PWM controllers. | |
251 | ||
252 | To compile this driver as a module, choose M here: the module | |
253 | will be called pwm-lpc32xx. | |
254 | ||
d16a5aa9 | 255 | config PWM_LPSS |
6f90a00c | 256 | tristate |
d16a5aa9 | 257 | |
c558e39e AS |
258 | config PWM_LPSS_PCI |
259 | tristate "Intel LPSS PWM PCI driver" | |
6f90a00c AS |
260 | depends on X86 && PCI |
261 | select PWM_LPSS | |
c558e39e AS |
262 | help |
263 | The PCI driver for Intel Low Power Subsystem PWM controller. | |
264 | ||
265 | To compile this driver as a module, choose M here: the module | |
266 | will be called pwm-lpss-pci. | |
267 | ||
268 | config PWM_LPSS_PLATFORM | |
269 | tristate "Intel LPSS PWM platform driver" | |
6f90a00c AS |
270 | depends on X86 && ACPI |
271 | select PWM_LPSS | |
c558e39e AS |
272 | help |
273 | The platform driver for Intel Low Power Subsystem PWM controller. | |
274 | ||
275 | To compile this driver as a module, choose M here: the module | |
276 | will be called pwm-lpss-platform. | |
277 | ||
211ed630 NA |
278 | config PWM_MESON |
279 | tristate "Amlogic Meson PWM driver" | |
280 | depends on ARCH_MESON | |
281 | help | |
282 | The platform driver for Amlogic Meson PWM controller. | |
283 | ||
284 | To compile this driver as a module, choose M here: the module | |
285 | will be called pwm-meson. | |
286 | ||
7e3b7dc7 YH |
287 | config PWM_MTK_DISP |
288 | tristate "MediaTek display PWM driver" | |
289 | depends on ARCH_MEDIATEK || COMPILE_TEST | |
290 | depends on HAS_IOMEM | |
291 | help | |
292 | Generic PWM framework driver for MediaTek disp-pwm device. | |
293 | The PWM is used to control the backlight brightness for display. | |
294 | ||
295 | To compile this driver as a module, choose M here: the module | |
296 | will be called pwm-mtk-disp. | |
297 | ||
caf065f8 JC |
298 | config PWM_MEDIATEK |
299 | tristate "MediaTek PWM support" | |
8cdc43af | 300 | depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST |
caf065f8 JC |
301 | help |
302 | Generic PWM framework driver for Mediatek ARM SoC. | |
303 | ||
304 | To compile this driver as a module, choose M here: the module | |
aa12d7a7 | 305 | will be called pwm-mediatek. |
caf065f8 | 306 | |
4dce82c1 SG |
307 | config PWM_MXS |
308 | tristate "Freescale MXS PWM support" | |
309 | depends on ARCH_MXS && OF | |
01bf32e9 | 310 | select STMP_DEVICE |
4dce82c1 SG |
311 | help |
312 | Generic PWM framework driver for Freescale MXS. | |
313 | ||
314 | To compile this driver as a module, choose M here: the module | |
315 | will be called pwm-mxs. | |
316 | ||
6604c655 NA |
317 | config PWM_OMAP_DMTIMER |
318 | tristate "OMAP Dual-Mode Timer PWM support" | |
319 | depends on OF && ARCH_OMAP && OMAP_DM_TIMER | |
320 | help | |
321 | Generic PWM framework driver for OMAP Dual-Mode Timer PWM output | |
322 | ||
323 | To compile this driver as a module, choose M here: the module | |
324 | will be called pwm-omap-dmtimer | |
325 | ||
88b613e6 ST |
326 | config PWM_PCA9685 |
327 | tristate "NXP PCA9685 PWM driver" | |
912b8439 | 328 | depends on I2C |
2c80a492 | 329 | select REGMAP_I2C |
88b613e6 ST |
330 | help |
331 | Generic PWM framework driver for NXP PCA9685 LED controller. | |
332 | ||
333 | To compile this driver as a module, choose M here: the module | |
334 | will be called pwm-pca9685. | |
335 | ||
79c11b6f TR |
336 | config PWM_PUV3 |
337 | tristate "PKUnity NetBook-0916 PWM support" | |
338 | depends on ARCH_PUV3 | |
339 | help | |
340 | Generic PWM framework driver for PKUnity NetBook-0916. | |
341 | ||
342 | To compile this driver as a module, choose M here: the module | |
343 | will be called pwm-puv3. | |
344 | ||
17b2b478 TR |
345 | config PWM_PXA |
346 | tristate "PXA PWM support" | |
347 | depends on ARCH_PXA | |
348 | help | |
349 | Generic PWM framework driver for PXA. | |
350 | ||
351 | To compile this driver as a module, choose M here: the module | |
352 | will be called pwm-pxa. | |
353 | ||
ed6c1476 YS |
354 | config PWM_RCAR |
355 | tristate "Renesas R-Car PWM support" | |
48169988 | 356 | depends on ARCH_RENESAS || COMPILE_TEST |
ed6c1476 YS |
357 | depends on HAS_IOMEM |
358 | help | |
359 | This driver exposes the PWM Timer controller found in Renesas | |
360 | R-Car chips through the PWM API. | |
361 | ||
362 | To compile this driver as a module, choose M here: the module | |
363 | will be called pwm-rcar. | |
364 | ||
99b82abb LP |
365 | config PWM_RENESAS_TPU |
366 | tristate "Renesas TPU PWM support" | |
03d99531 | 367 | depends on ARCH_RENESAS || COMPILE_TEST |
2974b098 | 368 | depends on HAS_IOMEM |
99b82abb LP |
369 | help |
370 | This driver exposes the Timer Pulse Unit (TPU) PWM controller found | |
371 | in Renesas chips through the PWM API. | |
372 | ||
373 | To compile this driver as a module, choose M here: the module | |
374 | will be called pwm-renesas-tpu. | |
375 | ||
101353c8 BG |
376 | config PWM_ROCKCHIP |
377 | tristate "Rockchip PWM support" | |
378 | depends on ARCH_ROCKCHIP | |
379 | help | |
380 | Generic PWM framework driver for the PWM controller found on | |
381 | Rockchip SoCs. | |
382 | ||
215c29d3 | 383 | config PWM_SAMSUNG |
b133d2a1 | 384 | tristate "Samsung PWM support" |
06e4cb6b | 385 | depends on PLAT_SAMSUNG || ARCH_EXYNOS |
215c29d3 SH |
386 | help |
387 | Generic PWM framework driver for Samsung. | |
388 | ||
389 | To compile this driver as a module, choose M here: the module | |
390 | will be called pwm-samsung. | |
391 | ||
ce20364b SH |
392 | config PWM_SPEAR |
393 | tristate "STMicroelectronics SPEAr PWM support" | |
394 | depends on PLAT_SPEAR | |
395 | depends on OF | |
396 | help | |
397 | Generic PWM framework driver for the PWM controller on ST | |
398 | SPEAr SoCs. | |
399 | ||
400 | To compile this driver as a module, choose M here: the module | |
401 | will be called pwm-spear. | |
402 | ||
378fe115 LJ |
403 | config PWM_STI |
404 | tristate "STiH4xx PWM support" | |
405 | depends on ARCH_STI | |
406 | depends on OF | |
407 | help | |
408 | Generic PWM framework driver for STiH4xx SoCs. | |
409 | ||
410 | To compile this driver as a module, choose M here: the module | |
411 | will be called pwm-sti. | |
412 | ||
7edf7369 BG |
413 | config PWM_STM32 |
414 | tristate "STMicroelectronics STM32 PWM" | |
d968e504 | 415 | depends on MFD_STM32_TIMERS |
7edf7369 BG |
416 | help |
417 | Generic PWM framework driver for STM32 SoCs. | |
418 | ||
419 | To compile this driver as a module, choose M here: the module | |
420 | will be called pwm-stm32. | |
421 | ||
e70a540b FG |
422 | config PWM_STM32_LP |
423 | tristate "STMicroelectronics STM32 PWM LP" | |
424 | depends on MFD_STM32_LPTIMER || COMPILE_TEST | |
425 | help | |
426 | Generic PWM framework driver for STMicroelectronics STM32 SoCs | |
427 | with Low-Power Timer (LPTIM). | |
428 | ||
429 | To compile this driver as a module, choose M here: the module | |
430 | will be called pwm-stm32-lp. | |
431 | ||
ef1f09ec LW |
432 | config PWM_STMPE |
433 | bool "STMPE expander PWM export" | |
434 | depends on MFD_STMPE | |
435 | help | |
436 | This enables support for the PWMs found in the STMPE I/O | |
437 | expanders. | |
438 | ||
09853ce7 AB |
439 | config PWM_SUN4I |
440 | tristate "Allwinner PWM support" | |
441 | depends on ARCH_SUNXI || COMPILE_TEST | |
442 | depends on HAS_IOMEM && COMMON_CLK | |
443 | help | |
444 | Generic PWM framework driver for Allwinner SoCs. | |
445 | ||
446 | To compile this driver as a module, choose M here: the module | |
447 | will be called pwm-sun4i. | |
448 | ||
0134b932 TR |
449 | config PWM_TEGRA |
450 | tristate "NVIDIA Tegra PWM support" | |
451 | depends on ARCH_TEGRA | |
452 | help | |
453 | Generic PWM framework driver for the PWFM controller found on NVIDIA | |
454 | Tegra SoCs. | |
455 | ||
456 | To compile this driver as a module, choose M here: the module | |
457 | will be called pwm-tegra. | |
458 | ||
8e0cb05b PA |
459 | config PWM_TIECAP |
460 | tristate "ECAP PWM support" | |
6f37709f | 461 | depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 |
8e0cb05b | 462 | help |
6f37709f | 463 | PWM driver support for the ECAP APWM controller found on TI SOCs |
8e0cb05b PA |
464 | |
465 | To compile this driver as a module, choose M here: the module | |
466 | will be called pwm-tiecap. | |
467 | ||
19891b20 PA |
468 | config PWM_TIEHRPWM |
469 | tristate "EHRPWM PWM support" | |
25ebc9ec | 470 | depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX |
19891b20 PA |
471 | help |
472 | PWM driver support for the EHRPWM controller found on AM33XX | |
473 | TI SOC | |
474 | ||
475 | To compile this driver as a module, choose M here: the module | |
476 | will be called pwm-tiehrpwm. | |
477 | ||
af0ba001 PA |
478 | config PWM_TIPWMSS |
479 | bool | |
25ebc9ec | 480 | default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM) |
af0ba001 PA |
481 | help |
482 | PWM Subsystem driver support for AM33xx SOC. | |
483 | ||
484 | PWM submodules require PWM config space access from submodule | |
485 | drivers and require common parent driver support. | |
486 | ||
3744c263 PU |
487 | config PWM_TWL |
488 | tristate "TWL4030/6030 PWM support" | |
489 | depends on TWL4030_CORE | |
490 | help | |
491 | Generic PWM framework driver for TWL4030/6030. | |
492 | ||
493 | To compile this driver as a module, choose M here: the module | |
494 | will be called pwm-twl. | |
495 | ||
aa765647 PU |
496 | config PWM_TWL_LED |
497 | tristate "TWL4030/6030 PWM support for LED drivers" | |
498 | depends on TWL4030_CORE | |
499 | help | |
500 | Generic PWM framework driver for TWL4030/6030 LED terminals. | |
501 | ||
502 | To compile this driver as a module, choose M here: the module | |
503 | will be called pwm-twl-led. | |
504 | ||
a245cceb | 505 | config PWM_VT8500 |
b133d2a1 | 506 | tristate "vt8500 PWM support" |
a245cceb SH |
507 | depends on ARCH_VT8500 |
508 | help | |
509 | Generic PWM framework driver for vt8500. | |
510 | ||
511 | To compile this driver as a module, choose M here: the module | |
512 | will be called pwm-vt8500. | |
513 | ||
4836193c SG |
514 | config PWM_ZX |
515 | tristate "ZTE ZX PWM support" | |
516 | depends on ARCH_ZX | |
517 | help | |
518 | Generic PWM framework driver for ZTE ZX family SoCs. | |
519 | ||
520 | To compile this driver as a module, choose M here: the module | |
521 | will be called pwm-zx. | |
522 | ||
0c2498f1 | 523 | endif |