blob: 4b768060a858e98c51a085e192cf0e6c43a3c198 [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);
Robin Holt7b6d8642013-07-08 16:01:40 -070026extern void sirfsoc_restart(enum reboot_mode, const char *);
Barry Songf2a94192012-12-20 19:11:18 +080027extern asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs);
Binghua Duan02c981c2011-07-08 17:40:12 +080028
Barry Song31adb062011-07-08 02:40:13 -070029#ifndef CONFIG_DEBUG_LL
30static inline void sirfsoc_map_lluart(void) {}
31#else
32extern void __init sirfsoc_map_lluart(void);
33#endif
34
Barry Song4898de32012-12-20 19:37:32 +080035#ifndef CONFIG_SMP
36static inline void sirfsoc_map_scu(void) {}
37#else
38extern void sirfsoc_map_scu(void);
39#endif
40
Shawn Guoa4b46742012-04-26 20:51:36 +080041#ifdef CONFIG_SUSPEND
42extern int sirfsoc_pm_init(void);
43#else
44static inline int sirfsoc_pm_init(void) { return 0; }
45#endif
46
Binghua Duan02c981c2011-07-08 17:40:12 +080047#endif