aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/include/plat/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-omap/include/plat/common.h')
-rw-r--r--arch/arm/plat-omap/include/plat/common.h84
1 files changed, 2 insertions, 82 deletions
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
index c50df4814f6f..b4d7ec3fbfbe 100644
--- a/arch/arm/plat-omap/include/plat/common.h
+++ b/arch/arm/plat-omap/include/plat/common.h
@@ -27,94 +27,14 @@
27#ifndef __ARCH_ARM_MACH_OMAP_COMMON_H 27#ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
28#define __ARCH_ARM_MACH_OMAP_COMMON_H 28#define __ARCH_ARM_MACH_OMAP_COMMON_H
29 29
30#include <linux/delay.h>
31
32#include <plat/i2c.h> 30#include <plat/i2c.h>
31#include <plat/omap_hwmod.h>
33 32
34struct sys_timer;
35
36extern void omap_map_common_io(void);
37extern struct sys_timer omap1_timer;
38extern struct sys_timer omap2_timer;
39extern struct sys_timer omap3_timer;
40extern struct sys_timer omap3_secure_timer;
41extern struct sys_timer omap4_timer;
42extern bool omap_32k_timer_init(void);
43extern int __init omap_init_clocksource_32k(void); 33extern int __init omap_init_clocksource_32k(void);
44extern unsigned long long notrace omap_32k_sched_clock(void);
45 34
46extern void omap_reserve(void); 35extern void omap_reserve(void);
47 36extern int omap_dss_reset(struct omap_hwmod *);
48void omap2420_init_early(void);
49void omap2430_init_early(void);
50void omap3430_init_early(void);
51void omap35xx_init_early(void);
52void omap3630_init_early(void);
53void omap3_init_early(void); /* Do not use this one */
54void am35xx_init_early(void);
55void ti816x_init_early(void);
56void omap4430_init_early(void);
57 37
58void omap_sram_init(void); 38void omap_sram_init(void);
59 39
60/*
61 * IO bases for various OMAP processors
62 * Except the tap base, rest all the io bases
63 * listed are physical addresses.
64 */
65struct omap_globals {
66 u32 class; /* OMAP class to detect */
67 void __iomem *tap; /* Control module ID code */
68 void __iomem *sdrc; /* SDRAM Controller */
69 void __iomem *sms; /* SDRAM Memory Scheduler */
70 void __iomem *ctrl; /* System Control Module */
71 void __iomem *ctrl_pad; /* PAD Control Module */
72 void __iomem *prm; /* Power and Reset Management */
73 void __iomem *cm; /* Clock Management */
74 void __iomem *cm2;
75};
76
77void omap2_set_globals_242x(void);
78void omap2_set_globals_243x(void);
79void omap2_set_globals_3xxx(void);
80void omap2_set_globals_443x(void);
81void omap2_set_globals_ti816x(void);
82
83/* These get called from omap2_set_globals_xxxx(), do not call these */
84void omap2_set_globals_tap(struct omap_globals *);
85void omap2_set_globals_sdrc(struct omap_globals *);
86void omap2_set_globals_control(struct omap_globals *);
87void omap2_set_globals_prcm(struct omap_globals *);
88
89void omap242x_map_io(void);
90void omap243x_map_io(void);
91void omap3_map_io(void);
92void omap4_map_io(void);
93
94
95/**
96 * omap_test_timeout - busy-loop, testing a condition
97 * @cond: condition to test until it evaluates to true
98 * @timeout: maximum number of microseconds in the timeout
99 * @index: loop index (integer)
100 *
101 * Loop waiting for @cond to become true or until at least @timeout
102 * microseconds have passed. To use, define some integer @index in the
103 * calling code. After running, if @index == @timeout, then the loop has
104 * timed out.
105 */
106#define omap_test_timeout(cond, timeout, index) \
107({ \
108 for (index = 0; index < timeout; index++) { \
109 if (cond) \
110 break; \
111 udelay(1); \
112 } \
113})
114
115extern struct device *omap2_get_mpuss_device(void);
116extern struct device *omap2_get_iva_device(void);
117extern struct device *omap2_get_l3_device(void);
118extern struct device *omap4_get_dsp_device(void);
119
120#endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ 40#endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */