xref: /kernel/linux/linux-5.10/drivers/pwm/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenuconfig PWM
38c2ecf20Sopenharmony_ci	bool "Pulse-Width Modulation (PWM) Support"
48c2ecf20Sopenharmony_ci	help
58c2ecf20Sopenharmony_ci	  Generic Pulse-Width Modulation (PWM) support.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci	  In Pulse-Width Modulation, a variation of the width of pulses
88c2ecf20Sopenharmony_ci	  in a rectangular pulse signal is used as a means to alter the
98c2ecf20Sopenharmony_ci	  average power of the signal. Applications include efficient
108c2ecf20Sopenharmony_ci	  power delivery and voltage regulation. In computer systems,
118c2ecf20Sopenharmony_ci	  PWMs are commonly used to control fans or the brightness of
128c2ecf20Sopenharmony_ci	  display backlights.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	  This framework provides a generic interface to PWM devices
158c2ecf20Sopenharmony_ci	  within the Linux kernel. On the driver side it provides an API
168c2ecf20Sopenharmony_ci	  to register and unregister a PWM chip, an abstraction of a PWM
178c2ecf20Sopenharmony_ci	  controller, that supports one or more PWM devices. Client
188c2ecf20Sopenharmony_ci	  drivers can request PWM devices and use the generic framework
198c2ecf20Sopenharmony_ci	  to configure as well as enable and disable them.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	  This generic framework replaces the legacy PWM framework which
228c2ecf20Sopenharmony_ci	  allows only a single driver implementing the required API. Not
238c2ecf20Sopenharmony_ci	  all legacy implementations have been ported to the framework
248c2ecf20Sopenharmony_ci	  yet. The framework provides an API that is backward compatible
258c2ecf20Sopenharmony_ci	  with the legacy framework so that existing client drivers
268c2ecf20Sopenharmony_ci	  continue to work as expected.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	  If unsure, say no.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciif PWM
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig PWM_SYSFS
338c2ecf20Sopenharmony_ci	bool
348c2ecf20Sopenharmony_ci	default y if SYSFS
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig PWM_DEBUG
378c2ecf20Sopenharmony_ci	bool "PWM lowlevel drivers additional checks and debug messages"
388c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  This option enables some additional checks to help lowlevel driver
418c2ecf20Sopenharmony_ci	  authors to get their callbacks implemented correctly.
428c2ecf20Sopenharmony_ci	  It is expected to introduce some runtime overhead and diagnostic
438c2ecf20Sopenharmony_ci	  output to the kernel log, so only enable while working on a driver.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig PWM_AB8500
468c2ecf20Sopenharmony_ci	tristate "AB8500 PWM support"
478c2ecf20Sopenharmony_ci	depends on AB8500_CORE && ARCH_U8500
488c2ecf20Sopenharmony_ci	help
498c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Analog Baseband AB8500.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
528c2ecf20Sopenharmony_ci	  will be called pwm-ab8500.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciconfig PWM_ATMEL
558c2ecf20Sopenharmony_ci	tristate "Atmel PWM support"
568c2ecf20Sopenharmony_ci	depends on OF
578c2ecf20Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
588c2ecf20Sopenharmony_ci	help
598c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Atmel SoC.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
628c2ecf20Sopenharmony_ci	  will be called pwm-atmel.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig PWM_ATMEL_HLCDC_PWM
658c2ecf20Sopenharmony_ci	tristate "Atmel HLCDC PWM support"
668c2ecf20Sopenharmony_ci	depends on MFD_ATMEL_HLCDC
678c2ecf20Sopenharmony_ci	depends on HAVE_CLK
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the PWM output of the HLCDC
708c2ecf20Sopenharmony_ci	  (Atmel High-end LCD Controller). This PWM output is mainly used
718c2ecf20Sopenharmony_ci	  to control the LCD backlight.
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
748c2ecf20Sopenharmony_ci	  will be called pwm-atmel-hlcdc.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig PWM_ATMEL_TCB
778c2ecf20Sopenharmony_ci	tristate "Atmel TC Block PWM support"
788c2ecf20Sopenharmony_ci	depends on ATMEL_TCLIB && OF
798c2ecf20Sopenharmony_ci	help
808c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Atmel Timer Counter Block.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	  A Timer Counter Block provides 6 PWM devices grouped by 2.
838c2ecf20Sopenharmony_ci	  Devices in a given group must have the same period.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
868c2ecf20Sopenharmony_ci	  will be called pwm-atmel-tcb.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciconfig PWM_BCM_IPROC
898c2ecf20Sopenharmony_ci	tristate "iProc PWM support"
908c2ecf20Sopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
918c2ecf20Sopenharmony_ci	depends on COMMON_CLK
928c2ecf20Sopenharmony_ci	default ARCH_BCM_IPROC
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Broadcom iProc PWM block. This
958c2ecf20Sopenharmony_ci	  block is used in Broadcom iProc SoC's.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
988c2ecf20Sopenharmony_ci	  will be called pwm-bcm-iproc.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig PWM_BCM_KONA
1018c2ecf20Sopenharmony_ci	tristate "Kona PWM support"
1028c2ecf20Sopenharmony_ci	depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
1038c2ecf20Sopenharmony_ci	depends on HAVE_CLK && HAS_IOMEM
1048c2ecf20Sopenharmony_ci	default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS
1058c2ecf20Sopenharmony_ci	help
1068c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Broadcom Kona PWM block.
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1098c2ecf20Sopenharmony_ci	  will be called pwm-bcm-kona.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ciconfig PWM_BCM2835
1128c2ecf20Sopenharmony_ci	tristate "BCM2835 PWM support"
1138c2ecf20Sopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  PWM framework driver for BCM2835 controller (Raspberry Pi)
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1188c2ecf20Sopenharmony_ci	  will be called pwm-bcm2835.
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ciconfig PWM_BERLIN
1218c2ecf20Sopenharmony_ci	tristate "Marvell Berlin PWM support"
1228c2ecf20Sopenharmony_ci	depends on ARCH_BERLIN || COMPILE_TEST
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  PWM framework driver for Marvell Berlin SoCs.
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1278c2ecf20Sopenharmony_ci	  will be called pwm-berlin.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig PWM_BRCMSTB
1308c2ecf20Sopenharmony_ci	tristate "Broadcom STB PWM support"
1318c2ecf20Sopenharmony_ci	depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the Broadcom Set-top-Box
1348c2ecf20Sopenharmony_ci	  SoCs (BCM7xxx).
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M Here: the module
1378c2ecf20Sopenharmony_ci	  will be called pwm-brcmstb.c.
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ciconfig PWM_CLPS711X
1408c2ecf20Sopenharmony_ci	tristate "CLPS711X PWM support"
1418c2ecf20Sopenharmony_ci	depends on ARCH_CLPS711X || COMPILE_TEST
1428c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1438c2ecf20Sopenharmony_ci	help
1448c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Cirrus Logic CLPS711X.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1478c2ecf20Sopenharmony_ci	  will be called pwm-clps711x.
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ciconfig PWM_CRC
1508c2ecf20Sopenharmony_ci	bool "Intel Crystalcove (CRC) PWM support"
1518c2ecf20Sopenharmony_ci	depends on X86 && INTEL_SOC_PMIC
1528c2ecf20Sopenharmony_ci	help
1538c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
1548c2ecf20Sopenharmony_ci	  control.
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ciconfig PWM_CROS_EC
1578c2ecf20Sopenharmony_ci	tristate "ChromeOS EC PWM driver"
1588c2ecf20Sopenharmony_ci	depends on CROS_EC
1598c2ecf20Sopenharmony_ci	help
1608c2ecf20Sopenharmony_ci	  PWM driver for exposing a PWM attached to the ChromeOS Embedded
1618c2ecf20Sopenharmony_ci	  Controller.
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ciconfig PWM_EP93XX
1648c2ecf20Sopenharmony_ci	tristate "Cirrus Logic EP93xx PWM support"
1658c2ecf20Sopenharmony_ci	depends on ARCH_EP93XX || COMPILE_TEST
1668c2ecf20Sopenharmony_ci	help
1678c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Cirrus Logic EP93xx.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1708c2ecf20Sopenharmony_ci	  will be called pwm-ep93xx.
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ciconfig PWM_FSL_FTM
1738c2ecf20Sopenharmony_ci	tristate "Freescale FlexTimer Module (FTM) PWM support"
1748c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1758c2ecf20Sopenharmony_ci	depends on OF
1768c2ecf20Sopenharmony_ci	select REGMAP_MMIO
1778c2ecf20Sopenharmony_ci	help
1788c2ecf20Sopenharmony_ci	  Generic FTM PWM framework driver for Freescale VF610 and
1798c2ecf20Sopenharmony_ci	  Layerscape LS-1 SoCs.
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1828c2ecf20Sopenharmony_ci	  will be called pwm-fsl-ftm.
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ciconfig PWM_HIBVT
1858c2ecf20Sopenharmony_ci	tristate "HiSilicon BVT PWM support"
1868c2ecf20Sopenharmony_ci	depends on ARCH_HISI || COMPILE_TEST
1878c2ecf20Sopenharmony_ci	help
1888c2ecf20Sopenharmony_ci	  Generic PWM framework driver for HiSilicon BVT SoCs.
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1918c2ecf20Sopenharmony_ci	  will be called pwm-hibvt.
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ciconfig PWM_IMG
1948c2ecf20Sopenharmony_ci	tristate "Imagination Technologies PWM driver"
1958c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1968c2ecf20Sopenharmony_ci	depends on MFD_SYSCON
1978c2ecf20Sopenharmony_ci	depends on COMMON_CLK
1988c2ecf20Sopenharmony_ci	depends on MIPS || COMPILE_TEST
1998c2ecf20Sopenharmony_ci	help
2008c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Imagination Technologies
2018c2ecf20Sopenharmony_ci	  PWM block which supports 4 channels.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2048c2ecf20Sopenharmony_ci	  will be called pwm-img
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ciconfig PWM_IMX1
2078c2ecf20Sopenharmony_ci	tristate "i.MX1 PWM support"
2088c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2098c2ecf20Sopenharmony_ci	help
2108c2ecf20Sopenharmony_ci	  Generic PWM framework driver for i.MX1 and i.MX21
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2138c2ecf20Sopenharmony_ci	  will be called pwm-imx1.
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ciconfig PWM_IMX27
2168c2ecf20Sopenharmony_ci	tristate "i.MX27 PWM support"
2178c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2188c2ecf20Sopenharmony_ci	help
2198c2ecf20Sopenharmony_ci	  Generic PWM framework driver for i.MX27 and later i.MX SoCs.
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2228c2ecf20Sopenharmony_ci	  will be called pwm-imx27.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciconfig PWM_IMX_TPM
2258c2ecf20Sopenharmony_ci	tristate "i.MX TPM PWM support"
2268c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2278c2ecf20Sopenharmony_ci	depends on HAVE_CLK && HAS_IOMEM
2288c2ecf20Sopenharmony_ci	help
2298c2ecf20Sopenharmony_ci	  Generic PWM framework driver for i.MX7ULP TPM module, TPM's full
2308c2ecf20Sopenharmony_ci	  name is Low Power Timer/Pulse Width Modulation Module.
2318c2ecf20Sopenharmony_ci
2328c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2338c2ecf20Sopenharmony_ci	  will be called pwm-imx-tpm.
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ciconfig PWM_IQS620A
2368c2ecf20Sopenharmony_ci	tristate "Azoteq IQS620A PWM support"
2378c2ecf20Sopenharmony_ci	depends on MFD_IQS62X || COMPILE_TEST
2388c2ecf20Sopenharmony_ci	help
2398c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the Azoteq IQS620A multi-function
2408c2ecf20Sopenharmony_ci	  sensor.
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
2438c2ecf20Sopenharmony_ci	  be called pwm-iqs620a.
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ciconfig PWM_JZ4740
2468c2ecf20Sopenharmony_ci	tristate "Ingenic JZ47xx PWM support"
2478c2ecf20Sopenharmony_ci	depends on MIPS
2488c2ecf20Sopenharmony_ci	depends on COMMON_CLK
2498c2ecf20Sopenharmony_ci	select MFD_SYSCON
2508c2ecf20Sopenharmony_ci	help
2518c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Ingenic JZ47xx based
2528c2ecf20Sopenharmony_ci	  machines.
2538c2ecf20Sopenharmony_ci
2548c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2558c2ecf20Sopenharmony_ci	  will be called pwm-jz4740.
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ciconfig PWM_LP3943
2588c2ecf20Sopenharmony_ci	tristate "TI/National Semiconductor LP3943 PWM support"
2598c2ecf20Sopenharmony_ci	depends on MFD_LP3943
2608c2ecf20Sopenharmony_ci	help
2618c2ecf20Sopenharmony_ci	  Generic PWM framework driver for LP3943 which supports two PWM
2628c2ecf20Sopenharmony_ci	  channels.
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2658c2ecf20Sopenharmony_ci	  will be called pwm-lp3943.
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ciconfig PWM_LPC18XX_SCT
2688c2ecf20Sopenharmony_ci	tristate "LPC18xx/43xx PWM/SCT support"
2698c2ecf20Sopenharmony_ci	depends on ARCH_LPC18XX || COMPILE_TEST
2708c2ecf20Sopenharmony_ci	help
2718c2ecf20Sopenharmony_ci	  Generic PWM framework driver for NXP LPC18xx PWM/SCT which
2728c2ecf20Sopenharmony_ci	  supports 16 channels.
2738c2ecf20Sopenharmony_ci	  A maximum of 15 channels can be requested simultaneously and
2748c2ecf20Sopenharmony_ci	  must have the same period.
2758c2ecf20Sopenharmony_ci
2768c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2778c2ecf20Sopenharmony_ci	  will be called pwm-lpc18xx-sct.
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ciconfig PWM_LPC32XX
2808c2ecf20Sopenharmony_ci	tristate "LPC32XX PWM support"
2818c2ecf20Sopenharmony_ci	depends on ARCH_LPC32XX || COMPILE_TEST
2828c2ecf20Sopenharmony_ci	help
2838c2ecf20Sopenharmony_ci	  Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
2848c2ecf20Sopenharmony_ci	  PWM controllers.
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2878c2ecf20Sopenharmony_ci	  will be called pwm-lpc32xx.
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ciconfig PWM_LPSS
2908c2ecf20Sopenharmony_ci	tristate
2918c2ecf20Sopenharmony_ci
2928c2ecf20Sopenharmony_ciconfig PWM_LPSS_PCI
2938c2ecf20Sopenharmony_ci	tristate "Intel LPSS PWM PCI driver"
2948c2ecf20Sopenharmony_ci	depends on X86 && PCI
2958c2ecf20Sopenharmony_ci	select PWM_LPSS
2968c2ecf20Sopenharmony_ci	help
2978c2ecf20Sopenharmony_ci	  The PCI driver for Intel Low Power Subsystem PWM controller.
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3008c2ecf20Sopenharmony_ci	  will be called pwm-lpss-pci.
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ciconfig PWM_LPSS_PLATFORM
3038c2ecf20Sopenharmony_ci	tristate "Intel LPSS PWM platform driver"
3048c2ecf20Sopenharmony_ci	depends on X86 && ACPI
3058c2ecf20Sopenharmony_ci	select PWM_LPSS
3068c2ecf20Sopenharmony_ci	help
3078c2ecf20Sopenharmony_ci	  The platform driver for Intel Low Power Subsystem PWM controller.
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3108c2ecf20Sopenharmony_ci	  will be called pwm-lpss-platform.
3118c2ecf20Sopenharmony_ci
3128c2ecf20Sopenharmony_ciconfig PWM_MESON
3138c2ecf20Sopenharmony_ci	tristate "Amlogic Meson PWM driver"
3148c2ecf20Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
3158c2ecf20Sopenharmony_ci	depends on COMMON_CLK
3168c2ecf20Sopenharmony_ci	help
3178c2ecf20Sopenharmony_ci	  The platform driver for Amlogic Meson PWM controller.
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3208c2ecf20Sopenharmony_ci	  will be called pwm-meson.
3218c2ecf20Sopenharmony_ci
3228c2ecf20Sopenharmony_ciconfig PWM_MTK_DISP
3238c2ecf20Sopenharmony_ci	tristate "MediaTek display PWM driver"
3248c2ecf20Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
3258c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3268c2ecf20Sopenharmony_ci	help
3278c2ecf20Sopenharmony_ci	  Generic PWM framework driver for MediaTek disp-pwm device.
3288c2ecf20Sopenharmony_ci	  The PWM is used to control the backlight brightness for display.
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3318c2ecf20Sopenharmony_ci	  will be called pwm-mtk-disp.
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ciconfig PWM_MEDIATEK
3348c2ecf20Sopenharmony_ci	tristate "MediaTek PWM support"
3358c2ecf20Sopenharmony_ci	depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
3368c2ecf20Sopenharmony_ci	help
3378c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Mediatek ARM SoC.
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3408c2ecf20Sopenharmony_ci	  will be called pwm-mediatek.
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ciconfig PWM_MXS
3438c2ecf20Sopenharmony_ci	tristate "Freescale MXS PWM support"
3448c2ecf20Sopenharmony_ci	depends on OF
3458c2ecf20Sopenharmony_ci	depends on ARCH_MXS || COMPILE_TEST
3468c2ecf20Sopenharmony_ci	select STMP_DEVICE
3478c2ecf20Sopenharmony_ci	help
3488c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Freescale MXS.
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3518c2ecf20Sopenharmony_ci	  will be called pwm-mxs.
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ciconfig PWM_OMAP_DMTIMER
3548c2ecf20Sopenharmony_ci	tristate "OMAP Dual-Mode Timer PWM support"
3558c2ecf20Sopenharmony_ci	depends on OF
3568c2ecf20Sopenharmony_ci	depends on OMAP_DM_TIMER || COMPILE_TEST
3578c2ecf20Sopenharmony_ci	help
3588c2ecf20Sopenharmony_ci	  Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
3598c2ecf20Sopenharmony_ci
3608c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3618c2ecf20Sopenharmony_ci	  will be called pwm-omap-dmtimer
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ciconfig PWM_PCA9685
3648c2ecf20Sopenharmony_ci	tristate "NXP PCA9685 PWM driver"
3658c2ecf20Sopenharmony_ci	depends on I2C
3668c2ecf20Sopenharmony_ci	select REGMAP_I2C
3678c2ecf20Sopenharmony_ci	help
3688c2ecf20Sopenharmony_ci	  Generic PWM framework driver for NXP PCA9685 LED controller.
3698c2ecf20Sopenharmony_ci
3708c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3718c2ecf20Sopenharmony_ci	  will be called pwm-pca9685.
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ciconfig PWM_PXA
3748c2ecf20Sopenharmony_ci	tristate "PXA PWM support"
3758c2ecf20Sopenharmony_ci	depends on ARCH_PXA || COMPILE_TEST
3768c2ecf20Sopenharmony_ci	help
3778c2ecf20Sopenharmony_ci	  Generic PWM framework driver for PXA.
3788c2ecf20Sopenharmony_ci
3798c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3808c2ecf20Sopenharmony_ci	  will be called pwm-pxa.
3818c2ecf20Sopenharmony_ci
3828c2ecf20Sopenharmony_ciconfig PWM_RCAR
3838c2ecf20Sopenharmony_ci	tristate "Renesas R-Car PWM support"
3848c2ecf20Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
3858c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3868c2ecf20Sopenharmony_ci	help
3878c2ecf20Sopenharmony_ci	  This driver exposes the PWM Timer controller found in Renesas
3888c2ecf20Sopenharmony_ci	  R-Car chips through the PWM API.
3898c2ecf20Sopenharmony_ci
3908c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3918c2ecf20Sopenharmony_ci	  will be called pwm-rcar.
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ciconfig PWM_RENESAS_TPU
3948c2ecf20Sopenharmony_ci	tristate "Renesas TPU PWM support"
3958c2ecf20Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
3968c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3978c2ecf20Sopenharmony_ci	help
3988c2ecf20Sopenharmony_ci	  This driver exposes the Timer Pulse Unit (TPU) PWM controller found
3998c2ecf20Sopenharmony_ci	  in Renesas chips through the PWM API.
4008c2ecf20Sopenharmony_ci
4018c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4028c2ecf20Sopenharmony_ci	  will be called pwm-renesas-tpu.
4038c2ecf20Sopenharmony_ci
4048c2ecf20Sopenharmony_ciconfig PWM_ROCKCHIP
4058c2ecf20Sopenharmony_ci	tristate "Rockchip PWM support"
4068c2ecf20Sopenharmony_ci	depends on ARCH_ROCKCHIP || COMPILE_TEST
4078c2ecf20Sopenharmony_ci	help
4088c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the PWM controller found on
4098c2ecf20Sopenharmony_ci	  Rockchip SoCs.
4108c2ecf20Sopenharmony_ci
4118c2ecf20Sopenharmony_ciconfig PWM_SAMSUNG
4128c2ecf20Sopenharmony_ci	tristate "Samsung PWM support"
4138c2ecf20Sopenharmony_ci	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
4148c2ecf20Sopenharmony_ci	help
4158c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Samsung.
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4188c2ecf20Sopenharmony_ci	  will be called pwm-samsung.
4198c2ecf20Sopenharmony_ci
4208c2ecf20Sopenharmony_ciconfig PWM_SIFIVE
4218c2ecf20Sopenharmony_ci	tristate "SiFive PWM support"
4228c2ecf20Sopenharmony_ci	depends on OF
4238c2ecf20Sopenharmony_ci	depends on COMMON_CLK
4248c2ecf20Sopenharmony_ci	depends on RISCV || COMPILE_TEST
4258c2ecf20Sopenharmony_ci	help
4268c2ecf20Sopenharmony_ci	  Generic PWM framework driver for SiFive SoCs.
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4298c2ecf20Sopenharmony_ci	  will be called pwm-sifive.
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_ciconfig PWM_SL28CPLD
4328c2ecf20Sopenharmony_ci	tristate "Kontron sl28cpld PWM support"
4338c2ecf20Sopenharmony_ci	depends on MFD_SL28CPLD || COMPILE_TEST
4348c2ecf20Sopenharmony_ci	help
4358c2ecf20Sopenharmony_ci	  Generic PWM framework driver for board management controller
4368c2ecf20Sopenharmony_ci	  found on the Kontron sl28 CPLD.
4378c2ecf20Sopenharmony_ci
4388c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4398c2ecf20Sopenharmony_ci	  will be called pwm-sl28cpld.
4408c2ecf20Sopenharmony_ci
4418c2ecf20Sopenharmony_ciconfig PWM_SPEAR
4428c2ecf20Sopenharmony_ci	tristate "STMicroelectronics SPEAr PWM support"
4438c2ecf20Sopenharmony_ci	depends on PLAT_SPEAR || COMPILE_TEST
4448c2ecf20Sopenharmony_ci	depends on OF
4458c2ecf20Sopenharmony_ci	help
4468c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the PWM controller on ST
4478c2ecf20Sopenharmony_ci	  SPEAr SoCs.
4488c2ecf20Sopenharmony_ci
4498c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4508c2ecf20Sopenharmony_ci	  will be called pwm-spear.
4518c2ecf20Sopenharmony_ci
4528c2ecf20Sopenharmony_ciconfig PWM_SPRD
4538c2ecf20Sopenharmony_ci	tristate "Spreadtrum PWM support"
4548c2ecf20Sopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
4558c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
4568c2ecf20Sopenharmony_ci	help
4578c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the PWM controller on
4588c2ecf20Sopenharmony_ci	  Spreadtrum SoCs.
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4618c2ecf20Sopenharmony_ci	  will be called pwm-sprd.
4628c2ecf20Sopenharmony_ci
4638c2ecf20Sopenharmony_ciconfig PWM_STI
4648c2ecf20Sopenharmony_ci	tristate "STiH4xx PWM support"
4658c2ecf20Sopenharmony_ci	depends on ARCH_STI || COMPILE_TEST
4668c2ecf20Sopenharmony_ci	depends on OF
4678c2ecf20Sopenharmony_ci	help
4688c2ecf20Sopenharmony_ci	  Generic PWM framework driver for STiH4xx SoCs.
4698c2ecf20Sopenharmony_ci
4708c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4718c2ecf20Sopenharmony_ci	  will be called pwm-sti.
4728c2ecf20Sopenharmony_ci
4738c2ecf20Sopenharmony_ciconfig PWM_STM32
4748c2ecf20Sopenharmony_ci	tristate "STMicroelectronics STM32 PWM"
4758c2ecf20Sopenharmony_ci	depends on MFD_STM32_TIMERS || COMPILE_TEST
4768c2ecf20Sopenharmony_ci	help
4778c2ecf20Sopenharmony_ci	  Generic PWM framework driver for STM32 SoCs.
4788c2ecf20Sopenharmony_ci
4798c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4808c2ecf20Sopenharmony_ci	  will be called pwm-stm32.
4818c2ecf20Sopenharmony_ci
4828c2ecf20Sopenharmony_ciconfig PWM_STM32_LP
4838c2ecf20Sopenharmony_ci	tristate "STMicroelectronics STM32 PWM LP"
4848c2ecf20Sopenharmony_ci	depends on MFD_STM32_LPTIMER || COMPILE_TEST
4858c2ecf20Sopenharmony_ci	help
4868c2ecf20Sopenharmony_ci	  Generic PWM framework driver for STMicroelectronics STM32 SoCs
4878c2ecf20Sopenharmony_ci	  with Low-Power Timer (LPTIM).
4888c2ecf20Sopenharmony_ci
4898c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4908c2ecf20Sopenharmony_ci	  will be called pwm-stm32-lp.
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ciconfig PWM_STMPE
4938c2ecf20Sopenharmony_ci	bool "STMPE expander PWM export"
4948c2ecf20Sopenharmony_ci	depends on MFD_STMPE
4958c2ecf20Sopenharmony_ci	help
4968c2ecf20Sopenharmony_ci	  This enables support for the PWMs found in the STMPE I/O
4978c2ecf20Sopenharmony_ci	  expanders.
4988c2ecf20Sopenharmony_ci
4998c2ecf20Sopenharmony_ciconfig PWM_SUN4I
5008c2ecf20Sopenharmony_ci	tristate "Allwinner PWM support"
5018c2ecf20Sopenharmony_ci	depends on ARCH_SUNXI || COMPILE_TEST
5028c2ecf20Sopenharmony_ci	depends on HAS_IOMEM && COMMON_CLK
5038c2ecf20Sopenharmony_ci	help
5048c2ecf20Sopenharmony_ci	  Generic PWM framework driver for Allwinner SoCs.
5058c2ecf20Sopenharmony_ci
5068c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5078c2ecf20Sopenharmony_ci	  will be called pwm-sun4i.
5088c2ecf20Sopenharmony_ci
5098c2ecf20Sopenharmony_ciconfig PWM_TEGRA
5108c2ecf20Sopenharmony_ci	tristate "NVIDIA Tegra PWM support"
5118c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA || COMPILE_TEST
5128c2ecf20Sopenharmony_ci	help
5138c2ecf20Sopenharmony_ci	  Generic PWM framework driver for the PWFM controller found on NVIDIA
5148c2ecf20Sopenharmony_ci	  Tegra SoCs.
5158c2ecf20Sopenharmony_ci
5168c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5178c2ecf20Sopenharmony_ci	  will be called pwm-tegra.
5188c2ecf20Sopenharmony_ci
5198c2ecf20Sopenharmony_ciconfig PWM_TIECAP
5208c2ecf20Sopenharmony_ci	tristate "ECAP PWM support"
5218c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
5228c2ecf20Sopenharmony_ci	help
5238c2ecf20Sopenharmony_ci	  PWM driver support for the ECAP APWM controller found on TI SOCs
5248c2ecf20Sopenharmony_ci
5258c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5268c2ecf20Sopenharmony_ci	  will be called pwm-tiecap.
5278c2ecf20Sopenharmony_ci
5288c2ecf20Sopenharmony_ciconfig PWM_TIEHRPWM
5298c2ecf20Sopenharmony_ci	tristate "EHRPWM PWM support"
5308c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST
5318c2ecf20Sopenharmony_ci	help
5328c2ecf20Sopenharmony_ci	  PWM driver support for the EHRPWM controller found on TI SOCs
5338c2ecf20Sopenharmony_ci
5348c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5358c2ecf20Sopenharmony_ci	  will be called pwm-tiehrpwm.
5368c2ecf20Sopenharmony_ci
5378c2ecf20Sopenharmony_ciconfig PWM_TWL
5388c2ecf20Sopenharmony_ci	tristate "TWL4030/6030 PWM support"
5398c2ecf20Sopenharmony_ci	depends on TWL4030_CORE
5408c2ecf20Sopenharmony_ci	help
5418c2ecf20Sopenharmony_ci	  Generic PWM framework driver for TWL4030/6030.
5428c2ecf20Sopenharmony_ci
5438c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5448c2ecf20Sopenharmony_ci	  will be called pwm-twl.
5458c2ecf20Sopenharmony_ci
5468c2ecf20Sopenharmony_ciconfig PWM_TWL_LED
5478c2ecf20Sopenharmony_ci	tristate "TWL4030/6030 PWM support for LED drivers"
5488c2ecf20Sopenharmony_ci	depends on TWL4030_CORE
5498c2ecf20Sopenharmony_ci	help
5508c2ecf20Sopenharmony_ci	  Generic PWM framework driver for TWL4030/6030 LED terminals.
5518c2ecf20Sopenharmony_ci
5528c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5538c2ecf20Sopenharmony_ci	  will be called pwm-twl-led.
5548c2ecf20Sopenharmony_ci
5558c2ecf20Sopenharmony_ciconfig PWM_VT8500
5568c2ecf20Sopenharmony_ci	tristate "vt8500 PWM support"
5578c2ecf20Sopenharmony_ci	depends on ARCH_VT8500 || COMPILE_TEST
5588c2ecf20Sopenharmony_ci	help
5598c2ecf20Sopenharmony_ci	  Generic PWM framework driver for vt8500.
5608c2ecf20Sopenharmony_ci
5618c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5628c2ecf20Sopenharmony_ci	  will be called pwm-vt8500.
5638c2ecf20Sopenharmony_ci
5648c2ecf20Sopenharmony_ciconfig PWM_ZX
5658c2ecf20Sopenharmony_ci	tristate "ZTE ZX PWM support"
5668c2ecf20Sopenharmony_ci	depends on ARCH_ZX || COMPILE_TEST
5678c2ecf20Sopenharmony_ci	help
5688c2ecf20Sopenharmony_ci	  Generic PWM framework driver for ZTE ZX family SoCs.
5698c2ecf20Sopenharmony_ci
5708c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5718c2ecf20Sopenharmony_ci	  will be called pwm-zx.
5728c2ecf20Sopenharmony_ci
5738c2ecf20Sopenharmony_ciendif
574