menuconfig PWM bool "Pulse-Width Modulation (PWM) Support" help Generic Pulse-Width Modulation (PWM) support. In Pulse-Width Modulation, a variation of the width of pulses in a rectangular pulse signal is used as a means to alter the average power of the signal. Applications include efficient power delivery and voltage regulation. In computer systems, PWMs are commonly used to control fans or the brightness of display backlights. This framework provides a generic interface to PWM devices within the Linux kernel. On the driver side it provides an API to register and unregister a PWM chip, an abstraction of a PWM controller, that supports one or more PWM devices. Client drivers can request PWM devices and use the generic framework to configure as well as enable and disable them. This generic framework replaces the legacy PWM framework which allows only a single driver implementing the required API. Not all legacy implementations have been ported to the framework yet. The framework provides an API that is backward compatible with the legacy framework so that existing client drivers continue to work as expected. If unsure, say no. if PWM config PWM_SYSFS bool default y if SYSFS config PWM_AB8500 tristate "AB8500 PWM support" depends on AB8500_CORE && ARCH_U8500 help Generic PWM framework driver for Analog Baseband AB8500. To compile this driver as a module, choose M here: the module will be called pwm-ab8500. config PWM_ATMEL tristate "Atmel PWM support" depends on ARCH_AT91 || AVR32 help Generic PWM framework driver for Atmel SoC. To compile this driver as a module, choose M here: the module will be called pwm-atmel. config PWM_ATMEL_HLCDC_PWM tristate "Atmel HLCDC PWM support" depends on MFD_ATMEL_HLCDC depends on HAVE_CLK help Generic PWM framework driver for the PWM output of the HLCDC (Atmel High-end LCD Controller). This PWM output is mainly used to control the LCD backlight. To compile this driver as a module, choose M here: the module will be called pwm-atmel-hlcdc. config PWM_ATMEL_TCB tristate "Atmel TC Block PWM support" depends on ATMEL_TCLIB && OF help Generic PWM framework driver for Atmel Timer Counter Block. A Timer Counter Block provides 6 PWM devices grouped by 2. Devices in a given group must have the same period. To compile this driver as a module, choose M here: the module will be called pwm-atmel-tcb. config PWM_BCM_KONA tristate "Kona PWM support" depends on ARCH_BCM_MOBILE help Generic PWM framework driver for Broadcom Kona PWM block. To compile this driver as a module, choose M here: the module will be called pwm-bcm-kona. config PWM_BCM2835 tristate "BCM2835 PWM support" depends on ARCH_BCM2835 help PWM framework driver for BCM2835 controller (Raspberry Pi) To compile this driver as a module, choose M here: the module will be called pwm-bcm2835. config PWM_BERLIN tristate "Marvell Berlin PWM support" depends on ARCH_BERLIN help PWM framework driver for Marvell Berlin SoCs. To compile this driver as a module, choose M here: the module will be called pwm-berlin. config PWM_BFIN tristate "Blackfin PWM support" depends on BFIN_GPTIMERS help Generic PWM framework driver for Blackfin. To compile this driver as a module, choose M here: the module will be called pwm-bfin. config PWM_BRCMSTB tristate "Broadcom STB PWM support" depends on ARCH_BRCMSTB || BMIPS_GENERIC help Generic PWM framework driver for the Broadcom Set-top-Box SoCs (BCM7xxx). To compile this driver as a module, choose M Here: the module will be called pwm-brcmstb.c. config PWM_CLPS711X tristate "CLPS711X PWM support" depends on ARCH_CLPS711X || COMPILE_TEST depends on HAS_IOMEM help Generic PWM framework driver for Cirrus Logic CLPS711X. To compile this driver as a module, choose M here: the module will be called pwm-clps711x. config PWM_CRC bool "Intel Crystalcove (CRC) PWM support" depends on X86 && INTEL_SOC_PMIC help Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM control. config PWM_EP93XX tristate "Cirrus Logic EP93xx PWM support" depends on ARCH_EP93XX help Generic PWM framework driver for Cirrus Logic EP93xx. To compile this driver as a module, choose M here: the module will be called pwm-ep93xx. config PWM_FSL_FTM tristate "Freescale FlexTimer Module (FTM) PWM support" depends on OF select REGMAP_MMIO help Generic FTM PWM framework driver for Freescale VF610 and Layerscape LS-1 SoCs. To compile this driver as a module, choose M here: the module will be called pwm-fsl-ftm. config PWM_IMG tristate "Imagination Technologies PWM driver" depends on HAS_IOMEM depends on MFD_SYSCON depends on COMMON_CLK depends on MIPS || COMPILE_TEST help Generic PWM framework driver for Imagination Technologies PWM block which supports 4 channels. To compile this driver as a module, choose M here: the module will be called pwm-img config PWM_IMX tristate "i.MX PWM support" depends on ARCH_MXC help Generic PWM framework driver for i.MX. To compile this driver as a module, choose M here: the module will be called pwm-imx. config PWM_IPQ4019 tristate "IPQ4019 PWM support" depends on ARCH_QCOM help Generic PWM framework driver for IPQ4019 PWM block which supports 4 pwm channels. Each of the these channels can be configured independent of each other. config PWM_JZ4740 tristate "Ingenic JZ4740 PWM support" depends on MACH_JZ4740 help Generic PWM framework driver for Ingenic JZ4740 based machines. To compile this driver as a module, choose M here: the module will be called pwm-jz4740. config PWM_LP3943 tristate "TI/National Semiconductor LP3943 PWM support" depends on MFD_LP3943 help Generic PWM framework driver for LP3943 which supports two PWM channels. To compile this driver as a module, choose M here: the module will be called pwm-lp3943. config PWM_LPC18XX_SCT tristate "LPC18xx/43xx PWM/SCT support" depends on ARCH_LPC18XX help Generic PWM framework driver for NXP LPC18xx PWM/SCT which supports 16 channels. A maximum of 15 channels can be requested simultaneously and must have the same period. To compile this driver as a module, choose M here: the module will be called pwm-lpc18xx-sct. config PWM_LPC32XX tristate "LPC32XX PWM support" depends on ARCH_LPC32XX help Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two PWM controllers. To compile this driver as a module, choose M here: the module will be called pwm-lpc32xx. config PWM_LPSS tristate "Intel LPSS PWM support" depends on X86 help Generic PWM framework driver for Intel Low Power Subsystem PWM controller. To compile this driver as a module, choose M here: the module will be called pwm-lpss. config PWM_LPSS_PCI tristate "Intel LPSS PWM PCI driver" depends on PWM_LPSS && PCI help The PCI driver for Intel Low Power Subsystem PWM controller. To compile this driver as a module, choose M here: the module will be called pwm-lpss-pci. config PWM_LPSS_PLATFORM tristate "Intel LPSS PWM platform driver" depends on PWM_LPSS && ACPI help The platform driver for Intel Low Power Subsystem PWM controller. To compile this driver as a module, choose M here: the module will be called pwm-lpss-platform. config PWM_MTK_DISP tristate "MediaTek display PWM driver" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help Generic PWM framework driver for MediaTek disp-pwm device. The PWM is used to control the backlight brightness for display. To compile this driver as a module, choose M here: the module will be called pwm-mtk-disp. config PWM_MXS tristate "Freescale MXS PWM support" depends on ARCH_MXS && OF select STMP_DEVICE help Generic PWM framework driver for Freescale MXS. To compile this driver as a module, choose M here: the module will be called pwm-mxs. config PWM_PCA9685 tristate "NXP PCA9685 PWM driver" depends on I2C select REGMAP_I2C help Generic PWM framework driver for NXP PCA9685 LED controller. To compile this driver as a module, choose M here: the module will be called pwm-pca9685. config PWM_PUV3 tristate "PKUnity NetBook-0916 PWM support" depends on ARCH_PUV3 help Generic PWM framework driver for PKUnity NetBook-0916. To compile this driver as a module, choose M here: the module will be called pwm-puv3. config PWM_PXA tristate "PXA PWM support" depends on ARCH_PXA help Generic PWM framework driver for PXA. To compile this driver as a module, choose M here: the module will be called pwm-pxa. config PWM_RCAR tristate "Renesas R-Car PWM support" depends on ARCH_RCAR_GEN1 || ARCH_RCAR_GEN2 || COMPILE_TEST depends on HAS_IOMEM help This driver exposes the PWM Timer controller found in Renesas R-Car chips through the PWM API. To compile this driver as a module, choose M here: the module will be called pwm-rcar. config PWM_RENESAS_TPU tristate "Renesas TPU PWM support" depends on ARCH_SHMOBILE || COMPILE_TEST depends on HAS_IOMEM help This driver exposes the Timer Pulse Unit (TPU) PWM controller found in Renesas chips through the PWM API. To compile this driver as a module, choose M here: the module will be called pwm-renesas-tpu. config PWM_ROCKCHIP tristate "Rockchip PWM support" depends on ARCH_ROCKCHIP help Generic PWM framework driver for the PWM controller found on Rockchip SoCs. config PWM_SAMSUNG tristate "Samsung PWM support" depends on PLAT_SAMSUNG || ARCH_EXYNOS help Generic PWM framework driver for Samsung. To compile this driver as a module, choose M here: the module will be called pwm-samsung. config PWM_SPEAR tristate "STMicroelectronics SPEAr PWM support" depends on PLAT_SPEAR depends on OF help Generic PWM framework driver for the PWM controller on ST SPEAr SoCs. To compile this driver as a module, choose M here: the module will be called pwm-spear. config PWM_STI tristate "STiH4xx PWM support" depends on ARCH_STI depends on OF help Generic PWM framework driver for STiH4xx SoCs. To compile this driver as a module, choose M here: the module will be called pwm-sti. config PWM_SUN4I tristate "Allwinner PWM support" depends on ARCH_SUNXI || COMPILE_TEST depends on HAS_IOMEM && COMMON_CLK help Generic PWM framework driver for Allwinner SoCs. To compile this driver as a module, choose M here: the module will be called pwm-sun4i. config PWM_TEGRA tristate "NVIDIA Tegra PWM support" depends on ARCH_TEGRA help Generic PWM framework driver for the PWFM controller found on NVIDIA Tegra SoCs. To compile this driver as a module, choose M here: the module will be called pwm-tegra. config PWM_TIECAP tristate "ECAP PWM support" depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX help PWM driver support for the ECAP APWM controller found on AM33XX TI SOC To compile this driver as a module, choose M here: the module will be called pwm-tiecap. config PWM_TIEHRPWM tristate "EHRPWM PWM support" depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX help PWM driver support for the EHRPWM controller found on AM33XX TI SOC To compile this driver as a module, choose M here: the module will be called pwm-tiehrpwm. config PWM_TIPWMSS bool default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM) help PWM Subsystem driver support for AM33xx SOC. PWM submodules require PWM config space access from submodule drivers and require common parent driver support. config PWM_TWL tristate "TWL4030/6030 PWM support" depends on TWL4030_CORE help Generic PWM framework driver for TWL4030/6030. To compile this driver as a module, choose M here: the module will be called pwm-twl. config PWM_TWL_LED tristate "TWL4030/6030 PWM support for LED drivers" depends on TWL4030_CORE help Generic PWM framework driver for TWL4030/6030 LED terminals. To compile this driver as a module, choose M here: the module will be called pwm-twl-led. config PWM_VT8500 tristate "vt8500 PWM support" depends on ARCH_VT8500 help Generic PWM framework driver for vt8500. To compile this driver as a module, choose M here: the module will be called pwm-vt8500. endif