linux-hardened/drivers/pwm/Kconfig
Boris BREZILLON 9421bade07 pwm: atmel: add Timer Counter Block PWM driver
This patch adds a PWM driver based on Atmel Timer Counter Block. The
Timer Counter Block is used in Waveform generator mode.

A Timer Counter Block provides up to 6 PWM devices grouped by 2:
* group 0 = PWM 0 and 1
* group 1 = PWM 2 and 3
* group 2 = PMW 4 and 5

PWM devices in a given group must be configured with the same period
value. If a PWM device in a group tries to change the period value and
the other device is already configured with a different value an error
will be returned.

This driver requires device tree support. The Timer Counter Block number
used to create a PWM chip is given by the tc-block field in an
"atmel,tcb-pwm" compatible node.

This patch was tested on kizbox board (at91sam9g20 SoC) with pwm-leds.

Signed-off-by: Boris BREZILLON <linux-arm@overkiz.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
2013-01-08 16:52:10 +01:00

206 lines
5.6 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_ATMEL_TCB
tristate "TC Block PWM"
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_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_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
select PWM_TIPWMSS
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
select PWM_TIPWMSS
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
depends on SOC_AM33XX && (PWM_TIEHRPWM || PWM_TIECAP)
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