Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6] / include / asm-xtensa / platform.h
1 /*
2  * include/asm-xtensa/platform.h
3  *
4  * Platform specific functions
5  *
6  * This file is subject to the terms and conditions of the GNU General
7  * Public License.  See the file "COPYING" in the main directory of
8  * this archive for more details.
9  *
10  * Copyright (C) 2001 - 2005 Tensilica Inc.
11  */
12
13 #ifndef _XTENSA_PLATFORM_H
14 #define _XTENSA_PLATFORM_H
15
16 #include <linux/types.h>
17 #include <linux/pci.h>
18
19 #include <asm/bootparam.h>
20
21 /*
22  * platform_init is called before the mmu is initialized to give the
23  * platform a early hook-up. bp_tag_t is a list of configuration tags
24  * passed from the boot-loader.
25  */
26 extern void platform_init(bp_tag_t*);
27
28 /*
29  * platform_setup is called from setup_arch with a pointer to the command-line
30  * string.
31  */
32 extern void platform_setup (char **);
33
34 /*
35  * platform_init_irq is called from init_IRQ.
36  */
37 extern void platform_init_irq (void);
38
39 /*
40  * platform_restart is called to restart the system.
41  */
42 extern void platform_restart (void);
43
44 /*
45  * platform_halt is called to stop the system and halt.
46  */
47 extern void platform_halt (void);
48
49 /*
50  * platform_power_off is called to stop the system and power it off.
51  */
52 extern void platform_power_off (void);
53
54 /*
55  * platform_idle is called from the idle function.
56  */
57 extern void platform_idle (void);
58
59 /*
60  * platform_heartbeat is called every HZ
61  */
62 extern void platform_heartbeat (void);
63
64 /*
65  * platform_pcibios_init is called to allow the platform to setup the pci bus.
66  */
67 extern void platform_pcibios_init (void);
68
69 /*
70  * platform_pcibios_fixup allows to modify the PCI configuration.
71  */
72 extern int platform_pcibios_fixup (void);
73
74 /*
75  * platform_calibrate_ccount calibrates cpu clock freq (CONFIG_XTENSA_CALIBRATE)
76  */
77 extern void platform_calibrate_ccount (void);
78
79 /*
80  * platform_get_rtc_time returns RTC seconds (returns 0 for no error)
81  */
82 extern int platform_get_rtc_time(time_t*);
83
84 /*
85  * platform_set_rtc_time set RTC seconds (returns 0 for no error)
86  */
87 extern int platform_set_rtc_time(time_t);
88
89
90 #endif  /* _XTENSA_PLATFORM_H */
91