aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/common.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-11-15 11:08:51 -0500
committerArnd Bergmann <arnd@arndb.de>2012-11-15 11:08:51 -0500
commitcb64babf9ebe06984d87c08d241d05e2f6a7eb5b (patch)
tree61cd54de0b0dc5c42a99ee733e9984700b0732b7 /arch/arm/mach-omap2/common.h
parent809a3226ad7cf0807f79ddc31ed2094dbb9911fd (diff)
parentcc4b1e24b93dd529b1d49258bee044d319b5b129 (diff)
Merge tag 'omap-for-v3.8/cleanup-prcm-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
From Tony Lindgren <tony@atomide.com>: More PRCM cleanups via Paul Walmsley <paul@pwsan.com>: Second set of OMAP PRCM cleanups for 3.8. These patches remove the use of omap_prcm_get_reset_sources() from the OMAP watchdog driver, and remove mach-omap2/prcm.c and plat-omap/include/plat/prcm.h. Basic test logs for this branch on top of Tony's cleanup-prcm branch at commit 7fc54fd3084457c7f11b9e2e1e3fcd19a3badc33 are here: http://www.pwsan.com/omap/testlogs/prcm_cleanup_b_3.8/20121108151646/ However, cleanup-prcm at 7fc54fd3 does not include some fixes that are needed for a successful test. With several reverts, fixes, and workarounds applied, the following test logs were obtained: http://www.pwsan.com/omap/testlogs/TEST_prcm_cleanup_b_3.8/20121108151930/ which indicate that the series tests cleanly. This second pull request updates one of the patches which broke with rmk's allnoconfigs, and also updates the tag description to indicate that 7fc54fd3 is building cleanly here. * tag 'omap-for-v3.8/cleanup-prcm-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits) ARM: OMAP2: Fix compillation error in cm_common ARM: OMAP2+: PRCM: remove obsolete prcm.[ch] ARM: OMAP2+: hwmod: call to _omap4_disable_module() should use the SoC-specific call ARM: OMAP2+: PRCM: consolidate PRCM-related timeout macros ARM: OMAP2+: PRCM: split and relocate the PRM/CM globals setup ARM: OMAP2+: PRCM: remove omap2_cm_wait_idlest() ARM: OMAP2+: CM/clock: convert _omap2_module_wait_ready() to use SoC-independent CM functions ARM: OMAP2xxx: APLL/CM: convert to use omap2_cm_wait_module_ready() ARM: OMAP2+: board files: use SoC-specific system restart functions ARM: OMAP2+: PRCM: create SoC-specific chip restart functions ARM: OMAP2xxx: clock: move virt_prcm_set code into clkt2xxx_virt_prcm_set.c ARM: OMAP2xxx: clock: remove global 'dclk' variable ARM: OMAP2/3: PRM: add SoC reset functions (using the CORE DPLL method) ARM: OMAP2+: common: remove mach-omap2/common.c globals and map_common_io code ARM: OMAP2+: PRCM: remove omap_prcm_get_reset_sources() watchdog: OMAP: use standard GETBOOTSTATUS interface; use platform_data fn ptr ARM: OMAP2+: WDT: move init; add read_reset_sources pdata function pointer ARM: OMAP1: CGRM: fix omap1_get_reset_sources() return type ARM: OMAP2+: PRM: create PRM reset source API for the watchdog timer driver ARM: OMAP1: create read_reset_sources() function (for initial use by watchdog) ... 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/common.h')
-rw-r--r--arch/arm/mach-omap2/common.h133
1 files changed, 34 insertions, 99 deletions
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index 426fcfcfd821..08c586451f93 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -41,54 +41,6 @@
41 41
42#define OMAP_INTC_START NR_IRQS 42#define OMAP_INTC_START NR_IRQS
43 43
44#ifdef CONFIG_SOC_OMAP2420
45extern void omap242x_map_common_io(void);
46#else
47static inline void omap242x_map_common_io(void)
48{
49}
50#endif
51
52#ifdef CONFIG_SOC_OMAP2430
53extern void omap243x_map_common_io(void);
54#else
55static inline void omap243x_map_common_io(void)
56{
57}
58#endif
59
60#ifdef CONFIG_ARCH_OMAP3
61extern void omap34xx_map_common_io(void);
62#else
63static inline void omap34xx_map_common_io(void)
64{
65}
66#endif
67
68#ifdef CONFIG_SOC_TI81XX
69extern void omapti81xx_map_common_io(void);
70#else
71static inline void omapti81xx_map_common_io(void)
72{
73}
74#endif
75
76#ifdef CONFIG_SOC_AM33XX
77extern void omapam33xx_map_common_io(void);
78#else
79static inline void omapam33xx_map_common_io(void)
80{
81}
82#endif
83
84#ifdef CONFIG_ARCH_OMAP4
85extern void omap44xx_map_common_io(void);
86#else
87static inline void omap44xx_map_common_io(void)
88{
89}
90#endif
91
92#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP2) 44#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP2)
93int omap2_pm_init(void); 45int omap2_pm_init(void);
94#else 46#else
@@ -125,14 +77,6 @@ static inline int omap_mux_late_init(void)
125} 77}
126#endif 78#endif
127 79
128#ifdef CONFIG_SOC_OMAP5
129extern void omap5_map_common_io(void);
130#else
131static inline void omap5_map_common_io(void)
132{
133}
134#endif
135
136extern void omap2_init_common_infrastructure(void); 80extern void omap2_init_common_infrastructure(void);
137 81
138extern struct sys_timer omap2_timer; 82extern struct sys_timer omap2_timer;
@@ -165,52 +109,43 @@ void am35xx_init_late(void);
165void ti81xx_init_late(void); 109void ti81xx_init_late(void);
166void omap4430_init_late(void); 110void omap4430_init_late(void);
167int omap2_common_pm_late_init(void); 111int omap2_common_pm_late_init(void);
168void omap_prcm_restart(char, const char *);
169 112
170/* 113#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
171 * IO bases for various OMAP processors 114void omap2xxx_restart(char mode, const char *cmd);
172 * Except the tap base, rest all the io bases
173 * listed are physical addresses.
174 */
175struct omap_globals {
176 u32 class; /* OMAP class to detect */
177 void __iomem *tap; /* Control module ID code */
178 void __iomem *sdrc; /* SDRAM Controller */
179 void __iomem *sms; /* SDRAM Memory Scheduler */
180 void __iomem *ctrl; /* System Control Module */
181 void __iomem *ctrl_pad; /* PAD Control Module */
182 void __iomem *prm; /* Power and Reset Management */
183 void __iomem *cm; /* Clock Management */
184 void __iomem *cm2;
185 void __iomem *prcm_mpu;
186};
187
188void omap2_set_globals_242x(void);
189void omap2_set_globals_243x(void);
190void omap2_set_globals_3xxx(void);
191void omap2_set_globals_443x(void);
192void omap2_set_globals_5xxx(void);
193void omap2_set_globals_ti81xx(void);
194void omap2_set_globals_am33xx(void);
195
196/* These get called from omap2_set_globals_xxxx(), do not call these */
197void omap2_set_globals_tap(struct omap_globals *);
198#if defined(CONFIG_SOC_HAS_OMAP2_SDRC)
199void omap2_set_globals_sdrc(struct omap_globals *);
200#else 115#else
201static inline void omap2_set_globals_sdrc(struct omap_globals *omap2_globals) 116static inline void omap2xxx_restart(char mode, const char *cmd)
202{ } 117{
118}
203#endif 119#endif
204void omap2_set_globals_control(struct omap_globals *); 120
205void omap2_set_globals_prcm(struct omap_globals *); 121#ifdef CONFIG_ARCH_OMAP3
206 122void omap3xxx_restart(char mode, const char *cmd);
207void omap242x_map_io(void); 123#else
208void omap243x_map_io(void); 124static inline void omap3xxx_restart(char mode, const char *cmd)
209void omap3_map_io(void); 125{
210void am33xx_map_io(void); 126}
211void omap4_map_io(void); 127#endif
212void omap5_map_io(void); 128
213void ti81xx_map_io(void); 129#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
130void omap44xx_restart(char mode, const char *cmd);
131#else
132static inline void omap44xx_restart(char mode, const char *cmd)
133{
134}
135#endif
136
137/* This gets called from mach-omap2/io.c, do not call this */
138void __init omap2_set_globals_tap(u32 class, void __iomem *tap);
139
140void __init omap242x_map_io(void);
141void __init omap243x_map_io(void);
142void __init omap3_map_io(void);
143void __init am33xx_map_io(void);
144void __init omap4_map_io(void);
145void __init omap5_map_io(void);
146void __init ti81xx_map_io(void);
147
148/* omap_barriers_init() is OMAP4 only */
214void omap_barriers_init(void); 149void omap_barriers_init(void);
215 150
216/** 151/**