pwm: Add TI PWM subsystem driver
authorPhilip, Avinash <avinashphilip@ti.com>
Tue, 27 Nov 2012 08:48:06 +0000 (14:18 +0530)
committerThierry Reding <thierry.reding@avionic-design.de>
Wed, 28 Nov 2012 14:14:41 +0000 (15:14 +0100)
commitaf0ba001d208e117b5f4e4f504672b42a664a7f7
tree448f579454bea86b34d3e980c75668e13a43a8fd
parent83af24027b3df1af5c5a9aa9adcdcfeb3429d3be
pwm: Add TI PWM subsystem driver

In some platforms (like am33xx), PWM sub modules (ECAP, EHRPWM, EQEP)
are integrated to PWM subsystem. These PWM submodules has resources
shared and only one register bit-field is provided to control
module/clock enable/disable, makes it difficult to handle common
resources from independent PWMSS submodule drivers.

So the solution here implemented in this patch is, to create driver for
PWMSS and take the role of parent driver for PWM submodules. PWMSS
parent driver enumerates all the child nodes under PWMSS module. Also
symbol "pwmss_submodule_state_change" exported to enable clock gating
for individual PWMSS submodules, and submodule drivers has to enable
clock gating from their drivers.

As this is only supported during DT boot, the parent/child relationship
is created and populated in DT execution flow. The only required change
is inside DTS file, making EHRPWM & ECAP as a child to PWMSS node.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Documentation/devicetree/bindings/pwm/pwm-tipwmss.txt [new file with mode: 0644]
drivers/pwm/Kconfig
drivers/pwm/Makefile
drivers/pwm/pwm-tipwmss.c [new file with mode: 0644]
drivers/pwm/pwm-tipwmss.h [new file with mode: 0644]