arm:omap:pwm - eCAP & ePWM driver in AM335X
authorPhilip, Avinash <avinashphilip@ti.com>
Mon, 20 Jun 2011 12:21:49 +0000 (17:51 +0530)
committerVaibhav Hiremath <hvaibhav@ti.com>
Mon, 23 Jan 2012 19:14:52 +0000 (00:44 +0530)
commit28c0fc8f6ec5d20828160ab51d6c77e30eadea70
treee9ac256ded6a8c1d09bb6a40376ff1271e2c1740
parent811c1b31b8d951864b9bd02b1636b216a6dd53ec
arm:omap:pwm - eCAP & ePWM driver in AM335X

Unline with DA850, where each PWM module has individual clock,
AM335x SOC will be having common clock for ePWM, eCAP & eQEP which comes
under PWMSS instances. Clock gating is happening at configuration space
in PWMSS.
This patch modified eCAP & ePWM driver to support AM335X SOC as follows
1. Updated the clk_get() arguments to access common functional clock in
accordance with platform device id.
2. In AM335X SOC, PWMSS has a common config space for eCAP, ePWM & eQEP.
The clock gating to individual module has done from common config
space.So each module drivers should be able to access the common
configuration space independently. This patch provides a method to
access this common configuration space across each modules
independently. This method involves remapping the common config space
only on the first module in PWMSS. All the other modules in PWMSS uses
this remapped address to access the common configuration space. Clock
gating can be controlled on this common configuration space from
respective module. Protection mechanism is provided by
semaphore. Configuratin space unmapping is happening when the last
module is removed.
3. Config file support added for AM33XX_SOC

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
arch/arm/plat-omap/include/plat/config_pwm.h [new file with mode: 0644]
drivers/pwm/Kconfig
drivers/pwm/ecap.c
drivers/pwm/ehrpwm.c
include/linux/pwm/ehrpwm.h
include/linux/pwm/pwm.h