Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
[pandora-kernel.git] / arch / arm / mach-msm / include / mach / board.h
1 /* arch/arm/mach-msm/include/mach/board.h
2  *
3  * Copyright (C) 2007 Google, Inc.
4  * Author: Brian Swetland <swetland@google.com>
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 #ifndef __ASM_ARCH_MSM_BOARD_H
18 #define __ASM_ARCH_MSM_BOARD_H
19
20 #include <linux/types.h>
21 #include <mach/mmc.h>
22
23 /* platform device data structures */
24
25 struct msm_acpu_clock_platform_data
26 {
27         uint32_t acpu_switch_time_us;
28         uint32_t max_speed_delta_khz;
29         uint32_t vdd_switch_time_us;
30         unsigned long power_collapse_khz;
31         unsigned long wait_for_irq_khz;
32 };
33
34 struct clk;
35
36 extern struct sys_timer msm_timer;
37
38 /* common init routines for use by arch/arm/mach-msm/board-*.c */
39
40 void __init msm_add_devices(void);
41 void __init msm_map_common_io(void);
42 void __init msm_init_irq(void);
43 void __init msm_init_gpio(void);
44 void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks);
45 void __init msm_acpu_clock_init(struct msm_acpu_clock_platform_data *);
46 int __init msm_add_sdcc(unsigned int controller,
47                         struct msm_mmc_platform_data *plat,
48                         unsigned int stat_irq, unsigned long stat_irq_flags);
49
50 #endif