162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenuconfig PWM 362306a36Sopenharmony_ci bool "Pulse-Width Modulation (PWM) Support" 462306a36Sopenharmony_ci help 562306a36Sopenharmony_ci Generic Pulse-Width Modulation (PWM) support. 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci In Pulse-Width Modulation, a variation of the width of pulses 862306a36Sopenharmony_ci in a rectangular pulse signal is used as a means to alter the 962306a36Sopenharmony_ci average power of the signal. Applications include efficient 1062306a36Sopenharmony_ci power delivery and voltage regulation. In computer systems, 1162306a36Sopenharmony_ci PWMs are commonly used to control fans or the brightness of 1262306a36Sopenharmony_ci display backlights. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci This framework provides a generic interface to PWM devices 1562306a36Sopenharmony_ci within the Linux kernel. On the driver side it provides an API 1662306a36Sopenharmony_ci to register and unregister a PWM chip, an abstraction of a PWM 1762306a36Sopenharmony_ci controller, that supports one or more PWM devices. Client 1862306a36Sopenharmony_ci drivers can request PWM devices and use the generic framework 1962306a36Sopenharmony_ci to configure as well as enable and disable them. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci This generic framework replaces the legacy PWM framework which 2262306a36Sopenharmony_ci allows only a single driver implementing the required API. Not 2362306a36Sopenharmony_ci all legacy implementations have been ported to the framework 2462306a36Sopenharmony_ci yet. The framework provides an API that is backward compatible 2562306a36Sopenharmony_ci with the legacy framework so that existing client drivers 2662306a36Sopenharmony_ci continue to work as expected. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci If unsure, say no. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciif PWM 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig PWM_SYSFS 3362306a36Sopenharmony_ci bool 3462306a36Sopenharmony_ci default y if SYSFS 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciconfig PWM_DEBUG 3762306a36Sopenharmony_ci bool "PWM lowlevel drivers additional checks and debug messages" 3862306a36Sopenharmony_ci depends on DEBUG_KERNEL 3962306a36Sopenharmony_ci help 4062306a36Sopenharmony_ci This option enables some additional checks to help lowlevel driver 4162306a36Sopenharmony_ci authors to get their callbacks implemented correctly. 4262306a36Sopenharmony_ci It is expected to introduce some runtime overhead and diagnostic 4362306a36Sopenharmony_ci output to the kernel log, so only enable while working on a driver. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciconfig PWM_AB8500 4662306a36Sopenharmony_ci tristate "AB8500 PWM support" 4762306a36Sopenharmony_ci depends on AB8500_CORE && ARCH_U8500 4862306a36Sopenharmony_ci help 4962306a36Sopenharmony_ci Generic PWM framework driver for Analog Baseband AB8500. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 5262306a36Sopenharmony_ci will be called pwm-ab8500. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconfig PWM_APPLE 5562306a36Sopenharmony_ci tristate "Apple SoC PWM support" 5662306a36Sopenharmony_ci depends on ARCH_APPLE || COMPILE_TEST 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci Generic PWM framework driver for PWM controller present on 5962306a36Sopenharmony_ci Apple SoCs 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci Say Y here if you have an ARM Apple laptop, otherwise say N 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 6462306a36Sopenharmony_ci will be called pwm-apple. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig PWM_ATMEL 6762306a36Sopenharmony_ci tristate "Atmel PWM support" 6862306a36Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 6962306a36Sopenharmony_ci depends on HAS_IOMEM && OF 7062306a36Sopenharmony_ci help 7162306a36Sopenharmony_ci Generic PWM framework driver for Atmel SoC. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 7462306a36Sopenharmony_ci will be called pwm-atmel. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciconfig PWM_ATMEL_HLCDC_PWM 7762306a36Sopenharmony_ci tristate "Atmel HLCDC PWM support" 7862306a36Sopenharmony_ci depends on MFD_ATMEL_HLCDC 7962306a36Sopenharmony_ci depends on HAVE_CLK 8062306a36Sopenharmony_ci help 8162306a36Sopenharmony_ci Generic PWM framework driver for the PWM output of the HLCDC 8262306a36Sopenharmony_ci (Atmel High-end LCD Controller). This PWM output is mainly used 8362306a36Sopenharmony_ci to control the LCD backlight. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 8662306a36Sopenharmony_ci will be called pwm-atmel-hlcdc. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig PWM_ATMEL_TCB 8962306a36Sopenharmony_ci tristate "Atmel TC Block PWM support" 9062306a36Sopenharmony_ci depends on OF 9162306a36Sopenharmony_ci select REGMAP_MMIO 9262306a36Sopenharmony_ci help 9362306a36Sopenharmony_ci Generic PWM framework driver for Atmel Timer Counter Block. 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci A Timer Counter Block provides 6 PWM devices grouped by 2. 9662306a36Sopenharmony_ci Devices in a given group must have the same period. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 9962306a36Sopenharmony_ci will be called pwm-atmel-tcb. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciconfig PWM_BCM_IPROC 10262306a36Sopenharmony_ci tristate "iProc PWM support" 10362306a36Sopenharmony_ci depends on ARCH_BCM_IPROC || COMPILE_TEST 10462306a36Sopenharmony_ci depends on COMMON_CLK && HAS_IOMEM 10562306a36Sopenharmony_ci default ARCH_BCM_IPROC 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci Generic PWM framework driver for Broadcom iProc PWM block. This 10862306a36Sopenharmony_ci block is used in Broadcom iProc SoC's. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 11162306a36Sopenharmony_ci will be called pwm-bcm-iproc. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciconfig PWM_BCM_KONA 11462306a36Sopenharmony_ci tristate "Kona PWM support" 11562306a36Sopenharmony_ci depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST 11662306a36Sopenharmony_ci depends on HAVE_CLK && HAS_IOMEM 11762306a36Sopenharmony_ci default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS 11862306a36Sopenharmony_ci help 11962306a36Sopenharmony_ci Generic PWM framework driver for Broadcom Kona PWM block. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 12262306a36Sopenharmony_ci will be called pwm-bcm-kona. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciconfig PWM_BCM2835 12562306a36Sopenharmony_ci tristate "BCM2835 PWM support" 12662306a36Sopenharmony_ci depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 12762306a36Sopenharmony_ci depends on HAS_IOMEM 12862306a36Sopenharmony_ci help 12962306a36Sopenharmony_ci PWM framework driver for BCM2835 controller (Raspberry Pi) 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 13262306a36Sopenharmony_ci will be called pwm-bcm2835. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciconfig PWM_BERLIN 13562306a36Sopenharmony_ci tristate "Marvell Berlin PWM support" 13662306a36Sopenharmony_ci depends on ARCH_BERLIN || COMPILE_TEST 13762306a36Sopenharmony_ci depends on HAS_IOMEM 13862306a36Sopenharmony_ci help 13962306a36Sopenharmony_ci PWM framework driver for Marvell Berlin SoCs. 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 14262306a36Sopenharmony_ci will be called pwm-berlin. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciconfig PWM_BRCMSTB 14562306a36Sopenharmony_ci tristate "Broadcom STB PWM support" 14662306a36Sopenharmony_ci depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST 14762306a36Sopenharmony_ci depends on HAS_IOMEM 14862306a36Sopenharmony_ci help 14962306a36Sopenharmony_ci Generic PWM framework driver for the Broadcom Set-top-Box 15062306a36Sopenharmony_ci SoCs (BCM7xxx). 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci To compile this driver as a module, choose M Here: the module 15362306a36Sopenharmony_ci will be called pwm-brcmstb.c. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciconfig PWM_CLK 15662306a36Sopenharmony_ci tristate "Clock based PWM support" 15762306a36Sopenharmony_ci depends on HAVE_CLK || COMPILE_TEST 15862306a36Sopenharmony_ci help 15962306a36Sopenharmony_ci Generic PWM framework driver for outputs that can be 16062306a36Sopenharmony_ci muxed to clocks. 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 16362306a36Sopenharmony_ci will be called pwm-clk. 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ciconfig PWM_CLPS711X 16662306a36Sopenharmony_ci tristate "CLPS711X PWM support" 16762306a36Sopenharmony_ci depends on ARCH_CLPS711X || COMPILE_TEST 16862306a36Sopenharmony_ci depends on HAS_IOMEM 16962306a36Sopenharmony_ci help 17062306a36Sopenharmony_ci Generic PWM framework driver for Cirrus Logic CLPS711X. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 17362306a36Sopenharmony_ci will be called pwm-clps711x. 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ciconfig PWM_CRC 17662306a36Sopenharmony_ci bool "Intel Crystalcove (CRC) PWM support" 17762306a36Sopenharmony_ci depends on X86 && INTEL_SOC_PMIC 17862306a36Sopenharmony_ci help 17962306a36Sopenharmony_ci Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM 18062306a36Sopenharmony_ci control. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciconfig PWM_CROS_EC 18362306a36Sopenharmony_ci tristate "ChromeOS EC PWM driver" 18462306a36Sopenharmony_ci depends on CROS_EC 18562306a36Sopenharmony_ci help 18662306a36Sopenharmony_ci PWM driver for exposing a PWM attached to the ChromeOS Embedded 18762306a36Sopenharmony_ci Controller. 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ciconfig PWM_DWC 19062306a36Sopenharmony_ci tristate "DesignWare PWM Controller" 19162306a36Sopenharmony_ci depends on PCI 19262306a36Sopenharmony_ci help 19362306a36Sopenharmony_ci PWM driver for Synopsys DWC PWM Controller attached to a PCI bus. 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 19662306a36Sopenharmony_ci will be called pwm-dwc. 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciconfig PWM_EP93XX 19962306a36Sopenharmony_ci tristate "Cirrus Logic EP93xx PWM support" 20062306a36Sopenharmony_ci depends on ARCH_EP93XX || COMPILE_TEST 20162306a36Sopenharmony_ci depends on HAS_IOMEM 20262306a36Sopenharmony_ci help 20362306a36Sopenharmony_ci Generic PWM framework driver for Cirrus Logic EP93xx. 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 20662306a36Sopenharmony_ci will be called pwm-ep93xx. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciconfig PWM_FSL_FTM 20962306a36Sopenharmony_ci tristate "Freescale FlexTimer Module (FTM) PWM support" 21062306a36Sopenharmony_ci depends on HAS_IOMEM 21162306a36Sopenharmony_ci depends on OF 21262306a36Sopenharmony_ci select REGMAP_MMIO 21362306a36Sopenharmony_ci help 21462306a36Sopenharmony_ci Generic FTM PWM framework driver for Freescale VF610 and 21562306a36Sopenharmony_ci Layerscape LS-1 SoCs. 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 21862306a36Sopenharmony_ci will be called pwm-fsl-ftm. 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ciconfig PWM_HIBVT 22162306a36Sopenharmony_ci tristate "HiSilicon BVT PWM support" 22262306a36Sopenharmony_ci depends on ARCH_HISI || COMPILE_TEST 22362306a36Sopenharmony_ci depends on HAS_IOMEM 22462306a36Sopenharmony_ci help 22562306a36Sopenharmony_ci Generic PWM framework driver for HiSilicon BVT SoCs. 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 22862306a36Sopenharmony_ci will be called pwm-hibvt. 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ciconfig PWM_IMG 23162306a36Sopenharmony_ci tristate "Imagination Technologies PWM driver" 23262306a36Sopenharmony_ci depends on HAS_IOMEM 23362306a36Sopenharmony_ci depends on MFD_SYSCON 23462306a36Sopenharmony_ci depends on COMMON_CLK 23562306a36Sopenharmony_ci depends on MIPS || COMPILE_TEST 23662306a36Sopenharmony_ci help 23762306a36Sopenharmony_ci Generic PWM framework driver for Imagination Technologies 23862306a36Sopenharmony_ci PWM block which supports 4 channels. 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 24162306a36Sopenharmony_ci will be called pwm-img 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ciconfig PWM_IMX1 24462306a36Sopenharmony_ci tristate "i.MX1 PWM support" 24562306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 24662306a36Sopenharmony_ci depends on HAS_IOMEM 24762306a36Sopenharmony_ci help 24862306a36Sopenharmony_ci Generic PWM framework driver for i.MX1 and i.MX21 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 25162306a36Sopenharmony_ci will be called pwm-imx1. 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciconfig PWM_IMX27 25462306a36Sopenharmony_ci tristate "i.MX27 PWM support" 25562306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 25662306a36Sopenharmony_ci depends on HAS_IOMEM 25762306a36Sopenharmony_ci help 25862306a36Sopenharmony_ci Generic PWM framework driver for i.MX27 and later i.MX SoCs. 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 26162306a36Sopenharmony_ci will be called pwm-imx27. 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ciconfig PWM_IMX_TPM 26462306a36Sopenharmony_ci tristate "i.MX TPM PWM support" 26562306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 26662306a36Sopenharmony_ci depends on HAVE_CLK && HAS_IOMEM 26762306a36Sopenharmony_ci help 26862306a36Sopenharmony_ci Generic PWM framework driver for i.MX7ULP TPM module, TPM's full 26962306a36Sopenharmony_ci name is Low Power Timer/Pulse Width Modulation Module. 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 27262306a36Sopenharmony_ci will be called pwm-imx-tpm. 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ciconfig PWM_INTEL_LGM 27562306a36Sopenharmony_ci tristate "Intel LGM PWM support" 27662306a36Sopenharmony_ci depends on HAS_IOMEM 27762306a36Sopenharmony_ci depends on (OF && X86) || COMPILE_TEST 27862306a36Sopenharmony_ci select REGMAP_MMIO 27962306a36Sopenharmony_ci help 28062306a36Sopenharmony_ci Generic PWM fan controller driver for LGM SoC. 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 28362306a36Sopenharmony_ci will be called pwm-intel-lgm. 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ciconfig PWM_IQS620A 28662306a36Sopenharmony_ci tristate "Azoteq IQS620A PWM support" 28762306a36Sopenharmony_ci depends on MFD_IQS62X || COMPILE_TEST 28862306a36Sopenharmony_ci help 28962306a36Sopenharmony_ci Generic PWM framework driver for the Azoteq IQS620A multi-function 29062306a36Sopenharmony_ci sensor. 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 29362306a36Sopenharmony_ci be called pwm-iqs620a. 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ciconfig PWM_JZ4740 29662306a36Sopenharmony_ci tristate "Ingenic JZ47xx PWM support" 29762306a36Sopenharmony_ci depends on MACH_INGENIC || COMPILE_TEST 29862306a36Sopenharmony_ci depends on COMMON_CLK && OF 29962306a36Sopenharmony_ci select MFD_SYSCON 30062306a36Sopenharmony_ci help 30162306a36Sopenharmony_ci Generic PWM framework driver for Ingenic JZ47xx based 30262306a36Sopenharmony_ci machines. 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 30562306a36Sopenharmony_ci will be called pwm-jz4740. 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciconfig PWM_KEEMBAY 30862306a36Sopenharmony_ci tristate "Intel Keem Bay PWM driver" 30962306a36Sopenharmony_ci depends on ARCH_KEEMBAY || COMPILE_TEST 31062306a36Sopenharmony_ci depends on COMMON_CLK && HAS_IOMEM 31162306a36Sopenharmony_ci help 31262306a36Sopenharmony_ci The platform driver for Intel Keem Bay PWM controller. 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 31562306a36Sopenharmony_ci will be called pwm-keembay. 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ciconfig PWM_LP3943 31862306a36Sopenharmony_ci tristate "TI/National Semiconductor LP3943 PWM support" 31962306a36Sopenharmony_ci depends on MFD_LP3943 32062306a36Sopenharmony_ci help 32162306a36Sopenharmony_ci Generic PWM framework driver for LP3943 which supports two PWM 32262306a36Sopenharmony_ci channels. 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 32562306a36Sopenharmony_ci will be called pwm-lp3943. 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ciconfig PWM_LPC18XX_SCT 32862306a36Sopenharmony_ci tristate "LPC18xx/43xx PWM/SCT support" 32962306a36Sopenharmony_ci depends on ARCH_LPC18XX || COMPILE_TEST 33062306a36Sopenharmony_ci depends on HAS_IOMEM 33162306a36Sopenharmony_ci help 33262306a36Sopenharmony_ci Generic PWM framework driver for NXP LPC18xx PWM/SCT which 33362306a36Sopenharmony_ci supports 16 channels. 33462306a36Sopenharmony_ci A maximum of 15 channels can be requested simultaneously and 33562306a36Sopenharmony_ci must have the same period. 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 33862306a36Sopenharmony_ci will be called pwm-lpc18xx-sct. 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ciconfig PWM_LPC32XX 34162306a36Sopenharmony_ci tristate "LPC32XX PWM support" 34262306a36Sopenharmony_ci depends on ARCH_LPC32XX || COMPILE_TEST 34362306a36Sopenharmony_ci depends on HAS_IOMEM 34462306a36Sopenharmony_ci help 34562306a36Sopenharmony_ci Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 34662306a36Sopenharmony_ci PWM controllers. 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 34962306a36Sopenharmony_ci will be called pwm-lpc32xx. 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ciconfig PWM_LPSS 35262306a36Sopenharmony_ci depends on HAS_IOMEM 35362306a36Sopenharmony_ci tristate 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ciconfig PWM_LPSS_PCI 35662306a36Sopenharmony_ci tristate "Intel LPSS PWM PCI driver" 35762306a36Sopenharmony_ci depends on X86 || COMPILE_TEST 35862306a36Sopenharmony_ci depends on HAS_IOMEM && PCI 35962306a36Sopenharmony_ci select PWM_LPSS 36062306a36Sopenharmony_ci help 36162306a36Sopenharmony_ci The PCI driver for Intel Low Power Subsystem PWM controller. 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 36462306a36Sopenharmony_ci will be called pwm-lpss-pci. 36562306a36Sopenharmony_ci 36662306a36Sopenharmony_ciconfig PWM_LPSS_PLATFORM 36762306a36Sopenharmony_ci tristate "Intel LPSS PWM platform driver" 36862306a36Sopenharmony_ci depends on (X86 && ACPI) || COMPILE_TEST 36962306a36Sopenharmony_ci depends on HAS_IOMEM 37062306a36Sopenharmony_ci select PWM_LPSS 37162306a36Sopenharmony_ci help 37262306a36Sopenharmony_ci The platform driver for Intel Low Power Subsystem PWM controller. 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 37562306a36Sopenharmony_ci will be called pwm-lpss-platform. 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ciconfig PWM_MESON 37862306a36Sopenharmony_ci tristate "Amlogic Meson PWM driver" 37962306a36Sopenharmony_ci depends on ARCH_MESON || COMPILE_TEST 38062306a36Sopenharmony_ci depends on COMMON_CLK && HAS_IOMEM 38162306a36Sopenharmony_ci help 38262306a36Sopenharmony_ci The platform driver for Amlogic Meson PWM controller. 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 38562306a36Sopenharmony_ci will be called pwm-meson. 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ciconfig PWM_MTK_DISP 38862306a36Sopenharmony_ci tristate "MediaTek display PWM driver" 38962306a36Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 39062306a36Sopenharmony_ci depends on HAS_IOMEM 39162306a36Sopenharmony_ci help 39262306a36Sopenharmony_ci Generic PWM framework driver for MediaTek disp-pwm device. 39362306a36Sopenharmony_ci The PWM is used to control the backlight brightness for display. 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 39662306a36Sopenharmony_ci will be called pwm-mtk-disp. 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ciconfig PWM_MEDIATEK 39962306a36Sopenharmony_ci tristate "MediaTek PWM support" 40062306a36Sopenharmony_ci depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST 40162306a36Sopenharmony_ci depends on HAS_IOMEM 40262306a36Sopenharmony_ci help 40362306a36Sopenharmony_ci Generic PWM framework driver for Mediatek ARM SoC. 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 40662306a36Sopenharmony_ci will be called pwm-mediatek. 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ciconfig PWM_MICROCHIP_CORE 40962306a36Sopenharmony_ci tristate "Microchip corePWM PWM support" 41062306a36Sopenharmony_ci depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST 41162306a36Sopenharmony_ci depends on HAS_IOMEM && OF 41262306a36Sopenharmony_ci help 41362306a36Sopenharmony_ci PWM driver for Microchip FPGA soft IP core. 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 41662306a36Sopenharmony_ci will be called pwm-microchip-core. 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ciconfig PWM_MXS 41962306a36Sopenharmony_ci tristate "Freescale MXS PWM support" 42062306a36Sopenharmony_ci depends on ARCH_MXS || COMPILE_TEST 42162306a36Sopenharmony_ci depends on HAS_IOMEM && OF 42262306a36Sopenharmony_ci select STMP_DEVICE 42362306a36Sopenharmony_ci help 42462306a36Sopenharmony_ci Generic PWM framework driver for Freescale MXS. 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 42762306a36Sopenharmony_ci will be called pwm-mxs. 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ciconfig PWM_NTXEC 43062306a36Sopenharmony_ci tristate "Netronix embedded controller PWM support" 43162306a36Sopenharmony_ci depends on MFD_NTXEC 43262306a36Sopenharmony_ci help 43362306a36Sopenharmony_ci Say yes here if you want to support the PWM output of the embedded 43462306a36Sopenharmony_ci controller found in certain e-book readers designed by the original 43562306a36Sopenharmony_ci design manufacturer Netronix. 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ciconfig PWM_OMAP_DMTIMER 43862306a36Sopenharmony_ci tristate "OMAP Dual-Mode Timer PWM support" 43962306a36Sopenharmony_ci depends on OF 44062306a36Sopenharmony_ci depends on OMAP_DM_TIMER || COMPILE_TEST 44162306a36Sopenharmony_ci help 44262306a36Sopenharmony_ci Generic PWM framework driver for OMAP Dual-Mode Timer PWM output 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 44562306a36Sopenharmony_ci will be called pwm-omap-dmtimer 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ciconfig PWM_PCA9685 44862306a36Sopenharmony_ci tristate "NXP PCA9685 PWM driver" 44962306a36Sopenharmony_ci depends on I2C 45062306a36Sopenharmony_ci select REGMAP_I2C 45162306a36Sopenharmony_ci help 45262306a36Sopenharmony_ci Generic PWM framework driver for NXP PCA9685 LED controller. 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 45562306a36Sopenharmony_ci will be called pwm-pca9685. 45662306a36Sopenharmony_ci 45762306a36Sopenharmony_ciconfig PWM_PXA 45862306a36Sopenharmony_ci tristate "PXA PWM support" 45962306a36Sopenharmony_ci depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 46062306a36Sopenharmony_ci depends on HAS_IOMEM 46162306a36Sopenharmony_ci help 46262306a36Sopenharmony_ci Generic PWM framework driver for PXA. 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 46562306a36Sopenharmony_ci will be called pwm-pxa. 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_ciconfig PWM_RASPBERRYPI_POE 46862306a36Sopenharmony_ci tristate "Raspberry Pi Firwmware PoE Hat PWM support" 46962306a36Sopenharmony_ci # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only 47062306a36Sopenharmony_ci # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. 47162306a36Sopenharmony_ci depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 47262306a36Sopenharmony_ci help 47362306a36Sopenharmony_ci Enable Raspberry Pi firmware controller PWM bus used to control the 47462306a36Sopenharmony_ci official RPI PoE hat 47562306a36Sopenharmony_ci 47662306a36Sopenharmony_ciconfig PWM_RCAR 47762306a36Sopenharmony_ci tristate "Renesas R-Car PWM support" 47862306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 47962306a36Sopenharmony_ci depends on HAS_IOMEM 48062306a36Sopenharmony_ci help 48162306a36Sopenharmony_ci This driver exposes the PWM Timer controller found in Renesas 48262306a36Sopenharmony_ci R-Car chips through the PWM API. 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 48562306a36Sopenharmony_ci will be called pwm-rcar. 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ciconfig PWM_RENESAS_TPU 48862306a36Sopenharmony_ci tristate "Renesas TPU PWM support" 48962306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 49062306a36Sopenharmony_ci depends on HAS_IOMEM 49162306a36Sopenharmony_ci help 49262306a36Sopenharmony_ci This driver exposes the Timer Pulse Unit (TPU) PWM controller found 49362306a36Sopenharmony_ci in Renesas chips through the PWM API. 49462306a36Sopenharmony_ci 49562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 49662306a36Sopenharmony_ci will be called pwm-renesas-tpu. 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ciconfig PWM_ROCKCHIP 49962306a36Sopenharmony_ci tristate "Rockchip PWM support" 50062306a36Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 50162306a36Sopenharmony_ci depends on HAS_IOMEM 50262306a36Sopenharmony_ci help 50362306a36Sopenharmony_ci Generic PWM framework driver for the PWM controller found on 50462306a36Sopenharmony_ci Rockchip SoCs. 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ciconfig PWM_RZ_MTU3 50762306a36Sopenharmony_ci tristate "Renesas RZ/G2L MTU3a PWM Timer support" 50862306a36Sopenharmony_ci depends on RZ_MTU3 50962306a36Sopenharmony_ci depends on HAS_IOMEM 51062306a36Sopenharmony_ci help 51162306a36Sopenharmony_ci This driver exposes the MTU3a PWM Timer controller found in Renesas 51262306a36Sopenharmony_ci RZ/G2L like chips through the PWM API. 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 51562306a36Sopenharmony_ci will be called pwm-rz-mtu3. 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ciconfig PWM_SAMSUNG 51862306a36Sopenharmony_ci tristate "Samsung PWM support" 51962306a36Sopenharmony_ci depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 52062306a36Sopenharmony_ci depends on HAS_IOMEM 52162306a36Sopenharmony_ci help 52262306a36Sopenharmony_ci Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210 52362306a36Sopenharmony_ci and Exynos SoCs. 52462306a36Sopenharmony_ci Choose Y here only if you build for such Samsung SoC. 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 52762306a36Sopenharmony_ci will be called pwm-samsung. 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ciconfig PWM_SIFIVE 53062306a36Sopenharmony_ci tristate "SiFive PWM support" 53162306a36Sopenharmony_ci depends on OF 53262306a36Sopenharmony_ci depends on COMMON_CLK && HAS_IOMEM 53362306a36Sopenharmony_ci depends on RISCV || COMPILE_TEST 53462306a36Sopenharmony_ci help 53562306a36Sopenharmony_ci Generic PWM framework driver for SiFive SoCs. 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 53862306a36Sopenharmony_ci will be called pwm-sifive. 53962306a36Sopenharmony_ci 54062306a36Sopenharmony_ciconfig PWM_SL28CPLD 54162306a36Sopenharmony_ci tristate "Kontron sl28cpld PWM support" 54262306a36Sopenharmony_ci depends on MFD_SL28CPLD || COMPILE_TEST 54362306a36Sopenharmony_ci help 54462306a36Sopenharmony_ci Generic PWM framework driver for board management controller 54562306a36Sopenharmony_ci found on the Kontron sl28 CPLD. 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 54862306a36Sopenharmony_ci will be called pwm-sl28cpld. 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ciconfig PWM_SPEAR 55162306a36Sopenharmony_ci tristate "STMicroelectronics SPEAr PWM support" 55262306a36Sopenharmony_ci depends on PLAT_SPEAR || COMPILE_TEST 55362306a36Sopenharmony_ci depends on HAS_IOMEM && OF 55462306a36Sopenharmony_ci help 55562306a36Sopenharmony_ci Generic PWM framework driver for the PWM controller on ST 55662306a36Sopenharmony_ci SPEAr SoCs. 55762306a36Sopenharmony_ci 55862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 55962306a36Sopenharmony_ci will be called pwm-spear. 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ciconfig PWM_SPRD 56262306a36Sopenharmony_ci tristate "Spreadtrum PWM support" 56362306a36Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 56462306a36Sopenharmony_ci depends on HAS_IOMEM 56562306a36Sopenharmony_ci help 56662306a36Sopenharmony_ci Generic PWM framework driver for the PWM controller on 56762306a36Sopenharmony_ci Spreadtrum SoCs. 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 57062306a36Sopenharmony_ci will be called pwm-sprd. 57162306a36Sopenharmony_ci 57262306a36Sopenharmony_ciconfig PWM_STI 57362306a36Sopenharmony_ci tristate "STiH4xx PWM support" 57462306a36Sopenharmony_ci depends on ARCH_STI || COMPILE_TEST 57562306a36Sopenharmony_ci depends on HAS_IOMEM && OF 57662306a36Sopenharmony_ci help 57762306a36Sopenharmony_ci Generic PWM framework driver for STiH4xx SoCs. 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 58062306a36Sopenharmony_ci will be called pwm-sti. 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ciconfig PWM_STM32 58362306a36Sopenharmony_ci tristate "STMicroelectronics STM32 PWM" 58462306a36Sopenharmony_ci depends on MFD_STM32_TIMERS || COMPILE_TEST 58562306a36Sopenharmony_ci help 58662306a36Sopenharmony_ci Generic PWM framework driver for STM32 SoCs. 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 58962306a36Sopenharmony_ci will be called pwm-stm32. 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ciconfig PWM_STM32_LP 59262306a36Sopenharmony_ci tristate "STMicroelectronics STM32 PWM LP" 59362306a36Sopenharmony_ci depends on MFD_STM32_LPTIMER || COMPILE_TEST 59462306a36Sopenharmony_ci help 59562306a36Sopenharmony_ci Generic PWM framework driver for STMicroelectronics STM32 SoCs 59662306a36Sopenharmony_ci with Low-Power Timer (LPTIM). 59762306a36Sopenharmony_ci 59862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 59962306a36Sopenharmony_ci will be called pwm-stm32-lp. 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ciconfig PWM_STMPE 60262306a36Sopenharmony_ci bool "STMPE expander PWM export" 60362306a36Sopenharmony_ci depends on MFD_STMPE 60462306a36Sopenharmony_ci help 60562306a36Sopenharmony_ci This enables support for the PWMs found in the STMPE I/O 60662306a36Sopenharmony_ci expanders. 60762306a36Sopenharmony_ci 60862306a36Sopenharmony_ciconfig PWM_SUN4I 60962306a36Sopenharmony_ci tristate "Allwinner PWM support" 61062306a36Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 61162306a36Sopenharmony_ci depends on HAS_IOMEM && COMMON_CLK 61262306a36Sopenharmony_ci help 61362306a36Sopenharmony_ci Generic PWM framework driver for Allwinner SoCs. 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 61662306a36Sopenharmony_ci will be called pwm-sun4i. 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ciconfig PWM_SUNPLUS 61962306a36Sopenharmony_ci tristate "Sunplus PWM support" 62062306a36Sopenharmony_ci depends on ARCH_SUNPLUS || COMPILE_TEST 62162306a36Sopenharmony_ci depends on HAS_IOMEM && OF 62262306a36Sopenharmony_ci help 62362306a36Sopenharmony_ci Generic PWM framework driver for the PWM controller on 62462306a36Sopenharmony_ci Sunplus SoCs. 62562306a36Sopenharmony_ci 62662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 62762306a36Sopenharmony_ci will be called pwm-sunplus. 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ciconfig PWM_TEGRA 63062306a36Sopenharmony_ci tristate "NVIDIA Tegra PWM support" 63162306a36Sopenharmony_ci depends on ARCH_TEGRA || COMPILE_TEST 63262306a36Sopenharmony_ci depends on HAS_IOMEM 63362306a36Sopenharmony_ci help 63462306a36Sopenharmony_ci Generic PWM framework driver for the PWFM controller found on NVIDIA 63562306a36Sopenharmony_ci Tegra SoCs. 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 63862306a36Sopenharmony_ci will be called pwm-tegra. 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ciconfig PWM_TIECAP 64162306a36Sopenharmony_ci tristate "ECAP PWM support" 64262306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 64362306a36Sopenharmony_ci depends on HAS_IOMEM 64462306a36Sopenharmony_ci help 64562306a36Sopenharmony_ci PWM driver support for the ECAP APWM controller found on TI SOCs 64662306a36Sopenharmony_ci 64762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 64862306a36Sopenharmony_ci will be called pwm-tiecap. 64962306a36Sopenharmony_ci 65062306a36Sopenharmony_ciconfig PWM_TIEHRPWM 65162306a36Sopenharmony_ci tristate "EHRPWM PWM support" 65262306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST 65362306a36Sopenharmony_ci depends on HAS_IOMEM 65462306a36Sopenharmony_ci help 65562306a36Sopenharmony_ci PWM driver support for the EHRPWM controller found on TI SOCs 65662306a36Sopenharmony_ci 65762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 65862306a36Sopenharmony_ci will be called pwm-tiehrpwm. 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ciconfig PWM_TWL 66162306a36Sopenharmony_ci tristate "TWL4030/6030 PWM support" 66262306a36Sopenharmony_ci depends on TWL4030_CORE 66362306a36Sopenharmony_ci help 66462306a36Sopenharmony_ci Generic PWM framework driver for TWL4030/6030. 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 66762306a36Sopenharmony_ci will be called pwm-twl. 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_ciconfig PWM_TWL_LED 67062306a36Sopenharmony_ci tristate "TWL4030/6030 PWM support for LED drivers" 67162306a36Sopenharmony_ci depends on TWL4030_CORE 67262306a36Sopenharmony_ci help 67362306a36Sopenharmony_ci Generic PWM framework driver for TWL4030/6030 LED terminals. 67462306a36Sopenharmony_ci 67562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 67662306a36Sopenharmony_ci will be called pwm-twl-led. 67762306a36Sopenharmony_ci 67862306a36Sopenharmony_ciconfig PWM_VISCONTI 67962306a36Sopenharmony_ci tristate "Toshiba Visconti PWM support" 68062306a36Sopenharmony_ci depends on ARCH_VISCONTI || COMPILE_TEST 68162306a36Sopenharmony_ci help 68262306a36Sopenharmony_ci PWM Subsystem driver support for Toshiba Visconti SoCs. 68362306a36Sopenharmony_ci 68462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 68562306a36Sopenharmony_ci will be called pwm-visconti. 68662306a36Sopenharmony_ci 68762306a36Sopenharmony_ciconfig PWM_VT8500 68862306a36Sopenharmony_ci tristate "vt8500 PWM support" 68962306a36Sopenharmony_ci depends on ARCH_VT8500 || COMPILE_TEST 69062306a36Sopenharmony_ci depends on HAS_IOMEM 69162306a36Sopenharmony_ci help 69262306a36Sopenharmony_ci Generic PWM framework driver for vt8500. 69362306a36Sopenharmony_ci 69462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 69562306a36Sopenharmony_ci will be called pwm-vt8500. 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_ciconfig PWM_XILINX 69862306a36Sopenharmony_ci tristate "Xilinx AXI Timer PWM support" 69962306a36Sopenharmony_ci depends on OF_ADDRESS 70062306a36Sopenharmony_ci depends on COMMON_CLK 70162306a36Sopenharmony_ci select REGMAP_MMIO 70262306a36Sopenharmony_ci help 70362306a36Sopenharmony_ci PWM driver for Xilinx LogiCORE IP AXI timers. This timer is 70462306a36Sopenharmony_ci typically a soft core which may be present in Xilinx FPGAs. 70562306a36Sopenharmony_ci This device may also be present in Microblaze soft processors. 70662306a36Sopenharmony_ci If you don't have this IP in your design, choose N. 70762306a36Sopenharmony_ci 70862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 70962306a36Sopenharmony_ci will be called pwm-xilinx. 71062306a36Sopenharmony_ci 71162306a36Sopenharmony_ciendif 712