blob: 07d3e5ed9264f2cce1bfaf584db6fdddd7290175 [file] [log] [blame]
Binghua Duan02c981c2011-07-08 17:40:12 +08001/*
2 * This file contains common function prototypes to avoid externs in the c files.
3 *
4 * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
5 *
6 * Licensed under GPLv2 or later.
7 */
8
9#ifndef __MACH_PRIMA2_COMMON_H__
10#define __MACH_PRIMA2_COMMON_H__
11
12#include <linux/init.h>
Robin Holt7b6d8642013-07-08 16:01:40 -070013#include <linux/reboot.h>
14
Binghua Duan02c981c2011-07-08 17:40:12 +080015#include <asm/mach/time.h>
Barry Songf2a94192012-12-20 19:11:18 +080016#include <asm/exception.h>
Binghua Duan02c981c2011-07-08 17:40:12 +080017
Arnd Bergmanncf82e0e2013-03-19 17:45:37 +010018#define SIRFSOC_VA_BASE _AC(0xFEC00000, UL)
19#define SIRFSOC_VA(x) (SIRFSOC_VA_BASE + ((x) & 0x00FFF000))
20
Barry Song4898de32012-12-20 19:37:32 +080021extern struct smp_operations sirfsoc_smp_ops;
22extern void sirfsoc_secondary_startup(void);
23extern void sirfsoc_cpu_die(unsigned int cpu);
Binghua Duan02c981c2011-07-08 17:40:12 +080024
25extern void __init sirfsoc_of_irq_init(void);
Barry Songf2a94192012-12-20 19:11:18 +080026extern asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs);
Binghua Duan02c981c2011-07-08 17:40:12 +080027
Barry Song31adb062011-07-08 02:40:13 -070028#ifndef CONFIG_DEBUG_LL
29static inline void sirfsoc_map_lluart(void) {}
30#else
31extern void __init sirfsoc_map_lluart(void);
32#endif
33
Barry Song4898de32012-12-20 19:37:32 +080034#ifndef CONFIG_SMP
35static inline void sirfsoc_map_scu(void) {}
36#else
37extern void sirfsoc_map_scu(void);
38#endif
39
Shawn Guoa4b46742012-04-26 20:51:36 +080040#ifdef CONFIG_SUSPEND
41extern int sirfsoc_pm_init(void);
42#else
43static inline int sirfsoc_pm_init(void) { return 0; }
44#endif
45
Binghua Duan02c981c2011-07-08 17:40:12 +080046#endif