diff options
author | Philip, Avinash <avinashphilip@ti.com> | 2012-11-27 03:48:06 -0500 |
---|---|---|
committer | Thierry Reding <thierry.reding@avionic-design.de> | 2012-11-28 09:14:41 -0500 |
commit | af0ba001d208e117b5f4e4f504672b42a664a7f7 (patch) | |
tree | 448f579454bea86b34d3e980c75668e13a43a8fd /drivers/pwm/Kconfig | |
parent | 83af24027b3df1af5c5a9aa9adcdcfeb3429d3be (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/Kconfig | 11 |
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 | |||
136 | config PWM_TIECAP | 136 | config 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 | |||
146 | config PWM_TIEHRPWM | 147 | config 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 | ||
158 | config 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 | |||
156 | config PWM_TWL6030 | 167 | config PWM_TWL6030 |
157 | tristate "TWL6030 PWM support" | 168 | tristate "TWL6030 PWM support" |
158 | depends on TWL4030_CORE | 169 | depends on TWL4030_CORE |