|  | 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 | 
|  | 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_IPROC | 
|  | tristate "iProc PWM support" | 
|  | depends on ARCH_BCM_IPROC || COMPILE_TEST | 
|  | depends on COMMON_CLK | 
|  | default ARCH_BCM_IPROC | 
|  | help | 
|  | Generic PWM framework driver for Broadcom iProc PWM block. This | 
|  | block is used in Broadcom iProc SoC's. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-bcm-iproc. | 
|  |  | 
|  | 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_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_CROS_EC | 
|  | tristate "ChromeOS EC PWM driver" | 
|  | depends on MFD_CROS_EC | 
|  | help | 
|  | PWM driver for exposing a PWM attached to the ChromeOS Embedded | 
|  | Controller. | 
|  |  | 
|  | 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 HAS_IOMEM | 
|  | 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_HIBVT | 
|  | tristate "HiSilicon BVT PWM support" | 
|  | depends on ARCH_HISI || COMPILE_TEST | 
|  | help | 
|  | Generic PWM framework driver for HiSilicon BVT SoCs. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-hibvt. | 
|  |  | 
|  | 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_JZ4740 | 
|  | tristate "Ingenic JZ47xx PWM support" | 
|  | depends on MACH_INGENIC | 
|  | help | 
|  | Generic PWM framework driver for Ingenic JZ47xx 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 | 
|  |  | 
|  | config PWM_LPSS_PCI | 
|  | tristate "Intel LPSS PWM PCI driver" | 
|  | depends on X86 && PCI | 
|  | select PWM_LPSS | 
|  | 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 X86 && ACPI | 
|  | select PWM_LPSS | 
|  | 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_MESON | 
|  | tristate "Amlogic Meson PWM driver" | 
|  | depends on ARCH_MESON | 
|  | help | 
|  | The platform driver for Amlogic Meson PWM controller. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-meson. | 
|  |  | 
|  | 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_MEDIATEK | 
|  | tristate "MediaTek PWM support" | 
|  | depends on ARCH_MEDIATEK || COMPILE_TEST | 
|  | help | 
|  | Generic PWM framework driver for Mediatek ARM SoC. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-mediatek. | 
|  |  | 
|  | 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_OMAP_DMTIMER | 
|  | tristate "OMAP Dual-Mode Timer PWM support" | 
|  | depends on OF && ARCH_OMAP && OMAP_DM_TIMER | 
|  | help | 
|  | Generic PWM framework driver for OMAP Dual-Mode Timer PWM output | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-omap-dmtimer | 
|  |  | 
|  | 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_RENESAS || 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_RENESAS || 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_STM32 | 
|  | tristate "STMicroelectronics STM32 PWM" | 
|  | depends on MFD_STM32_TIMERS | 
|  | help | 
|  | Generic PWM framework driver for STM32 SoCs. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-stm32. | 
|  |  | 
|  | config PWM_STM32_LP | 
|  | tristate "STMicroelectronics STM32 PWM LP" | 
|  | depends on MFD_STM32_LPTIMER || COMPILE_TEST | 
|  | help | 
|  | Generic PWM framework driver for STMicroelectronics STM32 SoCs | 
|  | with Low-Power Timer (LPTIM). | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-stm32-lp. | 
|  |  | 
|  | config PWM_STMPE | 
|  | bool "STMPE expander PWM export" | 
|  | depends on MFD_STMPE | 
|  | help | 
|  | This enables support for the PWMs found in the STMPE I/O | 
|  | expanders. | 
|  |  | 
|  | 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 || ARCH_KEYSTONE | 
|  | 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. | 
|  |  | 
|  | config PWM_ZX | 
|  | tristate "ZTE ZX PWM support" | 
|  | depends on ARCH_ZX | 
|  | help | 
|  | Generic PWM framework driver for ZTE ZX family SoCs. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called pwm-zx. | 
|  |  | 
|  | endif |