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_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_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_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_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_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_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_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_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 && 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_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
	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_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
