The timer code relies on #defines from mach/iomap.h, cpu_is_*() checks, and a global irq #define. All this makes this file impossible to compile in a mult-target build. Therefore, make a sys_timer struct for each SoC so that machine descriptors can reference the correct timer. Then go through and replace all the defines with raw values that are passed to a common initialization function. This paves the way to adding DT support to this code as well as allows us to compile this file on multiple targets at the same time. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
55 lines
1.6 KiB
C
55 lines
1.6 KiB
C
/* arch/arm/mach-msm/include/mach/board.h
|
|
*
|
|
* Copyright (C) 2007 Google, Inc.
|
|
* Author: Brian Swetland <swetland@google.com>
|
|
*
|
|
* This software is licensed under the terms of the GNU General Public
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
* may be copied, distributed, and modified under those terms.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef __ASM_ARCH_MSM_BOARD_H
|
|
#define __ASM_ARCH_MSM_BOARD_H
|
|
|
|
#include <linux/types.h>
|
|
#include <mach/mmc.h>
|
|
|
|
/* platform device data structures */
|
|
|
|
struct msm_acpu_clock_platform_data
|
|
{
|
|
uint32_t acpu_switch_time_us;
|
|
uint32_t max_speed_delta_khz;
|
|
uint32_t vdd_switch_time_us;
|
|
unsigned long power_collapse_khz;
|
|
unsigned long wait_for_irq_khz;
|
|
};
|
|
|
|
struct clk_lookup;
|
|
|
|
/* common init routines for use by arch/arm/mach-msm/board-*.c */
|
|
|
|
void __init msm_add_devices(void);
|
|
void __init msm_map_common_io(void);
|
|
void __init msm_init_irq(void);
|
|
void __init msm_init_gpio(void);
|
|
void __init msm_clock_init(struct clk_lookup *clock_tbl, unsigned num_clocks);
|
|
void __init msm_acpu_clock_init(struct msm_acpu_clock_platform_data *);
|
|
int __init msm_add_sdcc(unsigned int controller,
|
|
struct msm_mmc_platform_data *plat,
|
|
unsigned int stat_irq, unsigned long stat_irq_flags);
|
|
|
|
#if defined(CONFIG_MSM_SMD) && defined(CONFIG_DEBUG_FS)
|
|
int smd_debugfs_init(void);
|
|
#else
|
|
static inline int smd_debugfs_init(void) { return 0; }
|
|
#endif
|
|
|
|
#endif
|