diff options
Diffstat (limited to 'arch/arm/mach-omap2/cm.h')
-rw-r--r-- | arch/arm/mach-omap2/cm.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h index f24e3f7a2bbc..93473f9a551c 100644 --- a/arch/arm/mach-omap2/cm.h +++ b/arch/arm/mach-omap2/cm.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * OMAP2+ Clock Management prototypes | 2 | * OMAP2+ Clock Management prototypes |
3 | * | 3 | * |
4 | * Copyright (C) 2007-2009 Texas Instruments, Inc. | 4 | * Copyright (C) 2007-2009, 2012 Texas Instruments, Inc. |
5 | * Copyright (C) 2007-2009 Nokia Corporation | 5 | * Copyright (C) 2007-2009 Nokia Corporation |
6 | * | 6 | * |
7 | * Written by Paul Walmsley | 7 | * Written by Paul Walmsley |
@@ -22,6 +22,12 @@ | |||
22 | */ | 22 | */ |
23 | #define MAX_MODULE_READY_TIME 2000 | 23 | #define MAX_MODULE_READY_TIME 2000 |
24 | 24 | ||
25 | # ifndef __ASSEMBLER__ | ||
26 | extern void __iomem *cm_base; | ||
27 | extern void __iomem *cm2_base; | ||
28 | extern void omap2_set_globals_cm(void __iomem *cm, void __iomem *cm2); | ||
29 | # endif | ||
30 | |||
25 | /* | 31 | /* |
26 | * MAX_MODULE_DISABLE_TIME: max duration in microseconds to wait for | 32 | * MAX_MODULE_DISABLE_TIME: max duration in microseconds to wait for |
27 | * the PRCM to request that a module enter the inactive state in the | 33 | * the PRCM to request that a module enter the inactive state in the |
@@ -33,4 +39,26 @@ | |||
33 | */ | 39 | */ |
34 | #define MAX_MODULE_DISABLE_TIME 5000 | 40 | #define MAX_MODULE_DISABLE_TIME 5000 |
35 | 41 | ||
42 | # ifndef __ASSEMBLER__ | ||
43 | |||
44 | /** | ||
45 | * struct cm_ll_data - fn ptrs to per-SoC CM function implementations | ||
46 | * @split_idlest_reg: ptr to the SoC CM-specific split_idlest_reg impl | ||
47 | * @wait_module_ready: ptr to the SoC CM-specific wait_module_ready impl | ||
48 | */ | ||
49 | struct cm_ll_data { | ||
50 | int (*split_idlest_reg)(void __iomem *idlest_reg, s16 *prcm_inst, | ||
51 | u8 *idlest_reg_id); | ||
52 | int (*wait_module_ready)(s16 prcm_mod, u8 idlest_id, u8 idlest_shift); | ||
53 | }; | ||
54 | |||
55 | extern int cm_split_idlest_reg(void __iomem *idlest_reg, s16 *prcm_inst, | ||
56 | u8 *idlest_reg_id); | ||
57 | extern int cm_wait_module_ready(s16 prcm_mod, u8 idlest_id, u8 idlest_shift); | ||
58 | |||
59 | extern int cm_register(struct cm_ll_data *cld); | ||
60 | extern int cm_unregister(struct cm_ll_data *cld); | ||
61 | |||
62 | # endif | ||
63 | |||
36 | #endif | 64 | #endif |