.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | menuconfig PWM |
---|
2 | 3 | bool "Pulse-Width Modulation (PWM) Support" |
---|
3 | 4 | help |
---|
.. | .. |
---|
32 | 33 | bool |
---|
33 | 34 | default y if SYSFS |
---|
34 | 35 | |
---|
| 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 | + |
---|
35 | 45 | config PWM_AB8500 |
---|
36 | 46 | tristate "AB8500 PWM support" |
---|
37 | 47 | depends on AB8500_CORE && ARCH_U8500 |
---|
.. | .. |
---|
43 | 53 | |
---|
44 | 54 | config PWM_ATMEL |
---|
45 | 55 | tristate "Atmel PWM support" |
---|
46 | | - depends on ARCH_AT91 |
---|
| 56 | + depends on OF |
---|
| 57 | + depends on ARCH_AT91 || COMPILE_TEST |
---|
47 | 58 | help |
---|
48 | 59 | Generic PWM framework driver for Atmel SoC. |
---|
49 | 60 | |
---|
.. | .. |
---|
88 | 99 | |
---|
89 | 100 | config PWM_BCM_KONA |
---|
90 | 101 | tristate "Kona PWM support" |
---|
91 | | - depends on ARCH_BCM_MOBILE |
---|
| 102 | + depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST |
---|
| 103 | + depends on HAVE_CLK && HAS_IOMEM |
---|
| 104 | + default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS |
---|
92 | 105 | help |
---|
93 | 106 | Generic PWM framework driver for Broadcom Kona PWM block. |
---|
94 | 107 | |
---|
.. | .. |
---|
97 | 110 | |
---|
98 | 111 | config PWM_BCM2835 |
---|
99 | 112 | tristate "BCM2835 PWM support" |
---|
100 | | - depends on ARCH_BCM2835 |
---|
| 113 | + depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST |
---|
101 | 114 | help |
---|
102 | 115 | PWM framework driver for BCM2835 controller (Raspberry Pi) |
---|
103 | 116 | |
---|
.. | .. |
---|
106 | 119 | |
---|
107 | 120 | config PWM_BERLIN |
---|
108 | 121 | tristate "Marvell Berlin PWM support" |
---|
109 | | - depends on ARCH_BERLIN |
---|
| 122 | + depends on ARCH_BERLIN || COMPILE_TEST |
---|
110 | 123 | help |
---|
111 | 124 | PWM framework driver for Marvell Berlin SoCs. |
---|
112 | 125 | |
---|
.. | .. |
---|
115 | 128 | |
---|
116 | 129 | config PWM_BRCMSTB |
---|
117 | 130 | tristate "Broadcom STB PWM support" |
---|
118 | | - depends on ARCH_BRCMSTB || BMIPS_GENERIC |
---|
| 131 | + depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST |
---|
119 | 132 | help |
---|
120 | 133 | Generic PWM framework driver for the Broadcom Set-top-Box |
---|
121 | 134 | SoCs (BCM7xxx). |
---|
.. | .. |
---|
142 | 155 | |
---|
143 | 156 | config PWM_CROS_EC |
---|
144 | 157 | tristate "ChromeOS EC PWM driver" |
---|
145 | | - depends on MFD_CROS_EC |
---|
| 158 | + depends on CROS_EC |
---|
146 | 159 | help |
---|
147 | 160 | PWM driver for exposing a PWM attached to the ChromeOS Embedded |
---|
148 | 161 | Controller. |
---|
149 | 162 | |
---|
150 | 163 | config PWM_EP93XX |
---|
151 | 164 | tristate "Cirrus Logic EP93xx PWM support" |
---|
152 | | - depends on ARCH_EP93XX |
---|
| 165 | + depends on ARCH_EP93XX || COMPILE_TEST |
---|
153 | 166 | help |
---|
154 | 167 | Generic PWM framework driver for Cirrus Logic EP93xx. |
---|
155 | 168 | |
---|
.. | .. |
---|
205 | 218 | To compile this driver as a module, choose M here: the module |
---|
206 | 219 | will be called pwm-img |
---|
207 | 220 | |
---|
208 | | -config PWM_IMX |
---|
209 | | - tristate "i.MX PWM support" |
---|
210 | | - depends on ARCH_MXC |
---|
| 221 | +config PWM_IMX1 |
---|
| 222 | + tristate "i.MX1 PWM support" |
---|
| 223 | + depends on ARCH_MXC || COMPILE_TEST |
---|
211 | 224 | help |
---|
212 | | - Generic PWM framework driver for i.MX. |
---|
| 225 | + Generic PWM framework driver for i.MX1 and i.MX21 |
---|
213 | 226 | |
---|
214 | 227 | To compile this driver as a module, choose M here: the module |
---|
215 | | - will be called pwm-imx. |
---|
| 228 | + will be called pwm-imx1. |
---|
| 229 | + |
---|
| 230 | +config PWM_IMX27 |
---|
| 231 | + tristate "i.MX27 PWM support" |
---|
| 232 | + depends on ARCH_MXC || COMPILE_TEST |
---|
| 233 | + help |
---|
| 234 | + Generic PWM framework driver for i.MX27 and later i.MX SoCs. |
---|
| 235 | + |
---|
| 236 | + To compile this driver as a module, choose M here: the module |
---|
| 237 | + will be called pwm-imx27. |
---|
| 238 | + |
---|
| 239 | +config PWM_IMX_TPM |
---|
| 240 | + tristate "i.MX TPM PWM support" |
---|
| 241 | + depends on ARCH_MXC || COMPILE_TEST |
---|
| 242 | + depends on HAVE_CLK && HAS_IOMEM |
---|
| 243 | + help |
---|
| 244 | + Generic PWM framework driver for i.MX7ULP TPM module, TPM's full |
---|
| 245 | + name is Low Power Timer/Pulse Width Modulation Module. |
---|
| 246 | + |
---|
| 247 | + To compile this driver as a module, choose M here: the module |
---|
| 248 | + will be called pwm-imx-tpm. |
---|
| 249 | + |
---|
| 250 | +config PWM_IQS620A |
---|
| 251 | + tristate "Azoteq IQS620A PWM support" |
---|
| 252 | + depends on MFD_IQS62X || COMPILE_TEST |
---|
| 253 | + help |
---|
| 254 | + Generic PWM framework driver for the Azoteq IQS620A multi-function |
---|
| 255 | + sensor. |
---|
| 256 | + |
---|
| 257 | + To compile this driver as a module, choose M here: the module will |
---|
| 258 | + be called pwm-iqs620a. |
---|
216 | 259 | |
---|
217 | 260 | config PWM_JZ4740 |
---|
218 | 261 | tristate "Ingenic JZ47xx PWM support" |
---|
219 | | - depends on MACH_INGENIC |
---|
| 262 | + depends on MIPS |
---|
| 263 | + depends on COMMON_CLK |
---|
| 264 | + select MFD_SYSCON |
---|
220 | 265 | help |
---|
221 | 266 | Generic PWM framework driver for Ingenic JZ47xx based |
---|
222 | 267 | machines. |
---|
.. | .. |
---|
236 | 281 | |
---|
237 | 282 | config PWM_LPC18XX_SCT |
---|
238 | 283 | tristate "LPC18xx/43xx PWM/SCT support" |
---|
239 | | - depends on ARCH_LPC18XX |
---|
| 284 | + depends on ARCH_LPC18XX || COMPILE_TEST |
---|
240 | 285 | help |
---|
241 | 286 | Generic PWM framework driver for NXP LPC18xx PWM/SCT which |
---|
242 | 287 | supports 16 channels. |
---|
.. | .. |
---|
248 | 293 | |
---|
249 | 294 | config PWM_LPC32XX |
---|
250 | 295 | tristate "LPC32XX PWM support" |
---|
251 | | - depends on ARCH_LPC32XX |
---|
| 296 | + depends on ARCH_LPC32XX || COMPILE_TEST |
---|
252 | 297 | help |
---|
253 | 298 | Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two |
---|
254 | 299 | PWM controllers. |
---|
.. | .. |
---|
281 | 326 | |
---|
282 | 327 | config PWM_MESON |
---|
283 | 328 | tristate "Amlogic Meson PWM driver" |
---|
284 | | - depends on ARCH_MESON |
---|
| 329 | + depends on ARCH_MESON || COMPILE_TEST |
---|
| 330 | + depends on COMMON_CLK |
---|
285 | 331 | help |
---|
286 | 332 | The platform driver for Amlogic Meson PWM controller. |
---|
287 | 333 | |
---|
.. | .. |
---|
310 | 356 | |
---|
311 | 357 | config PWM_MXS |
---|
312 | 358 | tristate "Freescale MXS PWM support" |
---|
313 | | - depends on ARCH_MXS && OF |
---|
| 359 | + depends on OF |
---|
| 360 | + depends on ARCH_MXS || COMPILE_TEST |
---|
314 | 361 | select STMP_DEVICE |
---|
315 | 362 | help |
---|
316 | 363 | Generic PWM framework driver for Freescale MXS. |
---|
.. | .. |
---|
320 | 367 | |
---|
321 | 368 | config PWM_OMAP_DMTIMER |
---|
322 | 369 | tristate "OMAP Dual-Mode Timer PWM support" |
---|
323 | | - depends on OF && ARCH_OMAP && OMAP_DM_TIMER |
---|
| 370 | + depends on OF |
---|
| 371 | + depends on OMAP_DM_TIMER || COMPILE_TEST |
---|
324 | 372 | help |
---|
325 | 373 | Generic PWM framework driver for OMAP Dual-Mode Timer PWM output |
---|
326 | 374 | |
---|
.. | .. |
---|
337 | 385 | To compile this driver as a module, choose M here: the module |
---|
338 | 386 | will be called pwm-pca9685. |
---|
339 | 387 | |
---|
340 | | -config PWM_PUV3 |
---|
341 | | - tristate "PKUnity NetBook-0916 PWM support" |
---|
342 | | - depends on ARCH_PUV3 |
---|
343 | | - help |
---|
344 | | - Generic PWM framework driver for PKUnity NetBook-0916. |
---|
345 | | - |
---|
346 | | - To compile this driver as a module, choose M here: the module |
---|
347 | | - will be called pwm-puv3. |
---|
348 | | - |
---|
349 | 388 | config PWM_PXA |
---|
350 | 389 | tristate "PXA PWM support" |
---|
351 | | - depends on ARCH_PXA |
---|
| 390 | + depends on ARCH_PXA || COMPILE_TEST |
---|
352 | 391 | help |
---|
353 | 392 | Generic PWM framework driver for PXA. |
---|
354 | 393 | |
---|
.. | .. |
---|
379 | 418 | |
---|
380 | 419 | config PWM_ROCKCHIP |
---|
381 | 420 | tristate "Rockchip PWM support" |
---|
382 | | - depends on ARCH_ROCKCHIP |
---|
| 421 | + depends on ARCH_ROCKCHIP || COMPILE_TEST |
---|
383 | 422 | help |
---|
384 | 423 | Generic PWM framework driver for the PWM controller found on |
---|
385 | 424 | Rockchip SoCs. |
---|
386 | 425 | |
---|
387 | 426 | config PWM_ROCKCHIP_ONESHOT |
---|
388 | 427 | bool "Rockchip PWM oneshot mode support" |
---|
389 | | - depends on PWM_ROCKCHIP |
---|
| 428 | + depends on PWM_ROCKCHIP && NO_GKI |
---|
390 | 429 | help |
---|
391 | 430 | Support Rockchip pwm oneshot mode for specified number of cycles. |
---|
392 | 431 | |
---|
393 | 432 | config PWM_SAMSUNG |
---|
394 | 433 | tristate "Samsung PWM support" |
---|
395 | | - depends on PLAT_SAMSUNG || ARCH_EXYNOS |
---|
| 434 | + depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST |
---|
396 | 435 | help |
---|
397 | 436 | Generic PWM framework driver for Samsung. |
---|
398 | 437 | |
---|
399 | 438 | To compile this driver as a module, choose M here: the module |
---|
400 | 439 | will be called pwm-samsung. |
---|
401 | 440 | |
---|
| 441 | +config PWM_SIFIVE |
---|
| 442 | + tristate "SiFive PWM support" |
---|
| 443 | + depends on OF |
---|
| 444 | + depends on COMMON_CLK |
---|
| 445 | + depends on RISCV || COMPILE_TEST |
---|
| 446 | + help |
---|
| 447 | + Generic PWM framework driver for SiFive SoCs. |
---|
| 448 | + |
---|
| 449 | + To compile this driver as a module, choose M here: the module |
---|
| 450 | + will be called pwm-sifive. |
---|
| 451 | + |
---|
| 452 | +config PWM_SL28CPLD |
---|
| 453 | + tristate "Kontron sl28cpld PWM support" |
---|
| 454 | + depends on MFD_SL28CPLD || COMPILE_TEST |
---|
| 455 | + help |
---|
| 456 | + Generic PWM framework driver for board management controller |
---|
| 457 | + found on the Kontron sl28 CPLD. |
---|
| 458 | + |
---|
| 459 | + To compile this driver as a module, choose M here: the module |
---|
| 460 | + will be called pwm-sl28cpld. |
---|
| 461 | + |
---|
402 | 462 | config PWM_SPEAR |
---|
403 | 463 | tristate "STMicroelectronics SPEAr PWM support" |
---|
404 | | - depends on PLAT_SPEAR |
---|
| 464 | + depends on PLAT_SPEAR || COMPILE_TEST |
---|
405 | 465 | depends on OF |
---|
406 | 466 | help |
---|
407 | 467 | Generic PWM framework driver for the PWM controller on ST |
---|
.. | .. |
---|
410 | 470 | To compile this driver as a module, choose M here: the module |
---|
411 | 471 | will be called pwm-spear. |
---|
412 | 472 | |
---|
| 473 | +config PWM_SPRD |
---|
| 474 | + tristate "Spreadtrum PWM support" |
---|
| 475 | + depends on ARCH_SPRD || COMPILE_TEST |
---|
| 476 | + depends on HAS_IOMEM |
---|
| 477 | + help |
---|
| 478 | + Generic PWM framework driver for the PWM controller on |
---|
| 479 | + Spreadtrum SoCs. |
---|
| 480 | + |
---|
| 481 | + To compile this driver as a module, choose M here: the module |
---|
| 482 | + will be called pwm-sprd. |
---|
| 483 | + |
---|
413 | 484 | config PWM_STI |
---|
414 | 485 | tristate "STiH4xx PWM support" |
---|
415 | | - depends on ARCH_STI |
---|
| 486 | + depends on ARCH_STI || COMPILE_TEST |
---|
416 | 487 | depends on OF |
---|
417 | 488 | help |
---|
418 | 489 | Generic PWM framework driver for STiH4xx SoCs. |
---|
.. | .. |
---|
422 | 493 | |
---|
423 | 494 | config PWM_STM32 |
---|
424 | 495 | tristate "STMicroelectronics STM32 PWM" |
---|
425 | | - depends on MFD_STM32_TIMERS |
---|
| 496 | + depends on MFD_STM32_TIMERS || COMPILE_TEST |
---|
426 | 497 | help |
---|
427 | 498 | Generic PWM framework driver for STM32 SoCs. |
---|
428 | 499 | |
---|
.. | .. |
---|
458 | 529 | |
---|
459 | 530 | config PWM_TEGRA |
---|
460 | 531 | tristate "NVIDIA Tegra PWM support" |
---|
461 | | - depends on ARCH_TEGRA |
---|
| 532 | + depends on ARCH_TEGRA || COMPILE_TEST |
---|
462 | 533 | help |
---|
463 | 534 | Generic PWM framework driver for the PWFM controller found on NVIDIA |
---|
464 | 535 | Tegra SoCs. |
---|
.. | .. |
---|
466 | 537 | To compile this driver as a module, choose M here: the module |
---|
467 | 538 | will be called pwm-tegra. |
---|
468 | 539 | |
---|
469 | | -config PWM_TIECAP |
---|
| 540 | +config PWM_TIECAP |
---|
470 | 541 | tristate "ECAP PWM support" |
---|
471 | | - depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE |
---|
| 542 | + depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST |
---|
472 | 543 | help |
---|
473 | | - PWM driver support for the ECAP APWM controller found on AM33XX |
---|
474 | | - TI SOC |
---|
| 544 | + PWM driver support for the ECAP APWM controller found on TI SOCs |
---|
475 | 545 | |
---|
476 | 546 | To compile this driver as a module, choose M here: the module |
---|
477 | 547 | will be called pwm-tiecap. |
---|
478 | 548 | |
---|
479 | | -config PWM_TIEHRPWM |
---|
| 549 | +config PWM_TIEHRPWM |
---|
480 | 550 | tristate "EHRPWM PWM support" |
---|
481 | | - depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX |
---|
| 551 | + depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST |
---|
482 | 552 | help |
---|
483 | | - PWM driver support for the EHRPWM controller found on AM33XX |
---|
484 | | - TI SOC |
---|
| 553 | + PWM driver support for the EHRPWM controller found on TI SOCs |
---|
485 | 554 | |
---|
486 | 555 | To compile this driver as a module, choose M here: the module |
---|
487 | 556 | will be called pwm-tiehrpwm. |
---|
488 | | - |
---|
489 | | -config PWM_TIPWMSS |
---|
490 | | - bool |
---|
491 | | - default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM) |
---|
492 | | - help |
---|
493 | | - PWM Subsystem driver support for AM33xx SOC. |
---|
494 | | - |
---|
495 | | - PWM submodules require PWM config space access from submodule |
---|
496 | | - drivers and require common parent driver support. |
---|
497 | 557 | |
---|
498 | 558 | config PWM_TWL |
---|
499 | 559 | tristate "TWL4030/6030 PWM support" |
---|
.. | .. |
---|
515 | 575 | |
---|
516 | 576 | config PWM_VT8500 |
---|
517 | 577 | tristate "vt8500 PWM support" |
---|
518 | | - depends on ARCH_VT8500 |
---|
| 578 | + depends on ARCH_VT8500 || COMPILE_TEST |
---|
519 | 579 | help |
---|
520 | 580 | Generic PWM framework driver for vt8500. |
---|
521 | 581 | |
---|
.. | .. |
---|
524 | 584 | |
---|
525 | 585 | config PWM_ZX |
---|
526 | 586 | tristate "ZTE ZX PWM support" |
---|
527 | | - depends on ARCH_ZX |
---|
| 587 | + depends on ARCH_ZX || COMPILE_TEST |
---|
528 | 588 | help |
---|
529 | 589 | Generic PWM framework driver for ZTE ZX family SoCs. |
---|
530 | 590 | |
---|