Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
0c2498f1 | 2 | menuconfig PWM |
b817bf5c | 3 | bool "Pulse-Width Modulation (PWM) Support" |
0c2498f1 | 4 | help |
b817bf5c | 5 | Generic Pulse-Width Modulation (PWM) support. |
0c2498f1 | 6 | |
b817bf5c TR |
7 | In Pulse-Width Modulation, a variation of the width of pulses |
8 | in a rectangular pulse signal is used as a means to alter the | |
9 | average power of the signal. Applications include efficient | |
10 | power delivery and voltage regulation. In computer systems, | |
11 | PWMs are commonly used to control fans or the brightness of | |
12 | display backlights. | |
13 | ||
14 | This framework provides a generic interface to PWM devices | |
15 | within the Linux kernel. On the driver side it provides an API | |
16 | to register and unregister a PWM chip, an abstraction of a PWM | |
17 | controller, that supports one or more PWM devices. Client | |
18 | drivers can request PWM devices and use the generic framework | |
19 | to configure as well as enable and disable them. | |
20 | ||
21 | This generic framework replaces the legacy PWM framework which | |
22 | allows only a single driver implementing the required API. Not | |
23 | all legacy implementations have been ported to the framework | |
24 | yet. The framework provides an API that is backward compatible | |
25 | with the legacy framework so that existing client drivers | |
26 | continue to work as expected. | |
27 | ||
28 | If unsure, say no. | |
0c2498f1 SH |
29 | |
30 | if PWM | |
31 | ||
76abbdde HS |
32 | config PWM_SYSFS |
33 | bool | |
34 | default y if SYSFS | |
35 | ||
3ad1f3a3 UKK |
36 | config PWM_DEBUG |
37 | bool "PWM lowlevel drivers additional checks and debug messages" | |
38 | depends on DEBUG_KERNEL | |
39 | help | |
40 | This option enables some additional checks to help lowlevel driver | |
41 | authors to get their callbacks implemented correctly. | |
42 | It is expected to introduce some runtime overhead and diagnostic | |
43 | output to the kernel log, so only enable while working on a driver. | |
44 | ||
6173f8f4 TR |
45 | config PWM_AB8500 |
46 | tristate "AB8500 PWM support" | |
47 | depends on AB8500_CORE && ARCH_U8500 | |
48 | help | |
49 | Generic PWM framework driver for Analog Baseband AB8500. | |
50 | ||
51 | To compile this driver as a module, choose M here: the module | |
52 | will be called pwm-ab8500. | |
53 | ||
bafbbef8 SF |
54 | config PWM_APPLE |
55 | tristate "Apple SoC PWM support" | |
56 | depends on ARCH_APPLE || COMPILE_TEST | |
57 | help | |
58 | Generic PWM framework driver for PWM controller present on | |
59 | Apple SoCs | |
60 | ||
61 | Say Y here if you have an ARM Apple laptop, otherwise say N | |
62 | ||
63 | To compile this driver as a module, choose M here: the module | |
64 | will be called pwm-apple. | |
65 | ||
32b16d46 BS |
66 | config PWM_ATMEL |
67 | tristate "Atmel PWM support" | |
e96c0ff4 | 68 | depends on ARCH_AT91 || COMPILE_TEST |
71d4b833 | 69 | depends on HAS_IOMEM && OF |
32b16d46 BS |
70 | help |
71 | Generic PWM framework driver for Atmel SoC. | |
72 | ||
73 | To compile this driver as a module, choose M here: the module | |
74 | will be called pwm-atmel. | |
75 | ||
2b4984be BB |
76 | config PWM_ATMEL_HLCDC_PWM |
77 | tristate "Atmel HLCDC PWM support" | |
78 | depends on MFD_ATMEL_HLCDC | |
d2048c49 | 79 | depends on HAVE_CLK |
2b4984be BB |
80 | help |
81 | Generic PWM framework driver for the PWM output of the HLCDC | |
82 | (Atmel High-end LCD Controller). This PWM output is mainly used | |
83 | to control the LCD backlight. | |
84 | ||
85 | To compile this driver as a module, choose M here: the module | |
86 | will be called pwm-atmel-hlcdc. | |
87 | ||
9421bade | 88 | config PWM_ATMEL_TCB |
b133d2a1 | 89 | tristate "Atmel TC Block PWM support" |
061f8572 AB |
90 | depends on OF |
91 | select REGMAP_MMIO | |
9421bade BB |
92 | help |
93 | Generic PWM framework driver for Atmel Timer Counter Block. | |
94 | ||
95 | A Timer Counter Block provides 6 PWM devices grouped by 2. | |
96 | Devices in a given group must have the same period. | |
97 | ||
98 | To compile this driver as a module, choose M here: the module | |
99 | will be called pwm-atmel-tcb. | |
100 | ||
daa5abc4 YRDR |
101 | config PWM_BCM_IPROC |
102 | tristate "iProc PWM support" | |
5bf22ff3 | 103 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
71d4b833 | 104 | depends on COMMON_CLK && HAS_IOMEM |
5bf22ff3 | 105 | default ARCH_BCM_IPROC |
daa5abc4 YRDR |
106 | help |
107 | Generic PWM framework driver for Broadcom iProc PWM block. This | |
108 | block is used in Broadcom iProc SoC's. | |
109 | ||
110 | To compile this driver as a module, choose M here: the module | |
111 | will be called pwm-bcm-iproc. | |
112 | ||
6a4e4bff TK |
113 | config PWM_BCM_KONA |
114 | tristate "Kona PWM support" | |
88a053d2 CP |
115 | depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST |
116 | depends on HAVE_CLK && HAS_IOMEM | |
117 | default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS | |
6a4e4bff TK |
118 | help |
119 | Generic PWM framework driver for Broadcom Kona PWM block. | |
120 | ||
121 | To compile this driver as a module, choose M here: the module | |
122 | will be called pwm-bcm-kona. | |
123 | ||
e5a06dc5 BT |
124 | config PWM_BCM2835 |
125 | tristate "BCM2835 PWM support" | |
e96c0ff4 | 126 | depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST |
71d4b833 | 127 | depends on HAS_IOMEM |
e5a06dc5 BT |
128 | help |
129 | PWM framework driver for BCM2835 controller (Raspberry Pi) | |
130 | ||
131 | To compile this driver as a module, choose M here: the module | |
132 | will be called pwm-bcm2835. | |
133 | ||
59d5c8b1 AT |
134 | config PWM_BERLIN |
135 | tristate "Marvell Berlin PWM support" | |
e96c0ff4 | 136 | depends on ARCH_BERLIN || COMPILE_TEST |
71d4b833 | 137 | depends on HAS_IOMEM |
59d5c8b1 AT |
138 | help |
139 | PWM framework driver for Marvell Berlin SoCs. | |
140 | ||
141 | To compile this driver as a module, choose M here: the module | |
142 | will be called pwm-berlin. | |
143 | ||
3a9f5957 FF |
144 | config PWM_BRCMSTB |
145 | tristate "Broadcom STB PWM support" | |
e96c0ff4 | 146 | depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST |
71d4b833 | 147 | depends on HAS_IOMEM |
3a9f5957 FF |
148 | help |
149 | Generic PWM framework driver for the Broadcom Set-top-Box | |
150 | SoCs (BCM7xxx). | |
151 | ||
152 | To compile this driver as a module, choose M Here: the module | |
153 | will be called pwm-brcmstb.c. | |
154 | ||
901f8f54 NT |
155 | config PWM_CLK |
156 | tristate "Clock based PWM support" | |
157 | depends on HAVE_CLK || COMPILE_TEST | |
158 | help | |
159 | Generic PWM framework driver for outputs that can be | |
160 | muxed to clocks. | |
161 | ||
162 | To compile this driver as a module, choose M here: the module | |
163 | will be called pwm-clk. | |
164 | ||
7eb3f6ff AS |
165 | config PWM_CLPS711X |
166 | tristate "CLPS711X PWM support" | |
167 | depends on ARCH_CLPS711X || COMPILE_TEST | |
dec02f98 | 168 | depends on HAS_IOMEM |
7eb3f6ff AS |
169 | help |
170 | Generic PWM framework driver for Cirrus Logic CLPS711X. | |
171 | ||
172 | To compile this driver as a module, choose M here: the module | |
173 | will be called pwm-clps711x. | |
174 | ||
a3f37a10 | 175 | config PWM_CRC |
91a69d38 UKK |
176 | tristate "Intel Crystalcove (CRC) PWM support" |
177 | depends on INTEL_SOC_PMIC | |
a3f37a10 SK |
178 | help |
179 | Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM | |
180 | control. | |
181 | ||
1f0d3bb0 BN |
182 | config PWM_CROS_EC |
183 | tristate "ChromeOS EC PWM driver" | |
47f11e0b | 184 | depends on CROS_EC |
1f0d3bb0 BN |
185 | help |
186 | PWM driver for exposing a PWM attached to the ChromeOS Embedded | |
187 | Controller. | |
188 | ||
721ee188 BD |
189 | config PWM_DWC_CORE |
190 | tristate | |
191 | depends on HAS_IOMEM | |
192 | help | |
193 | PWM driver for Synopsys DWC PWM Controller. | |
194 | ||
195 | To compile this driver as a module, build the dependecies as | |
196 | modules, this will be called pwm-dwc-core. | |
197 | ||
1ed2b3fc | 198 | config PWM_DWC |
721ee188 BD |
199 | tristate "DesignWare PWM Controller (PCI bus)" |
200 | depends on HAS_IOMEM && PCI | |
201 | select PWM_DWC_CORE | |
1ed2b3fc JN |
202 | help |
203 | PWM driver for Synopsys DWC PWM Controller attached to a PCI bus. | |
204 | ||
205 | To compile this driver as a module, choose M here: the module | |
206 | will be called pwm-dwc. | |
207 | ||
a2308698 HS |
208 | config PWM_EP93XX |
209 | tristate "Cirrus Logic EP93xx PWM support" | |
e96c0ff4 | 210 | depends on ARCH_EP93XX || COMPILE_TEST |
71d4b833 | 211 | depends on HAS_IOMEM |
a2308698 HS |
212 | help |
213 | Generic PWM framework driver for Cirrus Logic EP93xx. | |
214 | ||
215 | To compile this driver as a module, choose M here: the module | |
216 | will be called pwm-ep93xx. | |
217 | ||
b505183b XL |
218 | config PWM_FSL_FTM |
219 | tristate "Freescale FlexTimer Module (FTM) PWM support" | |
36d5be4b | 220 | depends on HAS_IOMEM |
b505183b | 221 | depends on OF |
00018a8a | 222 | select REGMAP_MMIO |
b505183b XL |
223 | help |
224 | Generic FTM PWM framework driver for Freescale VF610 and | |
225 | Layerscape LS-1 SoCs. | |
226 | ||
227 | To compile this driver as a module, choose M here: the module | |
228 | will be called pwm-fsl-ftm. | |
229 | ||
d09f0081 | 230 | config PWM_HIBVT |
231 | tristate "HiSilicon BVT PWM support" | |
232 | depends on ARCH_HISI || COMPILE_TEST | |
71d4b833 | 233 | depends on HAS_IOMEM |
d09f0081 | 234 | help |
235 | Generic PWM framework driver for HiSilicon BVT SoCs. | |
236 | ||
237 | To compile this driver as a module, choose M here: the module | |
238 | will be called pwm-hibvt. | |
239 | ||
277bb6a2 NT |
240 | config PWM_IMG |
241 | tristate "Imagination Technologies PWM driver" | |
242 | depends on HAS_IOMEM | |
243 | depends on MFD_SYSCON | |
244 | depends on COMMON_CLK | |
245 | depends on MIPS || COMPILE_TEST | |
246 | help | |
247 | Generic PWM framework driver for Imagination Technologies | |
248 | PWM block which supports 4 channels. | |
249 | ||
250 | To compile this driver as a module, choose M here: the module | |
251 | will be called pwm-img | |
252 | ||
d80f8206 UKK |
253 | config PWM_IMX1 |
254 | tristate "i.MX1 PWM support" | |
e96c0ff4 | 255 | depends on ARCH_MXC || COMPILE_TEST |
71d4b833 | 256 | depends on HAS_IOMEM |
29693248 | 257 | help |
d80f8206 | 258 | Generic PWM framework driver for i.MX1 and i.MX21 |
29693248 SH |
259 | |
260 | To compile this driver as a module, choose M here: the module | |
d80f8206 UKK |
261 | will be called pwm-imx1. |
262 | ||
263 | config PWM_IMX27 | |
264 | tristate "i.MX27 PWM support" | |
e96c0ff4 | 265 | depends on ARCH_MXC || COMPILE_TEST |
71d4b833 | 266 | depends on HAS_IOMEM |
d80f8206 UKK |
267 | help |
268 | Generic PWM framework driver for i.MX27 and later i.MX SoCs. | |
269 | ||
270 | To compile this driver as a module, choose M here: the module | |
271 | will be called pwm-imx27. | |
29693248 | 272 | |
738a1cfe AH |
273 | config PWM_IMX_TPM |
274 | tristate "i.MX TPM PWM support" | |
275 | depends on ARCH_MXC || COMPILE_TEST | |
276 | depends on HAVE_CLK && HAS_IOMEM | |
277 | help | |
278 | Generic PWM framework driver for i.MX7ULP TPM module, TPM's full | |
279 | name is Low Power Timer/Pulse Width Modulation Module. | |
280 | ||
281 | To compile this driver as a module, choose M here: the module | |
282 | will be called pwm-imx-tpm. | |
283 | ||
97960add RT |
284 | config PWM_INTEL_LGM |
285 | tristate "Intel LGM PWM support" | |
286 | depends on HAS_IOMEM | |
287 | depends on (OF && X86) || COMPILE_TEST | |
288 | select REGMAP_MMIO | |
289 | help | |
290 | Generic PWM fan controller driver for LGM SoC. | |
291 | ||
292 | To compile this driver as a module, choose M here: the module | |
293 | will be called pwm-intel-lgm. | |
294 | ||
6f0841a8 JL |
295 | config PWM_IQS620A |
296 | tristate "Azoteq IQS620A PWM support" | |
297 | depends on MFD_IQS62X || COMPILE_TEST | |
298 | help | |
299 | Generic PWM framework driver for the Azoteq IQS620A multi-function | |
300 | sensor. | |
301 | ||
302 | To compile this driver as a module, choose M here: the module will | |
303 | be called pwm-iqs620a. | |
304 | ||
f6b8a570 | 305 | config PWM_JZ4740 |
b4190062 | 306 | tristate "Ingenic JZ47xx PWM support" |
69ba53da | 307 | depends on MACH_INGENIC || COMPILE_TEST |
731c4793 | 308 | depends on COMMON_CLK && OF |
c2693514 | 309 | select MFD_SYSCON |
f6b8a570 | 310 | help |
b4190062 | 311 | Generic PWM framework driver for Ingenic JZ47xx based |
f6b8a570 TR |
312 | machines. |
313 | ||
314 | To compile this driver as a module, choose M here: the module | |
315 | will be called pwm-jz4740. | |
316 | ||
bd899ceb VA |
317 | config PWM_KEEMBAY |
318 | tristate "Intel Keem Bay PWM driver" | |
cf83f7b7 UKK |
319 | depends on ARCH_KEEMBAY || COMPILE_TEST |
320 | depends on COMMON_CLK && HAS_IOMEM | |
bd899ceb VA |
321 | help |
322 | The platform driver for Intel Keem Bay PWM controller. | |
323 | ||
324 | To compile this driver as a module, choose M here: the module | |
325 | will be called pwm-keembay. | |
326 | ||
af66b3c0 MK |
327 | config PWM_LP3943 |
328 | tristate "TI/National Semiconductor LP3943 PWM support" | |
329 | depends on MFD_LP3943 | |
330 | help | |
331 | Generic PWM framework driver for LP3943 which supports two PWM | |
332 | channels. | |
333 | ||
334 | To compile this driver as a module, choose M here: the module | |
335 | will be called pwm-lp3943. | |
336 | ||
841e6f90 AA |
337 | config PWM_LPC18XX_SCT |
338 | tristate "LPC18xx/43xx PWM/SCT support" | |
e96c0ff4 | 339 | depends on ARCH_LPC18XX || COMPILE_TEST |
71d4b833 | 340 | depends on HAS_IOMEM |
841e6f90 AA |
341 | help |
342 | Generic PWM framework driver for NXP LPC18xx PWM/SCT which | |
343 | supports 16 channels. | |
344 | A maximum of 15 channels can be requested simultaneously and | |
345 | must have the same period. | |
346 | ||
347 | To compile this driver as a module, choose M here: the module | |
348 | will be called pwm-lpc18xx-sct. | |
349 | ||
2132fa8d APS |
350 | config PWM_LPC32XX |
351 | tristate "LPC32XX PWM support" | |
e96c0ff4 | 352 | depends on ARCH_LPC32XX || COMPILE_TEST |
71d4b833 | 353 | depends on HAS_IOMEM |
2132fa8d APS |
354 | help |
355 | Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two | |
356 | PWM controllers. | |
357 | ||
358 | To compile this driver as a module, choose M here: the module | |
359 | will be called pwm-lpc32xx. | |
360 | ||
d16a5aa9 | 361 | config PWM_LPSS |
71d4b833 | 362 | depends on HAS_IOMEM |
6f90a00c | 363 | tristate |
d16a5aa9 | 364 | |
c558e39e AS |
365 | config PWM_LPSS_PCI |
366 | tristate "Intel LPSS PWM PCI driver" | |
aa43edcb UKK |
367 | depends on X86 || COMPILE_TEST |
368 | depends on HAS_IOMEM && PCI | |
6f90a00c | 369 | select PWM_LPSS |
c558e39e AS |
370 | help |
371 | The PCI driver for Intel Low Power Subsystem PWM controller. | |
372 | ||
373 | To compile this driver as a module, choose M here: the module | |
374 | will be called pwm-lpss-pci. | |
375 | ||
376 | config PWM_LPSS_PLATFORM | |
377 | tristate "Intel LPSS PWM platform driver" | |
aa43edcb | 378 | depends on (X86 && ACPI) || COMPILE_TEST |
71d4b833 | 379 | depends on HAS_IOMEM |
6f90a00c | 380 | select PWM_LPSS |
c558e39e AS |
381 | help |
382 | The platform driver for Intel Low Power Subsystem PWM controller. | |
383 | ||
384 | To compile this driver as a module, choose M here: the module | |
385 | will be called pwm-lpss-platform. | |
386 | ||
211ed630 NA |
387 | config PWM_MESON |
388 | tristate "Amlogic Meson PWM driver" | |
e96c0ff4 | 389 | depends on ARCH_MESON || COMPILE_TEST |
71d4b833 | 390 | depends on COMMON_CLK && HAS_IOMEM |
211ed630 NA |
391 | help |
392 | The platform driver for Amlogic Meson PWM controller. | |
393 | ||
394 | To compile this driver as a module, choose M here: the module | |
395 | will be called pwm-meson. | |
396 | ||
7e3b7dc7 YH |
397 | config PWM_MTK_DISP |
398 | tristate "MediaTek display PWM driver" | |
399 | depends on ARCH_MEDIATEK || COMPILE_TEST | |
400 | depends on HAS_IOMEM | |
401 | help | |
402 | Generic PWM framework driver for MediaTek disp-pwm device. | |
403 | The PWM is used to control the backlight brightness for display. | |
404 | ||
405 | To compile this driver as a module, choose M here: the module | |
406 | will be called pwm-mtk-disp. | |
407 | ||
caf065f8 JC |
408 | config PWM_MEDIATEK |
409 | tristate "MediaTek PWM support" | |
8cdc43af | 410 | depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST |
71d4b833 | 411 | depends on HAS_IOMEM |
caf065f8 JC |
412 | help |
413 | Generic PWM framework driver for Mediatek ARM SoC. | |
414 | ||
415 | To compile this driver as a module, choose M here: the module | |
aa12d7a7 | 416 | will be called pwm-mediatek. |
caf065f8 | 417 | |
2bf7ecf7 CD |
418 | config PWM_MICROCHIP_CORE |
419 | tristate "Microchip corePWM PWM support" | |
16284474 | 420 | depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST |
2bf7ecf7 CD |
421 | depends on HAS_IOMEM && OF |
422 | help | |
423 | PWM driver for Microchip FPGA soft IP core. | |
424 | ||
425 | To compile this driver as a module, choose M here: the module | |
426 | will be called pwm-microchip-core. | |
427 | ||
4dce82c1 SG |
428 | config PWM_MXS |
429 | tristate "Freescale MXS PWM support" | |
e96c0ff4 | 430 | depends on ARCH_MXS || COMPILE_TEST |
71d4b833 | 431 | depends on HAS_IOMEM && OF |
01bf32e9 | 432 | select STMP_DEVICE |
4dce82c1 SG |
433 | help |
434 | Generic PWM framework driver for Freescale MXS. | |
435 | ||
436 | To compile this driver as a module, choose M here: the module | |
437 | will be called pwm-mxs. | |
438 | ||
9fc0486f JN |
439 | config PWM_NTXEC |
440 | tristate "Netronix embedded controller PWM support" | |
441 | depends on MFD_NTXEC | |
442 | help | |
443 | Say yes here if you want to support the PWM output of the embedded | |
444 | controller found in certain e-book readers designed by the original | |
445 | design manufacturer Netronix. | |
446 | ||
6604c655 NA |
447 | config PWM_OMAP_DMTIMER |
448 | tristate "OMAP Dual-Mode Timer PWM support" | |
9f2919e9 UKK |
449 | depends on OF |
450 | depends on OMAP_DM_TIMER || COMPILE_TEST | |
6604c655 NA |
451 | help |
452 | Generic PWM framework driver for OMAP Dual-Mode Timer PWM output | |
453 | ||
454 | To compile this driver as a module, choose M here: the module | |
455 | will be called pwm-omap-dmtimer | |
456 | ||
88b613e6 ST |
457 | config PWM_PCA9685 |
458 | tristate "NXP PCA9685 PWM driver" | |
912b8439 | 459 | depends on I2C |
2c80a492 | 460 | select REGMAP_I2C |
88b613e6 ST |
461 | help |
462 | Generic PWM framework driver for NXP PCA9685 LED controller. | |
463 | ||
464 | To compile this driver as a module, choose M here: the module | |
465 | will be called pwm-pca9685. | |
466 | ||
17b2b478 TR |
467 | config PWM_PXA |
468 | tristate "PXA PWM support" | |
958f0307 | 469 | depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST |
71d4b833 | 470 | depends on HAS_IOMEM |
17b2b478 TR |
471 | help |
472 | Generic PWM framework driver for PXA. | |
473 | ||
474 | To compile this driver as a module, choose M here: the module | |
475 | will be called pwm-pxa. | |
476 | ||
79caa362 NSJ |
477 | config PWM_RASPBERRYPI_POE |
478 | tristate "Raspberry Pi Firwmware PoE Hat PWM support" | |
479 | # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only | |
480 | # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. | |
481 | depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) | |
482 | help | |
483 | Enable Raspberry Pi firmware controller PWM bus used to control the | |
484 | official RPI PoE hat | |
485 | ||
ed6c1476 YS |
486 | config PWM_RCAR |
487 | tristate "Renesas R-Car PWM support" | |
48169988 | 488 | depends on ARCH_RENESAS || COMPILE_TEST |
ed6c1476 YS |
489 | depends on HAS_IOMEM |
490 | help | |
491 | This driver exposes the PWM Timer controller found in Renesas | |
492 | R-Car chips through the PWM API. | |
493 | ||
494 | To compile this driver as a module, choose M here: the module | |
495 | will be called pwm-rcar. | |
496 | ||
99b82abb LP |
497 | config PWM_RENESAS_TPU |
498 | tristate "Renesas TPU PWM support" | |
03d99531 | 499 | depends on ARCH_RENESAS || COMPILE_TEST |
2974b098 | 500 | depends on HAS_IOMEM |
99b82abb LP |
501 | help |
502 | This driver exposes the Timer Pulse Unit (TPU) PWM controller found | |
503 | in Renesas chips through the PWM API. | |
504 | ||
505 | To compile this driver as a module, choose M here: the module | |
506 | will be called pwm-renesas-tpu. | |
507 | ||
101353c8 BG |
508 | config PWM_ROCKCHIP |
509 | tristate "Rockchip PWM support" | |
e96c0ff4 | 510 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
71d4b833 | 511 | depends on HAS_IOMEM |
101353c8 BG |
512 | help |
513 | Generic PWM framework driver for the PWM controller found on | |
514 | Rockchip SoCs. | |
515 | ||
254d3a72 BD |
516 | config PWM_RZ_MTU3 |
517 | tristate "Renesas RZ/G2L MTU3a PWM Timer support" | |
10d33404 | 518 | depends on RZ_MTU3 |
254d3a72 BD |
519 | depends on HAS_IOMEM |
520 | help | |
521 | This driver exposes the MTU3a PWM Timer controller found in Renesas | |
522 | RZ/G2L like chips through the PWM API. | |
523 | ||
524 | To compile this driver as a module, choose M here: the module | |
525 | will be called pwm-rz-mtu3. | |
526 | ||
215c29d3 | 527 | config PWM_SAMSUNG |
b133d2a1 | 528 | tristate "Samsung PWM support" |
db8230d2 | 529 | depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST |
71d4b833 | 530 | depends on HAS_IOMEM |
215c29d3 | 531 | help |
06dfae38 KK |
532 | Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210 |
533 | and Exynos SoCs. | |
534 | Choose Y here only if you build for such Samsung SoC. | |
215c29d3 SH |
535 | |
536 | To compile this driver as a module, choose M here: the module | |
537 | will be called pwm-samsung. | |
538 | ||
9e37a53e YS |
539 | config PWM_SIFIVE |
540 | tristate "SiFive PWM support" | |
541 | depends on OF | |
71d4b833 | 542 | depends on COMMON_CLK && HAS_IOMEM |
9e37a53e YS |
543 | depends on RISCV || COMPILE_TEST |
544 | help | |
545 | Generic PWM framework driver for SiFive SoCs. | |
546 | ||
547 | To compile this driver as a module, choose M here: the module | |
548 | will be called pwm-sifive. | |
549 | ||
9db33d22 MW |
550 | config PWM_SL28CPLD |
551 | tristate "Kontron sl28cpld PWM support" | |
552 | depends on MFD_SL28CPLD || COMPILE_TEST | |
553 | help | |
554 | Generic PWM framework driver for board management controller | |
555 | found on the Kontron sl28 CPLD. | |
556 | ||
557 | To compile this driver as a module, choose M here: the module | |
558 | will be called pwm-sl28cpld. | |
559 | ||
ce20364b SH |
560 | config PWM_SPEAR |
561 | tristate "STMicroelectronics SPEAr PWM support" | |
e96c0ff4 | 562 | depends on PLAT_SPEAR || COMPILE_TEST |
71d4b833 | 563 | depends on HAS_IOMEM && OF |
ce20364b SH |
564 | help |
565 | Generic PWM framework driver for the PWM controller on ST | |
566 | SPEAr SoCs. | |
567 | ||
568 | To compile this driver as a module, choose M here: the module | |
569 | will be called pwm-spear. | |
570 | ||
8aae4b02 BW |
571 | config PWM_SPRD |
572 | tristate "Spreadtrum PWM support" | |
573 | depends on ARCH_SPRD || COMPILE_TEST | |
574 | depends on HAS_IOMEM | |
575 | help | |
576 | Generic PWM framework driver for the PWM controller on | |
577 | Spreadtrum SoCs. | |
578 | ||
579 | To compile this driver as a module, choose M here: the module | |
580 | will be called pwm-sprd. | |
581 | ||
378fe115 LJ |
582 | config PWM_STI |
583 | tristate "STiH4xx PWM support" | |
e96c0ff4 | 584 | depends on ARCH_STI || COMPILE_TEST |
71d4b833 | 585 | depends on HAS_IOMEM && OF |
378fe115 LJ |
586 | help |
587 | Generic PWM framework driver for STiH4xx SoCs. | |
588 | ||
589 | To compile this driver as a module, choose M here: the module | |
590 | will be called pwm-sti. | |
591 | ||
7edf7369 BG |
592 | config PWM_STM32 |
593 | tristate "STMicroelectronics STM32 PWM" | |
e96c0ff4 | 594 | depends on MFD_STM32_TIMERS || COMPILE_TEST |
7edf7369 BG |
595 | help |
596 | Generic PWM framework driver for STM32 SoCs. | |
597 | ||
598 | To compile this driver as a module, choose M here: the module | |
599 | will be called pwm-stm32. | |
600 | ||
e70a540b FG |
601 | config PWM_STM32_LP |
602 | tristate "STMicroelectronics STM32 PWM LP" | |
603 | depends on MFD_STM32_LPTIMER || COMPILE_TEST | |
604 | help | |
605 | Generic PWM framework driver for STMicroelectronics STM32 SoCs | |
606 | with Low-Power Timer (LPTIM). | |
607 | ||
608 | To compile this driver as a module, choose M here: the module | |
609 | will be called pwm-stm32-lp. | |
610 | ||
ef1f09ec LW |
611 | config PWM_STMPE |
612 | bool "STMPE expander PWM export" | |
613 | depends on MFD_STMPE | |
614 | help | |
615 | This enables support for the PWMs found in the STMPE I/O | |
616 | expanders. | |
617 | ||
09853ce7 AB |
618 | config PWM_SUN4I |
619 | tristate "Allwinner PWM support" | |
620 | depends on ARCH_SUNXI || COMPILE_TEST | |
621 | depends on HAS_IOMEM && COMMON_CLK | |
622 | help | |
623 | Generic PWM framework driver for Allwinner SoCs. | |
624 | ||
625 | To compile this driver as a module, choose M here: the module | |
626 | will be called pwm-sun4i. | |
627 | ||
b3c4af85 HH |
628 | config PWM_SUNPLUS |
629 | tristate "Sunplus PWM support" | |
630 | depends on ARCH_SUNPLUS || COMPILE_TEST | |
631 | depends on HAS_IOMEM && OF | |
632 | help | |
633 | Generic PWM framework driver for the PWM controller on | |
634 | Sunplus SoCs. | |
635 | ||
636 | To compile this driver as a module, choose M here: the module | |
637 | will be called pwm-sunplus. | |
638 | ||
0134b932 TR |
639 | config PWM_TEGRA |
640 | tristate "NVIDIA Tegra PWM support" | |
e96c0ff4 | 641 | depends on ARCH_TEGRA || COMPILE_TEST |
71d4b833 | 642 | depends on HAS_IOMEM |
0134b932 TR |
643 | help |
644 | Generic PWM framework driver for the PWFM controller found on NVIDIA | |
645 | Tegra SoCs. | |
646 | ||
647 | To compile this driver as a module, choose M here: the module | |
648 | will be called pwm-tegra. | |
649 | ||
f24e5641 | 650 | config PWM_TIECAP |
8e0cb05b | 651 | tristate "ECAP PWM support" |
e96c0ff4 | 652 | depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST |
71d4b833 | 653 | depends on HAS_IOMEM |
8e0cb05b | 654 | help |
6f37709f | 655 | PWM driver support for the ECAP APWM controller found on TI SOCs |
8e0cb05b PA |
656 | |
657 | To compile this driver as a module, choose M here: the module | |
658 | will be called pwm-tiecap. | |
659 | ||
f24e5641 | 660 | config PWM_TIEHRPWM |
19891b20 | 661 | tristate "EHRPWM PWM support" |
e96c0ff4 | 662 | depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST |
71d4b833 | 663 | depends on HAS_IOMEM |
19891b20 | 664 | help |
efc80fb3 | 665 | PWM driver support for the EHRPWM controller found on TI SOCs |
19891b20 PA |
666 | |
667 | To compile this driver as a module, choose M here: the module | |
668 | will be called pwm-tiehrpwm. | |
669 | ||
3744c263 PU |
670 | config PWM_TWL |
671 | tristate "TWL4030/6030 PWM support" | |
672 | depends on TWL4030_CORE | |
673 | help | |
674 | Generic PWM framework driver for TWL4030/6030. | |
675 | ||
676 | To compile this driver as a module, choose M here: the module | |
677 | will be called pwm-twl. | |
678 | ||
aa765647 PU |
679 | config PWM_TWL_LED |
680 | tristate "TWL4030/6030 PWM support for LED drivers" | |
681 | depends on TWL4030_CORE | |
682 | help | |
683 | Generic PWM framework driver for TWL4030/6030 LED terminals. | |
684 | ||
685 | To compile this driver as a module, choose M here: the module | |
686 | will be called pwm-twl-led. | |
687 | ||
721b5957 NI |
688 | config PWM_VISCONTI |
689 | tristate "Toshiba Visconti PWM support" | |
690 | depends on ARCH_VISCONTI || COMPILE_TEST | |
691 | help | |
692 | PWM Subsystem driver support for Toshiba Visconti SoCs. | |
693 | ||
694 | To compile this driver as a module, choose M here: the module | |
695 | will be called pwm-visconti. | |
696 | ||
a245cceb | 697 | config PWM_VT8500 |
b133d2a1 | 698 | tristate "vt8500 PWM support" |
e96c0ff4 | 699 | depends on ARCH_VT8500 || COMPILE_TEST |
71d4b833 | 700 | depends on HAS_IOMEM |
a245cceb SH |
701 | help |
702 | Generic PWM framework driver for vt8500. | |
703 | ||
704 | To compile this driver as a module, choose M here: the module | |
705 | will be called pwm-vt8500. | |
706 | ||
bc1ce713 SA |
707 | config PWM_XILINX |
708 | tristate "Xilinx AXI Timer PWM support" | |
709 | depends on OF_ADDRESS | |
710 | depends on COMMON_CLK | |
711 | select REGMAP_MMIO | |
712 | help | |
713 | PWM driver for Xilinx LogiCORE IP AXI timers. This timer is | |
714 | typically a soft core which may be present in Xilinx FPGAs. | |
715 | This device may also be present in Microblaze soft processors. | |
716 | If you don't have this IP in your design, choose N. | |
717 | ||
718 | To compile this driver as a module, choose M here: the module | |
719 | will be called pwm-xilinx. | |
720 | ||
0c2498f1 | 721 | endif |