|  | 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_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_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_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_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 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_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_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 OF && 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_RENESAS_TPU | 
|  | tristate "Renesas TPU PWM support" | 
|  | depends on ARCH_SHMOBILE | 
|  | 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_SAMSUNG | 
|  | tristate "Samsung PWM support" | 
|  | depends on PLAT_SAMSUNG | 
|  | 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_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 SOC_AM33XX || 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 SOC_AM33XX || 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 SOC_AM33XX && (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 |