board.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #ifndef __ASM_ARCH_MSM_BOARD_H
  17. #define __ASM_ARCH_MSM_BOARD_H
  18. #include <linux/types.h>
  19. #include <mach/mmc.h>
  20. /* platform device data structures */
  21. struct msm_acpu_clock_platform_data
  22. {
  23. uint32_t acpu_switch_time_us;
  24. uint32_t max_speed_delta_khz;
  25. uint32_t vdd_switch_time_us;
  26. unsigned long power_collapse_khz;
  27. unsigned long wait_for_irq_khz;
  28. };
  29. struct clk;
  30. /* common init routines for use by arch/arm/mach-msm/board-*.c */
  31. void __init msm_add_devices(void);
  32. void __init msm_map_common_io(void);
  33. void __init msm_init_irq(void);
  34. void __init msm_init_gpio(void);
  35. void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks);
  36. void __init msm_acpu_clock_init(struct msm_acpu_clock_platform_data *);
  37. int __init msm_add_sdcc(unsigned int controller,
  38. struct msm_mmc_platform_data *plat,
  39. unsigned int stat_irq, unsigned long stat_irq_flags);
  40. #endif