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_lookup;
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_lookup *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
51