27
27
#ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
28
28
#define __ARCH_ARM_MACH_OMAP_COMMON_H
30
#include <linux/delay.h>
32
30
#include <plat/i2c.h>
36
extern void omap_map_common_io(void);
37
extern struct sys_timer omap_timer;
38
extern bool omap_32k_timer_init(void);
31
#include <plat/omap_hwmod.h>
39
33
extern int __init omap_init_clocksource_32k(void);
40
34
extern unsigned long long notrace omap_32k_sched_clock(void);
42
36
extern void omap_reserve(void);
45
* IO bases for various OMAP processors
46
* Except the tap base, rest all the io bases
47
* listed are physical addresses.
50
u32 class; /* OMAP class to detect */
51
void __iomem *tap; /* Control module ID code */
52
unsigned long sdrc; /* SDRAM Controller */
53
unsigned long sms; /* SDRAM Memory Scheduler */
54
unsigned long ctrl; /* System Control Module */
55
unsigned long ctrl_pad; /* PAD Control Module */
56
unsigned long prm; /* Power and Reset Management */
57
unsigned long cm; /* Clock Management */
61
void omap2_set_globals_242x(void);
62
void omap2_set_globals_243x(void);
63
void omap2_set_globals_3xxx(void);
64
void omap2_set_globals_443x(void);
65
void omap2_set_globals_ti816x(void);
67
/* These get called from omap2_set_globals_xxxx(), do not call these */
68
void omap2_set_globals_tap(struct omap_globals *);
69
void omap2_set_globals_sdrc(struct omap_globals *);
70
void omap2_set_globals_control(struct omap_globals *);
71
void omap2_set_globals_prcm(struct omap_globals *);
73
void omap3_map_io(void);
76
* omap_test_timeout - busy-loop, testing a condition
77
* @cond: condition to test until it evaluates to true
78
* @timeout: maximum number of microseconds in the timeout
79
* @index: loop index (integer)
81
* Loop waiting for @cond to become true or until at least @timeout
82
* microseconds have passed. To use, define some integer @index in the
83
* calling code. After running, if @index == @timeout, then the loop has
86
#define omap_test_timeout(cond, timeout, index) \
88
for (index = 0; index < timeout; index++) { \
95
extern struct device *omap2_get_mpuss_device(void);
96
extern struct device *omap2_get_iva_device(void);
97
extern struct device *omap2_get_l3_device(void);
98
extern struct device *omap4_get_dsp_device(void);
38
extern int omap_dss_reset(struct omap_hwmod *);
40
void omap_sram_init(void);
100
42
#endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */