2474542f64
All legacy PWM providers have now been moved to the PWM subsystem. The plan for 3.8 is to adapt all board files to provide a lookup table for PWM devices in order to get rid of the global namespace. Subsequently, users of the legacy pwm_request() and pwm_free() functions can be migrated to the new pwm_get() and pwm_put() functions. Once this has been completed, the legacy API and the compatibility code in the core can be removed. In addition to the above, these changes also add support for configuring the polarity of a PWM signal (currently only supported on ECAP and EHRPWM) and include a much needed rework of the i.MX driver. Managed functions to obtain and release a PWM device (devm_pwm_get() and devm_pwm_put()) have been added and the pwm-backlight driver has been updated to use them. If the PWM subsystem hasn't been enabled, dummy functions are provided that allow the subsystem to safely compile out. Some common checks on input parameters have been moved to the core and removed from the drivers. Finally, a small fix corrects the description of the PWM specifier's second cell in the device tree representation. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQIcBAABAgAGBQJQcV6pAAoJEN0jrNd/PrOh594P/3NHPjnTiyAZpUICX4mJeoMd 1rX685HofCyX5jlHloS1pLRXYtIPZP97We5crNR/k/RujKcHAqAFzLtG2Jj93gxm nRUwLZ4xbrAgeaZeJV8YG1naWx9R1OjrK2sv+FyHRWsn9UZus2vDMV7tB0oNWo9k DMhtF1q7gQxx4nRu8z9FFybyItQinVREODNs+Gdv6AOJ36t+mOsGPL3LKZeFsIG3 LdaB1p3t/07Job4KwGYYRjkOR7bIQ+ADnnO8Pkk0a9lxkMI8rA0uFbLwgyx7Hohh xZtm8R5il2IlHwqh52RzpShceWICxCZ3htuIXTRbVa1PSEsBzZ66W2CT7sy1jPm5 lJlHgc7abaiwijtoG76I+Lgslv5UTViBuIYHSX4dH2kF3Jgm2SgTBNzZYePI5MMT BI3xc9WnwBpxgMybJsPHfU0Ff6O/9h9ab7q5lBOHkQJittahYxzWD+FgYlalcAa+ I919iFREKNZytewLnXu+4TG0RfacQoj6D5G+SquOGmXyKYRhhJ1O6WodnRZHi/0n M6J0f6fLxpomI1RMn44VYP43OPJCDYxgXYoDLwCZQL9tSWYpdhXoDrjcIPO547w1 ZS5HTXUE4DrxeYjoeqL555vtQIooM9CuH4JwKlz5zzea8NPC8eVtmNFTTWE6wKWX ZIOOLVvw/FI0/DSjBb8H =MQ5V -----END PGP SIGNATURE----- Merge tag 'for-3.7-rc1' of git://gitorious.org/linux-pwm/linux-pwm Pull pwm changes from Thierry Reding: "All legacy PWM providers have now been moved to the PWM subsystem. The plan for 3.8 is to adapt all board files to provide a lookup table for PWM devices in order to get rid of the global namespace. Subsequently, users of the legacy pwm_request() and pwm_free() functions can be migrated to the new pwm_get() and pwm_put() functions. Once this has been completed, the legacy API and the compatibility code in the core can be removed. In addition to the above, these changes also add support for configuring the polarity of a PWM signal (currently only supported on ECAP and EHRPWM) and include a much needed rework of the i.MX driver. Managed functions to obtain and release a PWM device (devm_pwm_get() and devm_pwm_put()) have been added and the pwm-backlight driver has been updated to use them. If the PWM subsystem hasn't been enabled, dummy functions are provided that allow the subsystem to safely compile out. Some common checks on input parameters have been moved to the core and removed from the drivers. Finally, a small fix corrects the description of the PWM specifier's second cell in the device tree representation." * tag 'for-3.7-rc1' of git://gitorious.org/linux-pwm/linux-pwm: (23 commits) pwm: dt: Fix description of second PWM cell pwm: Check for negative duty-cycle and period pwm: Add Ingenic JZ4740 support MIPS: JZ4740: Export timer API pwm: Move PUV3 PWM driver to PWM framework unicore32: pwm: Use managed resource allocations unicore32: pwm: Remove unnecessary indirection unicore32: pwm: Use module_platform_driver() unicore32: pwm: Properly remap memory-mapped registers pwm-backlight: Use devm_pwm_get() instead of pwm_get() pwm: Move AB8500 PWM driver to PWM framework pwm: Fix compilation error when CONFIG_PWM is not defined pwm: i.MX: fix clock lookup pwm: i.MX: use per clock unconditionally pwm: i.MX: add devicetree support pwm: i.MX: Use module_platform_driver pwm: i.MX: add functions to enable/disable pwm. pwm: i.MX: remove unnecessary if in pwm_[en|dis]able pwm: i.MX: factor out SoC specific functions pwm: pwm-tiehrpwm: Add support for configuring polarity of PWM ...
163 lines
4.5 KiB
Text
163 lines
4.5 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_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_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_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_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_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
|
|
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
|
|
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_TWL6030
|
|
tristate "TWL6030 PWM support"
|
|
depends on TWL4030_CORE
|
|
help
|
|
Generic PWM framework driver for TWL6030.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called pwm-twl6030.
|
|
|
|
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
|