mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	 99b82abb0a
			
		
	
	
		99b82abb0a
		
	
	
	
	
		
			
			The Timer Pulse Unit (TPU) is a 4-channels 16-bit timer used to generate waveforms. This driver exposes PWM functions through the PWM API for other drivers to use. The code is loosely based on the leds-renesas-tpu driver by Magnus Damm and the TPU PWM driver shipped in the Armadillo EVA 800 kernel sources. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Axel Lin <axel.lin@ingics.com> Tested-by: Simon Horman <horms@verge.net.au> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
		
			
				
	
	
		
			227 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			227 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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_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
 |