summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/cm.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-11-15 17:59:54 +0100
committerArnd Bergmann <arnd@arndb.de>2012-11-15 17:59:54 +0100
commitcff9f37a1e7b2565f254b5ab40c3213cc0f823a1 (patch)
tree4ce5bef1e68a7cdd0567a6ab7c755fdbd9365d7b /arch/arm/mach-omap2/cm.h
parentb599dc078a7fd423c97217756d09400403a90a7f (diff)
parentcc4b1e24b93dd529b1d49258bee044d319b5b129 (diff)
downloadtalos-op-linux-cff9f37a1e7b2565f254b5ab40c3213cc0f823a1.tar.gz
talos-op-linux-cff9f37a1e7b2565f254b5ab40c3213cc0f823a1.zip
Merge branch 'omap/cleanup-prcm-part2' into next/dt
This resolves a nontrivial conflict where the omap_prcm_restart is removed in one branch but another use is added in another branch. Conflicts: arch/arm/mach-omap2/cm33xx.c arch/arm/mach-omap2/io.c arch/arm/mach-omap2/prm_common.c Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-omap2/cm.h')
-rw-r--r--arch/arm/mach-omap2/cm.h30
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 @@
/*
* OMAP2+ Clock Management prototypes
*
- * Copyright (C) 2007-2009 Texas Instruments, Inc.
+ * Copyright (C) 2007-2009, 2012 Texas Instruments, Inc.
* Copyright (C) 2007-2009 Nokia Corporation
*
* Written by Paul Walmsley
@@ -22,6 +22,12 @@
*/
#define MAX_MODULE_READY_TIME 2000
+# ifndef __ASSEMBLER__
+extern void __iomem *cm_base;
+extern void __iomem *cm2_base;
+extern void omap2_set_globals_cm(void __iomem *cm, void __iomem *cm2);
+# endif
+
/*
* MAX_MODULE_DISABLE_TIME: max duration in microseconds to wait for
* the PRCM to request that a module enter the inactive state in the
@@ -33,4 +39,26 @@
*/
#define MAX_MODULE_DISABLE_TIME 5000
+# ifndef __ASSEMBLER__
+
+/**
+ * struct cm_ll_data - fn ptrs to per-SoC CM function implementations
+ * @split_idlest_reg: ptr to the SoC CM-specific split_idlest_reg impl
+ * @wait_module_ready: ptr to the SoC CM-specific wait_module_ready impl
+ */
+struct cm_ll_data {
+ int (*split_idlest_reg)(void __iomem *idlest_reg, s16 *prcm_inst,
+ u8 *idlest_reg_id);
+ int (*wait_module_ready)(s16 prcm_mod, u8 idlest_id, u8 idlest_shift);
+};
+
+extern int cm_split_idlest_reg(void __iomem *idlest_reg, s16 *prcm_inst,
+ u8 *idlest_reg_id);
+extern int cm_wait_module_ready(s16 prcm_mod, u8 idlest_id, u8 idlest_shift);
+
+extern int cm_register(struct cm_ll_data *cld);
+extern int cm_unregister(struct cm_ll_data *cld);
+
+# endif
+
#endif
OpenPOWER on IntegriCloud