aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/Kconfig
diff options
context:
space:
mode:
authorPhilip, Avinash <avinashphilip@ti.com>2012-11-27 03:48:06 -0500
committerThierry Reding <thierry.reding@avionic-design.de>2012-11-28 09:14:41 -0500
commitaf0ba001d208e117b5f4e4f504672b42a664a7f7 (patch)
tree448f579454bea86b34d3e980c75668e13a43a8fd /drivers/pwm/Kconfig
parent83af24027b3df1af5c5a9aa9adcdcfeb3429d3be (diff)
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>
Diffstat (limited to 'drivers/pwm/Kconfig')
-rw-r--r--drivers/pwm/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
index 6e556c7da81e..3dcb76d86a97 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
@@ -136,6 +136,7 @@ config PWM_TEGRA
136config PWM_TIECAP 136config PWM_TIECAP
137 tristate "ECAP PWM support" 137 tristate "ECAP PWM support"
138 depends on SOC_AM33XX 138 depends on SOC_AM33XX
139 select PWM_TIPWMSS
139 help 140 help
140 PWM driver support for the ECAP APWM controller found on AM33XX 141 PWM driver support for the ECAP APWM controller found on AM33XX
141 TI SOC 142 TI SOC
@@ -146,6 +147,7 @@ config PWM_TIECAP
146config PWM_TIEHRPWM 147config PWM_TIEHRPWM
147 tristate "EHRPWM PWM support" 148 tristate "EHRPWM PWM support"
148 depends on SOC_AM33XX 149 depends on SOC_AM33XX
150 select PWM_TIPWMSS
149 help 151 help
150 PWM driver support for the EHRPWM controller found on AM33XX 152 PWM driver support for the EHRPWM controller found on AM33XX
151 TI SOC 153 TI SOC
@@ -153,6 +155,15 @@ config PWM_TIEHRPWM
153 To compile this driver as a module, choose M here: the module 155 To compile this driver as a module, choose M here: the module
154 will be called pwm-tiehrpwm. 156 will be called pwm-tiehrpwm.
155 157
158config PWM_TIPWMSS
159 bool
160 depends on SOC_AM33XX && (PWM_TIEHRPWM || PWM_TIECAP)
161 help
162 PWM Subsystem driver support for AM33xx SOC.
163
164 PWM submodules require PWM config space access from submodule
165 drivers and require common parent driver support.
166
156config PWM_TWL6030 167config PWM_TWL6030
157 tristate "TWL6030 PWM support" 168 tristate "TWL6030 PWM support"
158 depends on TWL4030_CORE 169 depends on TWL4030_CORE