aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/cminst44xx.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2014-10-27 11:39:23 -0400
committerTony Lindgren <tony@atomide.com>2014-10-27 11:39:23 -0400
commita8ae5afa5cb820afa251b9acfe3f0a938b6a6c0d (patch)
tree21d80ee4768a6ea8e9810d252a0b7e5167dc0362 /arch/arm/mach-omap2/cminst44xx.c
parent021b6ff05c4a17cb20d71c05e251ea7f80b1c516 (diff)
ARM: OMAP4+/AM33xx: CM: add common API for cm_wait_module_idle
Adds a generic CM driver API for waiting module to enter idle / standby. The SoC specific implementations are registered through cm_ll_data. Signed-off-by: Tero Kristo <t-kristo@ti.com> Acked-by: Paul Walmsley <paul@pwsan.com> Tested-by: Nishanth Menon <nm@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/cminst44xx.c')
-rw-r--r--arch/arm/mach-omap2/cminst44xx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c
index c4f42de7f718..7ae1cc22eb5c 100644
--- a/arch/arm/mach-omap2/cminst44xx.c
+++ b/arch/arm/mach-omap2/cminst44xx.c
@@ -293,12 +293,14 @@ static int omap4_cminst_wait_module_ready(u8 part, s16 inst, u16 clkctrl_offs,
293 * @part: PRCM partition ID that the CM_CLKCTRL register exists in 293 * @part: PRCM partition ID that the CM_CLKCTRL register exists in
294 * @inst: CM instance register offset (*_INST macro) 294 * @inst: CM instance register offset (*_INST macro)
295 * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro) 295 * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
296 * @bit_shift: Bit shift for the register, ignored for OMAP4+
296 * 297 *
297 * Wait for the module IDLEST to be disabled. Some PRCM transition, 298 * Wait for the module IDLEST to be disabled. Some PRCM transition,
298 * like reset assertion or parent clock de-activation must wait the 299 * like reset assertion or parent clock de-activation must wait the
299 * module to be fully disabled. 300 * module to be fully disabled.
300 */ 301 */
301int omap4_cminst_wait_module_idle(u8 part, u16 inst, u16 clkctrl_offs) 302static int omap4_cminst_wait_module_idle(u8 part, s16 inst, u16 clkctrl_offs,
303 u8 bit_shift)
302{ 304{
303 int i = 0; 305 int i = 0;
304 306
@@ -510,6 +512,7 @@ struct clkdm_ops am43xx_clkdm_operations = {
510 512
511static struct cm_ll_data omap4xxx_cm_ll_data = { 513static struct cm_ll_data omap4xxx_cm_ll_data = {
512 .wait_module_ready = &omap4_cminst_wait_module_ready, 514 .wait_module_ready = &omap4_cminst_wait_module_ready,
515 .wait_module_idle = &omap4_cminst_wait_module_idle,
513}; 516};
514 517
515int __init omap4_cm_init(void) 518int __init omap4_cm_init(void)