13d0407baSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
23d0407baSopenharmony_cimenuconfig PWM
33d0407baSopenharmony_ci	bool "Pulse-Width Modulation (PWM) Support"
43d0407baSopenharmony_ci	help
53d0407baSopenharmony_ci	  Generic Pulse-Width Modulation (PWM) support.
63d0407baSopenharmony_ci
73d0407baSopenharmony_ci	  In Pulse-Width Modulation, a variation of the width of pulses
83d0407baSopenharmony_ci	  in a rectangular pulse signal is used as a means to alter the
93d0407baSopenharmony_ci	  average power of the signal. Applications include efficient
103d0407baSopenharmony_ci	  power delivery and voltage regulation. In computer systems,
113d0407baSopenharmony_ci	  PWMs are commonly used to control fans or the brightness of
123d0407baSopenharmony_ci	  display backlights.
133d0407baSopenharmony_ci
143d0407baSopenharmony_ci	  This framework provides a generic interface to PWM devices
153d0407baSopenharmony_ci	  within the Linux kernel. On the driver side it provides an API
163d0407baSopenharmony_ci	  to register and unregister a PWM chip, an abstraction of a PWM
173d0407baSopenharmony_ci	  controller, that supports one or more PWM devices. Client
183d0407baSopenharmony_ci	  drivers can request PWM devices and use the generic framework
193d0407baSopenharmony_ci	  to configure as well as enable and disable them.
203d0407baSopenharmony_ci
213d0407baSopenharmony_ci	  This generic framework replaces the legacy PWM framework which
223d0407baSopenharmony_ci	  allows only a single driver implementing the required API. Not
233d0407baSopenharmony_ci	  all legacy implementations have been ported to the framework
243d0407baSopenharmony_ci	  yet. The framework provides an API that is backward compatible
253d0407baSopenharmony_ci	  with the legacy framework so that existing client drivers
263d0407baSopenharmony_ci	  continue to work as expected.
273d0407baSopenharmony_ci
283d0407baSopenharmony_ci	  If unsure, say no.
293d0407baSopenharmony_ci
303d0407baSopenharmony_ciif PWM
313d0407baSopenharmony_ci
323d0407baSopenharmony_ciconfig PWM_SYSFS
333d0407baSopenharmony_ci	bool
343d0407baSopenharmony_ci	default y if SYSFS
353d0407baSopenharmony_ci
363d0407baSopenharmony_ciconfig PWM_DEBUG
373d0407baSopenharmony_ci	bool "PWM lowlevel drivers additional checks and debug messages"
383d0407baSopenharmony_ci	depends on DEBUG_KERNEL
393d0407baSopenharmony_ci	help
403d0407baSopenharmony_ci	  This option enables some additional checks to help lowlevel driver
413d0407baSopenharmony_ci	  authors to get their callbacks implemented correctly.
423d0407baSopenharmony_ci	  It is expected to introduce some runtime overhead and diagnostic
433d0407baSopenharmony_ci	  output to the kernel log, so only enable while working on a driver.
443d0407baSopenharmony_ci
453d0407baSopenharmony_ciconfig PWM_AB8500
463d0407baSopenharmony_ci	tristate "AB8500 PWM support"
473d0407baSopenharmony_ci	depends on AB8500_CORE && ARCH_U8500
483d0407baSopenharmony_ci	help
493d0407baSopenharmony_ci	  Generic PWM framework driver for Analog Baseband AB8500.
503d0407baSopenharmony_ci
513d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
523d0407baSopenharmony_ci	  will be called pwm-ab8500.
533d0407baSopenharmony_ci
543d0407baSopenharmony_ciconfig PWM_ATMEL
553d0407baSopenharmony_ci	tristate "Atmel PWM support"
563d0407baSopenharmony_ci	depends on OF
573d0407baSopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
583d0407baSopenharmony_ci	help
593d0407baSopenharmony_ci	  Generic PWM framework driver for Atmel SoC.
603d0407baSopenharmony_ci
613d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
623d0407baSopenharmony_ci	  will be called pwm-atmel.
633d0407baSopenharmony_ci
643d0407baSopenharmony_ciconfig PWM_ATMEL_HLCDC_PWM
653d0407baSopenharmony_ci	tristate "Atmel HLCDC PWM support"
663d0407baSopenharmony_ci	depends on MFD_ATMEL_HLCDC
673d0407baSopenharmony_ci	depends on HAVE_CLK
683d0407baSopenharmony_ci	help
693d0407baSopenharmony_ci	  Generic PWM framework driver for the PWM output of the HLCDC
703d0407baSopenharmony_ci	  (Atmel High-end LCD Controller). This PWM output is mainly used
713d0407baSopenharmony_ci	  to control the LCD backlight.
723d0407baSopenharmony_ci
733d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
743d0407baSopenharmony_ci	  will be called pwm-atmel-hlcdc.
753d0407baSopenharmony_ci
763d0407baSopenharmony_ciconfig PWM_ATMEL_TCB
773d0407baSopenharmony_ci	tristate "Atmel TC Block PWM support"
783d0407baSopenharmony_ci	depends on ATMEL_TCLIB && OF
793d0407baSopenharmony_ci	help
803d0407baSopenharmony_ci	  Generic PWM framework driver for Atmel Timer Counter Block.
813d0407baSopenharmony_ci
823d0407baSopenharmony_ci	  A Timer Counter Block provides 6 PWM devices grouped by 2.
833d0407baSopenharmony_ci	  Devices in a given group must have the same period.
843d0407baSopenharmony_ci
853d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
863d0407baSopenharmony_ci	  will be called pwm-atmel-tcb.
873d0407baSopenharmony_ci
883d0407baSopenharmony_ciconfig PWM_BCM_IPROC
893d0407baSopenharmony_ci	tristate "iProc PWM support"
903d0407baSopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
913d0407baSopenharmony_ci	depends on COMMON_CLK
923d0407baSopenharmony_ci	default ARCH_BCM_IPROC
933d0407baSopenharmony_ci	help
943d0407baSopenharmony_ci	  Generic PWM framework driver for Broadcom iProc PWM block. This
953d0407baSopenharmony_ci	  block is used in Broadcom iProc SoC's.
963d0407baSopenharmony_ci
973d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
983d0407baSopenharmony_ci	  will be called pwm-bcm-iproc.
993d0407baSopenharmony_ci
1003d0407baSopenharmony_ciconfig PWM_BCM_KONA
1013d0407baSopenharmony_ci	tristate "Kona PWM support"
1023d0407baSopenharmony_ci	depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
1033d0407baSopenharmony_ci	depends on HAVE_CLK && HAS_IOMEM
1043d0407baSopenharmony_ci	default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS
1053d0407baSopenharmony_ci	help
1063d0407baSopenharmony_ci	  Generic PWM framework driver for Broadcom Kona PWM block.
1073d0407baSopenharmony_ci
1083d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1093d0407baSopenharmony_ci	  will be called pwm-bcm-kona.
1103d0407baSopenharmony_ci
1113d0407baSopenharmony_ciconfig PWM_BCM2835
1123d0407baSopenharmony_ci	tristate "BCM2835 PWM support"
1133d0407baSopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
1143d0407baSopenharmony_ci	help
1153d0407baSopenharmony_ci	  PWM framework driver for BCM2835 controller (Raspberry Pi)
1163d0407baSopenharmony_ci
1173d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1183d0407baSopenharmony_ci	  will be called pwm-bcm2835.
1193d0407baSopenharmony_ci
1203d0407baSopenharmony_ciconfig PWM_BERLIN
1213d0407baSopenharmony_ci	tristate "Marvell Berlin PWM support"
1223d0407baSopenharmony_ci	depends on ARCH_BERLIN || COMPILE_TEST
1233d0407baSopenharmony_ci	help
1243d0407baSopenharmony_ci	  PWM framework driver for Marvell Berlin SoCs.
1253d0407baSopenharmony_ci
1263d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1273d0407baSopenharmony_ci	  will be called pwm-berlin.
1283d0407baSopenharmony_ci
1293d0407baSopenharmony_ciconfig PWM_BRCMSTB
1303d0407baSopenharmony_ci	tristate "Broadcom STB PWM support"
1313d0407baSopenharmony_ci	depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
1323d0407baSopenharmony_ci	help
1333d0407baSopenharmony_ci	  Generic PWM framework driver for the Broadcom Set-top-Box
1343d0407baSopenharmony_ci	  SoCs (BCM7xxx).
1353d0407baSopenharmony_ci
1363d0407baSopenharmony_ci	  To compile this driver as a module, choose M Here: the module
1373d0407baSopenharmony_ci	  will be called pwm-brcmstb.c.
1383d0407baSopenharmony_ci
1393d0407baSopenharmony_ciconfig PWM_CLPS711X
1403d0407baSopenharmony_ci	tristate "CLPS711X PWM support"
1413d0407baSopenharmony_ci	depends on ARCH_CLPS711X || COMPILE_TEST
1423d0407baSopenharmony_ci	depends on HAS_IOMEM
1433d0407baSopenharmony_ci	help
1443d0407baSopenharmony_ci	  Generic PWM framework driver for Cirrus Logic CLPS711X.
1453d0407baSopenharmony_ci
1463d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1473d0407baSopenharmony_ci	  will be called pwm-clps711x.
1483d0407baSopenharmony_ci
1493d0407baSopenharmony_ciconfig PWM_CRC
1503d0407baSopenharmony_ci	bool "Intel Crystalcove (CRC) PWM support"
1513d0407baSopenharmony_ci	depends on X86 && INTEL_SOC_PMIC
1523d0407baSopenharmony_ci	help
1533d0407baSopenharmony_ci	  Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
1543d0407baSopenharmony_ci	  control.
1553d0407baSopenharmony_ci
1563d0407baSopenharmony_ciconfig PWM_CROS_EC
1573d0407baSopenharmony_ci	tristate "ChromeOS EC PWM driver"
1583d0407baSopenharmony_ci	depends on CROS_EC
1593d0407baSopenharmony_ci	help
1603d0407baSopenharmony_ci	  PWM driver for exposing a PWM attached to the ChromeOS Embedded
1613d0407baSopenharmony_ci	  Controller.
1623d0407baSopenharmony_ci
1633d0407baSopenharmony_ciconfig PWM_EP93XX
1643d0407baSopenharmony_ci	tristate "Cirrus Logic EP93xx PWM support"
1653d0407baSopenharmony_ci	depends on ARCH_EP93XX || COMPILE_TEST
1663d0407baSopenharmony_ci	help
1673d0407baSopenharmony_ci	  Generic PWM framework driver for Cirrus Logic EP93xx.
1683d0407baSopenharmony_ci
1693d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1703d0407baSopenharmony_ci	  will be called pwm-ep93xx.
1713d0407baSopenharmony_ci
1723d0407baSopenharmony_ciconfig PWM_FSL_FTM
1733d0407baSopenharmony_ci	tristate "Freescale FlexTimer Module (FTM) PWM support"
1743d0407baSopenharmony_ci	depends on HAS_IOMEM
1753d0407baSopenharmony_ci	depends on OF
1763d0407baSopenharmony_ci	select REGMAP_MMIO
1773d0407baSopenharmony_ci	help
1783d0407baSopenharmony_ci	  Generic FTM PWM framework driver for Freescale VF610 and
1793d0407baSopenharmony_ci	  Layerscape LS-1 SoCs.
1803d0407baSopenharmony_ci
1813d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1823d0407baSopenharmony_ci	  will be called pwm-fsl-ftm.
1833d0407baSopenharmony_ci
1843d0407baSopenharmony_ciconfig PWM_HIBVT
1853d0407baSopenharmony_ci	tristate "HiSilicon BVT PWM support"
1863d0407baSopenharmony_ci	depends on ARCH_HISI || COMPILE_TEST
1873d0407baSopenharmony_ci	help
1883d0407baSopenharmony_ci	  Generic PWM framework driver for HiSilicon BVT SoCs.
1893d0407baSopenharmony_ci
1903d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
1913d0407baSopenharmony_ci	  will be called pwm-hibvt.
1923d0407baSopenharmony_ci
1933d0407baSopenharmony_ciconfig PWM_IMG
1943d0407baSopenharmony_ci	tristate "Imagination Technologies PWM driver"
1953d0407baSopenharmony_ci	depends on HAS_IOMEM
1963d0407baSopenharmony_ci	depends on MFD_SYSCON
1973d0407baSopenharmony_ci	depends on COMMON_CLK
1983d0407baSopenharmony_ci	depends on MIPS || COMPILE_TEST
1993d0407baSopenharmony_ci	help
2003d0407baSopenharmony_ci	  Generic PWM framework driver for Imagination Technologies
2013d0407baSopenharmony_ci	  PWM block which supports 4 channels.
2023d0407baSopenharmony_ci
2033d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2043d0407baSopenharmony_ci	  will be called pwm-img
2053d0407baSopenharmony_ci
2063d0407baSopenharmony_ciconfig PWM_IMX1
2073d0407baSopenharmony_ci	tristate "i.MX1 PWM support"
2083d0407baSopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2093d0407baSopenharmony_ci	help
2103d0407baSopenharmony_ci	  Generic PWM framework driver for i.MX1 and i.MX21
2113d0407baSopenharmony_ci
2123d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2133d0407baSopenharmony_ci	  will be called pwm-imx1.
2143d0407baSopenharmony_ci
2153d0407baSopenharmony_ciconfig PWM_IMX27
2163d0407baSopenharmony_ci	tristate "i.MX27 PWM support"
2173d0407baSopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2183d0407baSopenharmony_ci	help
2193d0407baSopenharmony_ci	  Generic PWM framework driver for i.MX27 and later i.MX SoCs.
2203d0407baSopenharmony_ci
2213d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2223d0407baSopenharmony_ci	  will be called pwm-imx27.
2233d0407baSopenharmony_ci
2243d0407baSopenharmony_ciconfig PWM_IMX_TPM
2253d0407baSopenharmony_ci	tristate "i.MX TPM PWM support"
2263d0407baSopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2273d0407baSopenharmony_ci	depends on HAVE_CLK && HAS_IOMEM
2283d0407baSopenharmony_ci	help
2293d0407baSopenharmony_ci	  Generic PWM framework driver for i.MX7ULP TPM module, TPM's full
2303d0407baSopenharmony_ci	  name is Low Power Timer/Pulse Width Modulation Module.
2313d0407baSopenharmony_ci
2323d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2333d0407baSopenharmony_ci	  will be called pwm-imx-tpm.
2343d0407baSopenharmony_ci
2353d0407baSopenharmony_ciconfig PWM_IQS620A
2363d0407baSopenharmony_ci	tristate "Azoteq IQS620A PWM support"
2373d0407baSopenharmony_ci	depends on MFD_IQS62X || COMPILE_TEST
2383d0407baSopenharmony_ci	help
2393d0407baSopenharmony_ci	  Generic PWM framework driver for the Azoteq IQS620A multi-function
2403d0407baSopenharmony_ci	  sensor.
2413d0407baSopenharmony_ci
2423d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
2433d0407baSopenharmony_ci	  be called pwm-iqs620a.
2443d0407baSopenharmony_ci
2453d0407baSopenharmony_ciconfig PWM_JZ4740
2463d0407baSopenharmony_ci	tristate "Ingenic JZ47xx PWM support"
2473d0407baSopenharmony_ci	depends on MIPS
2483d0407baSopenharmony_ci	depends on COMMON_CLK
2493d0407baSopenharmony_ci	select MFD_SYSCON
2503d0407baSopenharmony_ci	help
2513d0407baSopenharmony_ci	  Generic PWM framework driver for Ingenic JZ47xx based
2523d0407baSopenharmony_ci	  machines.
2533d0407baSopenharmony_ci
2543d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2553d0407baSopenharmony_ci	  will be called pwm-jz4740.
2563d0407baSopenharmony_ci
2573d0407baSopenharmony_ciconfig PWM_LP3943
2583d0407baSopenharmony_ci	tristate "TI/National Semiconductor LP3943 PWM support"
2593d0407baSopenharmony_ci	depends on MFD_LP3943
2603d0407baSopenharmony_ci	help
2613d0407baSopenharmony_ci	  Generic PWM framework driver for LP3943 which supports two PWM
2623d0407baSopenharmony_ci	  channels.
2633d0407baSopenharmony_ci
2643d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2653d0407baSopenharmony_ci	  will be called pwm-lp3943.
2663d0407baSopenharmony_ci
2673d0407baSopenharmony_ciconfig PWM_LPC18XX_SCT
2683d0407baSopenharmony_ci	tristate "LPC18xx/43xx PWM/SCT support"
2693d0407baSopenharmony_ci	depends on ARCH_LPC18XX || COMPILE_TEST
2703d0407baSopenharmony_ci	help
2713d0407baSopenharmony_ci	  Generic PWM framework driver for NXP LPC18xx PWM/SCT which
2723d0407baSopenharmony_ci	  supports 16 channels.
2733d0407baSopenharmony_ci	  A maximum of 15 channels can be requested simultaneously and
2743d0407baSopenharmony_ci	  must have the same period.
2753d0407baSopenharmony_ci
2763d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2773d0407baSopenharmony_ci	  will be called pwm-lpc18xx-sct.
2783d0407baSopenharmony_ci
2793d0407baSopenharmony_ciconfig PWM_LPC32XX
2803d0407baSopenharmony_ci	tristate "LPC32XX PWM support"
2813d0407baSopenharmony_ci	depends on ARCH_LPC32XX || COMPILE_TEST
2823d0407baSopenharmony_ci	help
2833d0407baSopenharmony_ci	  Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
2843d0407baSopenharmony_ci	  PWM controllers.
2853d0407baSopenharmony_ci
2863d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
2873d0407baSopenharmony_ci	  will be called pwm-lpc32xx.
2883d0407baSopenharmony_ci
2893d0407baSopenharmony_ciconfig PWM_LPSS
2903d0407baSopenharmony_ci	tristate
2913d0407baSopenharmony_ci
2923d0407baSopenharmony_ciconfig PWM_LPSS_PCI
2933d0407baSopenharmony_ci	tristate "Intel LPSS PWM PCI driver"
2943d0407baSopenharmony_ci	depends on X86 && PCI
2953d0407baSopenharmony_ci	select PWM_LPSS
2963d0407baSopenharmony_ci	help
2973d0407baSopenharmony_ci	  The PCI driver for Intel Low Power Subsystem PWM controller.
2983d0407baSopenharmony_ci
2993d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3003d0407baSopenharmony_ci	  will be called pwm-lpss-pci.
3013d0407baSopenharmony_ci
3023d0407baSopenharmony_ciconfig PWM_LPSS_PLATFORM
3033d0407baSopenharmony_ci	tristate "Intel LPSS PWM platform driver"
3043d0407baSopenharmony_ci	depends on X86 && ACPI
3053d0407baSopenharmony_ci	select PWM_LPSS
3063d0407baSopenharmony_ci	help
3073d0407baSopenharmony_ci	  The platform driver for Intel Low Power Subsystem PWM controller.
3083d0407baSopenharmony_ci
3093d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3103d0407baSopenharmony_ci	  will be called pwm-lpss-platform.
3113d0407baSopenharmony_ci
3123d0407baSopenharmony_ciconfig PWM_MESON
3133d0407baSopenharmony_ci	tristate "Amlogic Meson PWM driver"
3143d0407baSopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
3153d0407baSopenharmony_ci	depends on COMMON_CLK
3163d0407baSopenharmony_ci	help
3173d0407baSopenharmony_ci	  The platform driver for Amlogic Meson PWM controller.
3183d0407baSopenharmony_ci
3193d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3203d0407baSopenharmony_ci	  will be called pwm-meson.
3213d0407baSopenharmony_ci
3223d0407baSopenharmony_ciconfig PWM_MTK_DISP
3233d0407baSopenharmony_ci	tristate "MediaTek display PWM driver"
3243d0407baSopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
3253d0407baSopenharmony_ci	depends on HAS_IOMEM
3263d0407baSopenharmony_ci	help
3273d0407baSopenharmony_ci	  Generic PWM framework driver for MediaTek disp-pwm device.
3283d0407baSopenharmony_ci	  The PWM is used to control the backlight brightness for display.
3293d0407baSopenharmony_ci
3303d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3313d0407baSopenharmony_ci	  will be called pwm-mtk-disp.
3323d0407baSopenharmony_ci
3333d0407baSopenharmony_ciconfig PWM_MEDIATEK
3343d0407baSopenharmony_ci	tristate "MediaTek PWM support"
3353d0407baSopenharmony_ci	depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
3363d0407baSopenharmony_ci	help
3373d0407baSopenharmony_ci	  Generic PWM framework driver for Mediatek ARM SoC.
3383d0407baSopenharmony_ci
3393d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3403d0407baSopenharmony_ci	  will be called pwm-mediatek.
3413d0407baSopenharmony_ci
3423d0407baSopenharmony_ciconfig PWM_MXS
3433d0407baSopenharmony_ci	tristate "Freescale MXS PWM support"
3443d0407baSopenharmony_ci	depends on OF
3453d0407baSopenharmony_ci	depends on ARCH_MXS || COMPILE_TEST
3463d0407baSopenharmony_ci	select STMP_DEVICE
3473d0407baSopenharmony_ci	help
3483d0407baSopenharmony_ci	  Generic PWM framework driver for Freescale MXS.
3493d0407baSopenharmony_ci
3503d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3513d0407baSopenharmony_ci	  will be called pwm-mxs.
3523d0407baSopenharmony_ci
3533d0407baSopenharmony_ciconfig PWM_OMAP_DMTIMER
3543d0407baSopenharmony_ci	tristate "OMAP Dual-Mode Timer PWM support"
3553d0407baSopenharmony_ci	depends on OF
3563d0407baSopenharmony_ci	depends on OMAP_DM_TIMER || COMPILE_TEST
3573d0407baSopenharmony_ci	help
3583d0407baSopenharmony_ci	  Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
3593d0407baSopenharmony_ci
3603d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3613d0407baSopenharmony_ci	  will be called pwm-omap-dmtimer
3623d0407baSopenharmony_ci
3633d0407baSopenharmony_ciconfig PWM_PCA9685
3643d0407baSopenharmony_ci	tristate "NXP PCA9685 PWM driver"
3653d0407baSopenharmony_ci	depends on I2C
3663d0407baSopenharmony_ci	select REGMAP_I2C
3673d0407baSopenharmony_ci	help
3683d0407baSopenharmony_ci	  Generic PWM framework driver for NXP PCA9685 LED controller.
3693d0407baSopenharmony_ci
3703d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3713d0407baSopenharmony_ci	  will be called pwm-pca9685.
3723d0407baSopenharmony_ci
3733d0407baSopenharmony_ciconfig PWM_PXA
3743d0407baSopenharmony_ci	tristate "PXA PWM support"
3753d0407baSopenharmony_ci	depends on ARCH_PXA || COMPILE_TEST
3763d0407baSopenharmony_ci	help
3773d0407baSopenharmony_ci	  Generic PWM framework driver for PXA.
3783d0407baSopenharmony_ci
3793d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3803d0407baSopenharmony_ci	  will be called pwm-pxa.
3813d0407baSopenharmony_ci
3823d0407baSopenharmony_ciconfig PWM_RCAR
3833d0407baSopenharmony_ci	tristate "Renesas R-Car PWM support"
3843d0407baSopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
3853d0407baSopenharmony_ci	depends on HAS_IOMEM
3863d0407baSopenharmony_ci	help
3873d0407baSopenharmony_ci	  This driver exposes the PWM Timer controller found in Renesas
3883d0407baSopenharmony_ci	  R-Car chips through the PWM API.
3893d0407baSopenharmony_ci
3903d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
3913d0407baSopenharmony_ci	  will be called pwm-rcar.
3923d0407baSopenharmony_ci
3933d0407baSopenharmony_ciconfig PWM_RENESAS_TPU
3943d0407baSopenharmony_ci	tristate "Renesas TPU PWM support"
3953d0407baSopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
3963d0407baSopenharmony_ci	depends on HAS_IOMEM
3973d0407baSopenharmony_ci	help
3983d0407baSopenharmony_ci	  This driver exposes the Timer Pulse Unit (TPU) PWM controller found
3993d0407baSopenharmony_ci	  in Renesas chips through the PWM API.
4003d0407baSopenharmony_ci
4013d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4023d0407baSopenharmony_ci	  will be called pwm-renesas-tpu.
4033d0407baSopenharmony_ci
4043d0407baSopenharmony_ciconfig PWM_ROCKCHIP
4053d0407baSopenharmony_ci	tristate "Rockchip PWM support"
4063d0407baSopenharmony_ci	depends on ARCH_ROCKCHIP || COMPILE_TEST
4073d0407baSopenharmony_ci	help
4083d0407baSopenharmony_ci	  Generic PWM framework driver for the PWM controller found on
4093d0407baSopenharmony_ci	  Rockchip SoCs.
4103d0407baSopenharmony_ci
4113d0407baSopenharmony_ciconfig PWM_ROCKCHIP_ONESHOT
4123d0407baSopenharmony_ci	bool "Rockchip PWM oneshot mode support"
4133d0407baSopenharmony_ci	depends on PWM_ROCKCHIP && NO_GKI
4143d0407baSopenharmony_ci	help
4153d0407baSopenharmony_ci	  Support Rockchip pwm oneshot mode for specified number of cycles.
4163d0407baSopenharmony_ci
4173d0407baSopenharmony_ciconfig PWM_SAMSUNG
4183d0407baSopenharmony_ci	tristate "Samsung PWM support"
4193d0407baSopenharmony_ci	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
4203d0407baSopenharmony_ci	help
4213d0407baSopenharmony_ci	  Generic PWM framework driver for Samsung.
4223d0407baSopenharmony_ci
4233d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4243d0407baSopenharmony_ci	  will be called pwm-samsung.
4253d0407baSopenharmony_ci
4263d0407baSopenharmony_ciconfig PWM_SIFIVE
4273d0407baSopenharmony_ci	tristate "SiFive PWM support"
4283d0407baSopenharmony_ci	depends on OF
4293d0407baSopenharmony_ci	depends on COMMON_CLK
4303d0407baSopenharmony_ci	depends on RISCV || COMPILE_TEST
4313d0407baSopenharmony_ci	help
4323d0407baSopenharmony_ci	  Generic PWM framework driver for SiFive SoCs.
4333d0407baSopenharmony_ci
4343d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4353d0407baSopenharmony_ci	  will be called pwm-sifive.
4363d0407baSopenharmony_ci
4373d0407baSopenharmony_ciconfig PWM_SL28CPLD
4383d0407baSopenharmony_ci	tristate "Kontron sl28cpld PWM support"
4393d0407baSopenharmony_ci	depends on MFD_SL28CPLD || COMPILE_TEST
4403d0407baSopenharmony_ci	help
4413d0407baSopenharmony_ci	  Generic PWM framework driver for board management controller
4423d0407baSopenharmony_ci	  found on the Kontron sl28 CPLD.
4433d0407baSopenharmony_ci
4443d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4453d0407baSopenharmony_ci	  will be called pwm-sl28cpld.
4463d0407baSopenharmony_ci
4473d0407baSopenharmony_ciconfig PWM_SPEAR
4483d0407baSopenharmony_ci	tristate "STMicroelectronics SPEAr PWM support"
4493d0407baSopenharmony_ci	depends on PLAT_SPEAR || COMPILE_TEST
4503d0407baSopenharmony_ci	depends on OF
4513d0407baSopenharmony_ci	help
4523d0407baSopenharmony_ci	  Generic PWM framework driver for the PWM controller on ST
4533d0407baSopenharmony_ci	  SPEAr SoCs.
4543d0407baSopenharmony_ci
4553d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4563d0407baSopenharmony_ci	  will be called pwm-spear.
4573d0407baSopenharmony_ci
4583d0407baSopenharmony_ciconfig PWM_SPRD
4593d0407baSopenharmony_ci	tristate "Spreadtrum PWM support"
4603d0407baSopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
4613d0407baSopenharmony_ci	depends on HAS_IOMEM
4623d0407baSopenharmony_ci	help
4633d0407baSopenharmony_ci	  Generic PWM framework driver for the PWM controller on
4643d0407baSopenharmony_ci	  Spreadtrum SoCs.
4653d0407baSopenharmony_ci
4663d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4673d0407baSopenharmony_ci	  will be called pwm-sprd.
4683d0407baSopenharmony_ci
4693d0407baSopenharmony_ciconfig PWM_STI
4703d0407baSopenharmony_ci	tristate "STiH4xx PWM support"
4713d0407baSopenharmony_ci	depends on ARCH_STI || COMPILE_TEST
4723d0407baSopenharmony_ci	depends on OF
4733d0407baSopenharmony_ci	help
4743d0407baSopenharmony_ci	  Generic PWM framework driver for STiH4xx SoCs.
4753d0407baSopenharmony_ci
4763d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4773d0407baSopenharmony_ci	  will be called pwm-sti.
4783d0407baSopenharmony_ci
4793d0407baSopenharmony_ciconfig PWM_STM32
4803d0407baSopenharmony_ci	tristate "STMicroelectronics STM32 PWM"
4813d0407baSopenharmony_ci	depends on MFD_STM32_TIMERS || COMPILE_TEST
4823d0407baSopenharmony_ci	help
4833d0407baSopenharmony_ci	  Generic PWM framework driver for STM32 SoCs.
4843d0407baSopenharmony_ci
4853d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4863d0407baSopenharmony_ci	  will be called pwm-stm32.
4873d0407baSopenharmony_ci
4883d0407baSopenharmony_ciconfig PWM_STM32_LP
4893d0407baSopenharmony_ci	tristate "STMicroelectronics STM32 PWM LP"
4903d0407baSopenharmony_ci	depends on MFD_STM32_LPTIMER || COMPILE_TEST
4913d0407baSopenharmony_ci	help
4923d0407baSopenharmony_ci	  Generic PWM framework driver for STMicroelectronics STM32 SoCs
4933d0407baSopenharmony_ci	  with Low-Power Timer (LPTIM).
4943d0407baSopenharmony_ci
4953d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
4963d0407baSopenharmony_ci	  will be called pwm-stm32-lp.
4973d0407baSopenharmony_ci
4983d0407baSopenharmony_ciconfig PWM_STMPE
4993d0407baSopenharmony_ci	bool "STMPE expander PWM export"
5003d0407baSopenharmony_ci	depends on MFD_STMPE
5013d0407baSopenharmony_ci	help
5023d0407baSopenharmony_ci	  This enables support for the PWMs found in the STMPE I/O
5033d0407baSopenharmony_ci	  expanders.
5043d0407baSopenharmony_ci
5053d0407baSopenharmony_ciconfig PWM_SUN4I
5063d0407baSopenharmony_ci	tristate "Allwinner PWM support"
5073d0407baSopenharmony_ci	depends on ARCH_SUNXI || COMPILE_TEST
5083d0407baSopenharmony_ci	depends on HAS_IOMEM && COMMON_CLK
5093d0407baSopenharmony_ci	help
5103d0407baSopenharmony_ci	  Generic PWM framework driver for Allwinner SoCs.
5113d0407baSopenharmony_ci
5123d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5133d0407baSopenharmony_ci	  will be called pwm-sun4i.
5143d0407baSopenharmony_ci
5153d0407baSopenharmony_ciconfig PWM_TEGRA
5163d0407baSopenharmony_ci	tristate "NVIDIA Tegra PWM support"
5173d0407baSopenharmony_ci	depends on ARCH_TEGRA || COMPILE_TEST
5183d0407baSopenharmony_ci	help
5193d0407baSopenharmony_ci	  Generic PWM framework driver for the PWFM controller found on NVIDIA
5203d0407baSopenharmony_ci	  Tegra SoCs.
5213d0407baSopenharmony_ci
5223d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5233d0407baSopenharmony_ci	  will be called pwm-tegra.
5243d0407baSopenharmony_ci
5253d0407baSopenharmony_ciconfig PWM_TIECAP
5263d0407baSopenharmony_ci	tristate "ECAP PWM support"
5273d0407baSopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
5283d0407baSopenharmony_ci	help
5293d0407baSopenharmony_ci	  PWM driver support for the ECAP APWM controller found on TI SOCs
5303d0407baSopenharmony_ci
5313d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5323d0407baSopenharmony_ci	  will be called pwm-tiecap.
5333d0407baSopenharmony_ci
5343d0407baSopenharmony_ciconfig PWM_TIEHRPWM
5353d0407baSopenharmony_ci	tristate "EHRPWM PWM support"
5363d0407baSopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST
5373d0407baSopenharmony_ci	help
5383d0407baSopenharmony_ci	  PWM driver support for the EHRPWM controller found on TI SOCs
5393d0407baSopenharmony_ci
5403d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5413d0407baSopenharmony_ci	  will be called pwm-tiehrpwm.
5423d0407baSopenharmony_ci
5433d0407baSopenharmony_ciconfig PWM_TWL
5443d0407baSopenharmony_ci	tristate "TWL4030/6030 PWM support"
5453d0407baSopenharmony_ci	depends on TWL4030_CORE
5463d0407baSopenharmony_ci	help
5473d0407baSopenharmony_ci	  Generic PWM framework driver for TWL4030/6030.
5483d0407baSopenharmony_ci
5493d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5503d0407baSopenharmony_ci	  will be called pwm-twl.
5513d0407baSopenharmony_ci
5523d0407baSopenharmony_ciconfig PWM_TWL_LED
5533d0407baSopenharmony_ci	tristate "TWL4030/6030 PWM support for LED drivers"
5543d0407baSopenharmony_ci	depends on TWL4030_CORE
5553d0407baSopenharmony_ci	help
5563d0407baSopenharmony_ci	  Generic PWM framework driver for TWL4030/6030 LED terminals.
5573d0407baSopenharmony_ci
5583d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5593d0407baSopenharmony_ci	  will be called pwm-twl-led.
5603d0407baSopenharmony_ci
5613d0407baSopenharmony_ciconfig PWM_VT8500
5623d0407baSopenharmony_ci	tristate "vt8500 PWM support"
5633d0407baSopenharmony_ci	depends on ARCH_VT8500 || COMPILE_TEST
5643d0407baSopenharmony_ci	help
5653d0407baSopenharmony_ci	  Generic PWM framework driver for vt8500.
5663d0407baSopenharmony_ci
5673d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5683d0407baSopenharmony_ci	  will be called pwm-vt8500.
5693d0407baSopenharmony_ci
5703d0407baSopenharmony_ciconfig PWM_ZX
5713d0407baSopenharmony_ci	tristate "ZTE ZX PWM support"
5723d0407baSopenharmony_ci	depends on ARCH_ZX || COMPILE_TEST
5733d0407baSopenharmony_ci	help
5743d0407baSopenharmony_ci	  Generic PWM framework driver for ZTE ZX family SoCs.
5753d0407baSopenharmony_ci
5763d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module
5773d0407baSopenharmony_ci	  will be called pwm-zx.
5783d0407baSopenharmony_ci
5793d0407baSopenharmony_ciendif
580