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 */
26extern 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 */
32extern void platform_setup (char **);
33
34/*
35 * platform_init_irq is called from init_IRQ.
36 */
37extern void platform_init_irq (void);
38
39/*
40 * platform_restart is called to restart the system.
41 */
42extern void platform_restart (void);
43
44/*
45 * platform_halt is called to stop the system and halt.
46 */
47extern void platform_halt (void);
48
49/*
50 * platform_power_off is called to stop the system and power it off.
51 */
52extern void platform_power_off (void);
53
54/*
55 * platform_idle is called from the idle function.
56 */
57extern void platform_idle (void);
58
59/*
60 * platform_heartbeat is called every HZ
61 */
62extern void platform_heartbeat (void);
63
64/*
65 * platform_pcibios_init is called to allow the platform to setup the pci bus.
66 */
67extern void platform_pcibios_init (void);
68
69/*
70 * platform_pcibios_fixup allows to modify the PCI configuration.
71 */
72extern int platform_pcibios_fixup (void);
73
74/*
75 * platform_calibrate_ccount calibrates cpu clock freq (CONFIG_XTENSA_CALIBRATE)
76 */
77extern void platform_calibrate_ccount (void);
78
79/*
80 * platform_get_rtc_time returns RTC seconds (returns 0 for no error)
81 */
82extern int platform_get_rtc_time(time_t*);
83
84/*
85 * platform_set_rtc_time set RTC seconds (returns 0 for no error)
86 */
87extern int platform_set_rtc_time(time_t);
88
89
90#endif	/* _XTENSA_PLATFORM_H */
91