Blame view
arch/arm/mach-omap2/common.h
8.2 KB
4e65331c6 ARM: 7159/1: OMAP... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/* * Header for code common to all OMAP2+ machines. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H #define __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H |
b2b9762f7 ARM: OMAP4: PM: A... |
27 |
#ifndef __ASSEMBLER__ |
4e65331c6 ARM: 7159/1: OMAP... |
28 |
|
ec2c0825c ARM: OMAP2+: Remo... |
29 |
#include <linux/irq.h> |
4e65331c6 ARM: 7159/1: OMAP... |
30 |
#include <linux/delay.h> |
3a8761c02 ARM: OMAP: Split ... |
31 |
#include <linux/i2c.h> |
1ee47b0ae ARM: OMAP4: hsmmc... |
32 |
#include <linux/i2c/twl.h> |
3a8761c02 ARM: OMAP: Split ... |
33 |
#include <linux/i2c-omap.h> |
7b6d864b4 reboot: arm: chan... |
34 |
#include <linux/reboot.h> |
eaacabc0d irqchip: add irq-... |
35 |
#include <linux/irqchip/irq-omap-intc.h> |
dbc041610 ARM: OMAP: Split ... |
36 |
|
b2b9762f7 ARM: OMAP4: PM: A... |
37 |
#include <asm/proc-fns.h> |
4e65331c6 ARM: 7159/1: OMAP... |
38 |
|
3a8761c02 ARM: OMAP: Split ... |
39 |
#include "i2c.h" |
3d82cbbb3 ARM: OMAP: Split ... |
40 |
#include "serial.h" |
3a8761c02 ARM: OMAP: Split ... |
41 |
|
54db6eee0 ARM: OMAP2+: Intr... |
42 |
#include "usb.h" |
dbc041610 ARM: OMAP: Split ... |
43 |
|
ec2c0825c ARM: OMAP2+: Remo... |
44 |
#define OMAP_INTC_START NR_IRQS |
7d7e1eba7 ARM: OMAP2+: Prep... |
45 |
|
bbd707ace ARM: omap2: use m... |
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP2) int omap2_pm_init(void); #else static inline int omap2_pm_init(void) { return 0; } #endif #if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) int omap3_pm_init(void); #else static inline int omap3_pm_init(void) { return 0; } #endif |
6af16a1da ARM: DRA7: Add ho... |
63 |
#if defined(CONFIG_PM) && (defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX)) |
bbd707ace ARM: omap2: use m... |
64 |
int omap4_pm_init(void); |
de70af494 ARM: OMAP4+: move... |
65 |
int omap4_pm_init_early(void); |
bbd707ace ARM: omap2: use m... |
66 67 68 69 70 |
#else static inline int omap4_pm_init(void) { return 0; } |
de70af494 ARM: OMAP4+: move... |
71 72 73 74 75 |
static inline int omap4_pm_init_early(void) { return 0; } |
bbd707ace ARM: omap2: use m... |
76 77 78 79 80 81 82 83 84 85 |
#endif #ifdef CONFIG_OMAP_MUX int omap_mux_late_init(void); #else static inline int omap_mux_late_init(void) { return 0; } #endif |
4e65331c6 ARM: 7159/1: OMAP... |
86 |
extern void omap2_init_common_infrastructure(void); |
6bb27d734 ARM: delete struc... |
87 88 89 |
extern void omap2_sync32k_timer_init(void); extern void omap3_sync32k_timer_init(void); extern void omap3_secure_sync32k_timer_init(void); |
00ea4d561 ARM: OMAP2+: Simp... |
90 |
extern void omap3_gptimer_timer_init(void); |
6bb27d734 ARM: delete struc... |
91 |
extern void omap4_local_timer_init(void); |
2ad501cc1 ARM: omap2: fix a... |
92 |
#ifdef CONFIG_CACHE_L2X0 |
b39b14e62 ARM: l2c: omap2+:... |
93 |
int omap_l2_cache_init(void); |
2ad501cc1 ARM: omap2: fix a... |
94 95 96 97 98 99 |
#else static inline int omap_l2_cache_init(void) { return 0; } #endif |
6bb27d734 ARM: delete struc... |
100 |
extern void omap5_realtime_timer_init(void); |
4e65331c6 ARM: 7159/1: OMAP... |
101 102 103 104 105 106 107 |
void omap2420_init_early(void); void omap2430_init_early(void); void omap3430_init_early(void); void omap35xx_init_early(void); void omap3630_init_early(void); void omap3_init_early(void); /* Do not use this one */ |
ce3fc89a4 ARM: OMAP AM33xx:... |
108 |
void am33xx_init_early(void); |
4e65331c6 ARM: 7159/1: OMAP... |
109 |
void am35xx_init_early(void); |
a920360f0 ARM: OMAP: TI81XX... |
110 |
void ti81xx_init_early(void); |
08f309892 ARM: OMAP2+: am33... |
111 |
void am33xx_init_early(void); |
c5107027b ARM: OMAP2+: AM43... |
112 |
void am43xx_init_early(void); |
765e7a067 ARM: OMAP2+: add ... |
113 |
void am43xx_init_late(void); |
4e65331c6 ARM: 7159/1: OMAP... |
114 |
void omap4430_init_early(void); |
05e152c76 ARM: OMAP5: Add m... |
115 |
void omap5_init_early(void); |
bbd707ace ARM: omap2: use m... |
116 117 118 119 120 121 122 123 124 |
void omap3_init_late(void); /* Do not use this one */ void omap4430_init_late(void); void omap2420_init_late(void); void omap2430_init_late(void); void omap3430_init_late(void); void omap35xx_init_late(void); void omap3630_init_late(void); void am35xx_init_late(void); void ti81xx_init_late(void); |
765e7a067 ARM: OMAP2+: add ... |
125 126 |
void am33xx_init_late(void); void omap5_init_late(void); |
bbd707ace ARM: omap2: use m... |
127 |
int omap2_common_pm_late_init(void); |
a3a9384a1 ARM: DRA7: Reuse ... |
128 |
void dra7xx_init_early(void); |
765e7a067 ARM: OMAP2+: add ... |
129 |
void dra7xx_init_late(void); |
4e65331c6 ARM: 7159/1: OMAP... |
130 |
|
6770b2114 ARM: OMAP2+: Expo... |
131 132 133 134 135 136 137 |
#ifdef CONFIG_SOC_BUS void omap_soc_device_init(void); #else static inline void omap_soc_device_init(void) { } #endif |
2f334a389 ARM: OMAP2+: PRCM... |
138 |
#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430) |
7b6d864b4 reboot: arm: chan... |
139 |
void omap2xxx_restart(enum reboot_mode mode, const char *cmd); |
ecc46cfda ARM: OMAP2+: Remo... |
140 |
#else |
7b6d864b4 reboot: arm: chan... |
141 |
static inline void omap2xxx_restart(enum reboot_mode mode, const char *cmd) |
2f334a389 ARM: OMAP2+: PRCM... |
142 143 |
{ } |
ecc46cfda ARM: OMAP2+: Remo... |
144 |
#endif |
2f334a389 ARM: OMAP2+: PRCM... |
145 |
|
14e067c1a ARM: OMAP2+: AM33... |
146 |
#ifdef CONFIG_SOC_AM33XX |
7b6d864b4 reboot: arm: chan... |
147 |
void am33xx_restart(enum reboot_mode mode, const char *cmd); |
14e067c1a ARM: OMAP2+: AM33... |
148 |
#else |
7b6d864b4 reboot: arm: chan... |
149 |
static inline void am33xx_restart(enum reboot_mode mode, const char *cmd) |
14e067c1a ARM: OMAP2+: AM33... |
150 151 152 |
{ } #endif |
2f334a389 ARM: OMAP2+: PRCM... |
153 |
#ifdef CONFIG_ARCH_OMAP3 |
7b6d864b4 reboot: arm: chan... |
154 |
void omap3xxx_restart(enum reboot_mode mode, const char *cmd); |
2f334a389 ARM: OMAP2+: PRCM... |
155 |
#else |
7b6d864b4 reboot: arm: chan... |
156 |
static inline void omap3xxx_restart(enum reboot_mode mode, const char *cmd) |
2f334a389 ARM: OMAP2+: PRCM... |
157 158 159 |
{ } #endif |
7abb1a530 ARM: DRA7/AM43XX:... |
160 161 |
#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \ defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX) |
7b6d864b4 reboot: arm: chan... |
162 |
void omap44xx_restart(enum reboot_mode mode, const char *cmd); |
2f334a389 ARM: OMAP2+: PRCM... |
163 |
#else |
7b6d864b4 reboot: arm: chan... |
164 |
static inline void omap44xx_restart(enum reboot_mode mode, const char *cmd) |
2f334a389 ARM: OMAP2+: PRCM... |
165 166 167 |
{ } #endif |
b6a4226c1 ARM: OMAP2+: comm... |
168 169 170 171 172 173 174 175 176 177 178 179 |
/* This gets called from mach-omap2/io.c, do not call this */ void __init omap2_set_globals_tap(u32 class, void __iomem *tap); void __init omap242x_map_io(void); void __init omap243x_map_io(void); void __init omap3_map_io(void); void __init am33xx_map_io(void); void __init omap4_map_io(void); void __init omap5_map_io(void); void __init ti81xx_map_io(void); /* omap_barriers_init() is OMAP4 only */ |
2ec1fc4e1 ARM: OMAP4: Move ... |
180 |
void omap_barriers_init(void); |
4e65331c6 ARM: 7159/1: OMAP... |
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
/** * omap_test_timeout - busy-loop, testing a condition * @cond: condition to test until it evaluates to true * @timeout: maximum number of microseconds in the timeout * @index: loop index (integer) * * Loop waiting for @cond to become true or until at least @timeout * microseconds have passed. To use, define some integer @index in the * calling code. After running, if @index == @timeout, then the loop has * timed out. */ #define omap_test_timeout(cond, timeout, index) \ ({ \ for (index = 0; index < timeout; index++) { \ if (cond) \ break; \ udelay(1); \ } \ }) extern struct device *omap2_get_mpuss_device(void); extern struct device *omap2_get_iva_device(void); extern struct device *omap2_get_l3_device(void); extern struct device *omap4_get_dsp_device(void); |
c4082d499 ARM: omap2+: boar... |
206 |
void omap_gic_of_init(void); |
4e65331c6 ARM: 7159/1: OMAP... |
207 |
|
4e65331c6 ARM: 7159/1: OMAP... |
208 |
#ifdef CONFIG_CACHE_L2X0 |
02afe8a7f ARM: OMAP4: Expor... |
209 |
extern void __iomem *omap4_get_l2cache_base(void); |
4e65331c6 ARM: 7159/1: OMAP... |
210 |
#endif |
52fa21208 ARM: OMAP2/3: int... |
211 |
struct device_node; |
52fa21208 ARM: OMAP2/3: int... |
212 |
|
02afe8a7f ARM: OMAP4: Expor... |
213 214 215 216 217 218 219 |
#ifdef CONFIG_SMP extern void __iomem *omap4_get_scu_base(void); #else static inline void __iomem *omap4_get_scu_base(void) { return NULL; } |
4e65331c6 ARM: 7159/1: OMAP... |
220 |
#endif |
ff999b8a0 ARM: OMAP4460: Wo... |
221 |
extern void gic_dist_disable(void); |
74ed7bdcb ARM: OMAP4460: cp... |
222 |
extern void gic_dist_enable(void); |
cd8ce1590 ARM: OMAP4: retri... |
223 224 |
extern bool gic_dist_disabled(void); extern void gic_timer_retrigger(void); |
4e65331c6 ARM: 7159/1: OMAP... |
225 |
extern void omap_smc1(u32 fn, u32 arg); |
501f0c751 ARM: OMAP4: PM: A... |
226 |
extern void __iomem *omap4_get_sar_ram_base(void); |
b2b9762f7 ARM: OMAP4: PM: A... |
227 |
extern void omap_do_wfi(void); |
4e65331c6 ARM: 7159/1: OMAP... |
228 229 230 |
#ifdef CONFIG_SMP /* Needed for secondary core boot */ |
baf4b7d34 ARM: OMAP4+: Make... |
231 232 |
extern void omap4_secondary_startup(void); extern void omap4460_secondary_startup(void); |
4e65331c6 ARM: 7159/1: OMAP... |
233 234 235 |
extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask); extern void omap_auxcoreboot_addr(u32 cpu_addr); extern u32 omap_read_auxcoreboot0(void); |
06915321e ARM: SoC: convert... |
236 237 238 239 |
extern void omap4_cpu_die(unsigned int cpu); extern struct smp_operations omap4_smp_ops; |
283f708ca ARM: OMAP5: Add S... |
240 |
extern void omap5_secondary_startup(void); |
999f934de ARM: omap5/dra7xx... |
241 |
extern void omap5_secondary_hyp_startup(void); |
4e65331c6 ARM: 7159/1: OMAP... |
242 |
#endif |
b2b9762f7 ARM: OMAP4: PM: A... |
243 244 245 246 247 |
#if defined(CONFIG_SMP) && defined(CONFIG_PM) extern int omap4_mpuss_init(void); extern int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state); extern int omap4_finish_suspend(unsigned long cpu_state); extern void omap4_cpu_resume(void); |
b5b4f2881 ARM: OMAP4: PM: P... |
248 |
extern int omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state); |
b2b9762f7 ARM: OMAP4: PM: A... |
249 250 251 252 253 254 255 |
#else static inline int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state) { cpu_do_idle(); return 0; } |
b5b4f2881 ARM: OMAP4: PM: P... |
256 257 258 259 260 |
static inline int omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state) { cpu_do_idle(); return 0; } |
b2b9762f7 ARM: OMAP4: PM: A... |
261 262 263 264 265 266 267 268 269 270 271 272 |
static inline int omap4_mpuss_init(void) { return 0; } static inline int omap4_finish_suspend(unsigned long cpu_state) { return 0; } static inline void omap4_cpu_resume(void) {} |
3ba2a7393 ARM: OMAP4: PM: A... |
273 |
|
b2b9762f7 ARM: OMAP4: PM: A... |
274 |
#endif |
258ee922d ARM: OMAP2+: Move... |
275 |
|
31957609d ARM: OMAP2+: make... |
276 |
void pdata_quirks_init(const struct of_device_id *); |
dad12d113 ARM: OMAP2+: Add ... |
277 |
void omap_auxdata_legacy_init(struct device *dev); |
8651bd8ce ARM: OMAP2+: Add ... |
278 |
void omap_pcs_legacy_init(int irq, void (*rearm)(void)); |
6a08e1e6f ARM: OMAP2+: Add ... |
279 |
|
258ee922d ARM: OMAP2+: Move... |
280 281 282 |
struct omap_sdrc_params; extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0, struct omap_sdrc_params *sdrc_cs1); |
1ee47b0ae ARM: OMAP4: hsmmc... |
283 |
struct omap2_hsmmc_info; |
f583f0f2c ARM: OMAP2+: Move... |
284 |
extern void omap_reserve(void); |
258ee922d ARM: OMAP2+: Move... |
285 |
|
5c2e88525 ARM: OMAP: Remove... |
286 287 |
struct omap_hwmod; extern int omap_dss_reset(struct omap_hwmod *); |
258ee922d ARM: OMAP2+: Move... |
288 |
|
ff931c821 ARM: OMAP: clocks... |
289 |
/* SoC specific clock initializer */ |
cfa9667d4 ARM: OMAP2+: io: ... |
290 |
int omap_clk_init(void); |
ff931c821 ARM: OMAP: clocks... |
291 |
|
dcdf407b9 ARM: OMAP2+: add ... |
292 |
int __init omapdss_init_of(void); |
6a0e6b387 ARM: OMAP2+: DT '... |
293 |
void __init omapdss_early_init_of(void); |
dcdf407b9 ARM: OMAP2+: add ... |
294 |
|
b2b9762f7 ARM: OMAP4: PM: A... |
295 |
#endif /* __ASSEMBLER__ */ |
4e65331c6 ARM: 7159/1: OMAP... |
296 |
#endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */ |