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>
Šī revīzija ir iekļauta:
Boris BREZILLON
2013-01-08 16:36:42 +01:00
revīziju iesūtīja Thierry Reding
vecāks d1c3ed669a
revīzija 9421bade07
4 mainīti faili ar 476 papildinājumiem un 0 dzēšanām

Parādīt failu

@@ -37,6 +37,18 @@ config PWM_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