diff options
Diffstat (limited to 'arch/arm/mach-omap2/cm4xxx.c')
-rw-r--r-- | arch/arm/mach-omap2/cm4xxx.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/arch/arm/mach-omap2/cm4xxx.c b/arch/arm/mach-omap2/cm4xxx.c deleted file mode 100644 index 25d2b3e4c6f7..000000000000 --- a/arch/arm/mach-omap2/cm4xxx.c +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | /* | ||
2 | * OMAP4 CM module functions | ||
3 | * | ||
4 | * Copyright (C) 2009 Nokia Corporation | ||
5 | * Paul Walmsley | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/module.h> | ||
14 | #include <linux/types.h> | ||
15 | #include <linux/delay.h> | ||
16 | #include <linux/spinlock.h> | ||
17 | #include <linux/list.h> | ||
18 | #include <linux/errno.h> | ||
19 | #include <linux/err.h> | ||
20 | #include <linux/io.h> | ||
21 | |||
22 | #include <asm/atomic.h> | ||
23 | |||
24 | #include <plat/common.h> | ||
25 | |||
26 | #include "cm44xx.h" | ||
27 | #include "cm-regbits-44xx.h" | ||
28 | |||
29 | /** | ||
30 | * omap4_cm_wait_module_ready - wait for a module to be in 'func' state | ||
31 | * @clkctrl_reg: CLKCTRL module address | ||
32 | * | ||
33 | * Wait for the module IDLEST to be functional. If the idle state is in any | ||
34 | * the non functional state (trans, idle or disabled), module and thus the | ||
35 | * sysconfig cannot be accessed and will probably lead to an "imprecise | ||
36 | * external abort" | ||
37 | * | ||
38 | * Module idle state: | ||
39 | * 0x0 func: Module is fully functional, including OCP | ||
40 | * 0x1 trans: Module is performing transition: wakeup, or sleep, or sleep | ||
41 | * abortion | ||
42 | * 0x2 idle: Module is in Idle mode (only OCP part). It is functional if | ||
43 | * using separate functional clock | ||
44 | * 0x3 disabled: Module is disabled and cannot be accessed | ||
45 | * | ||
46 | */ | ||
47 | int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) | ||
48 | { | ||
49 | int i = 0; | ||
50 | |||
51 | if (!clkctrl_reg) | ||
52 | return 0; | ||
53 | |||
54 | omap_test_timeout(( | ||
55 | ((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) == 0) || | ||
56 | (((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) >> | ||
57 | OMAP4430_IDLEST_SHIFT) == 0x2)), | ||
58 | MAX_MODULE_READY_TIME, i); | ||
59 | |||
60 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; | ||
61 | } | ||
62 | |||