diff options
Diffstat (limited to 'arch/arm/mach-omap2/cm4xxx.c')
-rw-r--r-- | arch/arm/mach-omap2/cm4xxx.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/cm4xxx.c b/arch/arm/mach-omap2/cm4xxx.c index b101091e95d6..f8a660a1a4a6 100644 --- a/arch/arm/mach-omap2/cm4xxx.c +++ b/arch/arm/mach-omap2/cm4xxx.c | |||
@@ -43,7 +43,6 @@ | |||
43 | * using separate functional clock | 43 | * using separate functional clock |
44 | * 0x3 disabled: Module is disabled and cannot be accessed | 44 | * 0x3 disabled: Module is disabled and cannot be accessed |
45 | * | 45 | * |
46 | * TODO: Need to handle module accessible in idle state | ||
47 | */ | 46 | */ |
48 | int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) | 47 | int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) |
49 | { | 48 | { |
@@ -52,9 +51,11 @@ int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) | |||
52 | if (!clkctrl_reg) | 51 | if (!clkctrl_reg) |
53 | return 0; | 52 | return 0; |
54 | 53 | ||
55 | omap_test_timeout(((__raw_readl(clkctrl_reg) & | 54 | omap_test_timeout(( |
56 | OMAP4430_IDLEST_MASK) == 0), | 55 | ((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) == 0) || |
57 | MAX_MODULE_READY_TIME, i); | 56 | (((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) >> |
57 | OMAP4430_IDLEST_SHIFT) == 0x2)), | ||
58 | MAX_MODULE_READY_TIME, i); | ||
58 | 59 | ||
59 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; | 60 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; |
60 | } | 61 | } |