home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / plat-omap / include / mach / common.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.6 KB  |  73 lines

  1. /*
  2.  * arch/arm/plat-omap/include/mach/common.h
  3.  *
  4.  * Header for code common to all OMAP machines.
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify it
  7.  * under the terms of the GNU General Public License as published by the
  8.  * Free Software Foundation; either version 2 of the License, or (at your
  9.  * option) any later version.
  10.  *
  11.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
  12.  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
  14.  * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  15.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  16.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  17.  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  18.  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  19.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  20.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  21.  *
  22.  * You should have received a copy of the  GNU General Public License along
  23.  * with this program; if not, write  to the Free Software Foundation, Inc.,
  24.  * 675 Mass Ave, Cambridge, MA 02139, USA.
  25.  */
  26.  
  27. #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
  28. #define __ARCH_ARM_MACH_OMAP_COMMON_H
  29.  
  30. #include <linux/i2c.h>
  31.  
  32. struct sys_timer;
  33.  
  34. extern void omap_map_common_io(void);
  35. extern struct sys_timer omap_timer;
  36. extern void omap_serial_init(void);
  37. extern void omap_serial_enable_clocks(int enable);
  38. #ifdef CONFIG_I2C_OMAP
  39. extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
  40.                  struct i2c_board_info const *info,
  41.                  unsigned len);
  42. #else
  43. static inline int omap_register_i2c_bus(int bus_id, u32 clkrate,
  44.                  struct i2c_board_info const *info,
  45.                  unsigned len)
  46. {
  47.     return 0;
  48. }
  49. #endif
  50.  
  51. /* IO bases for various OMAP processors */
  52. struct omap_globals {
  53.     u32        class;        /* OMAP class to detect */
  54.     void __iomem    *tap;        /* Control module ID code */
  55.     void __iomem    *sdrc;        /* SDRAM Controller */
  56.     void __iomem    *sms;        /* SDRAM Memory Scheduler */
  57.     void __iomem    *ctrl;        /* System Control Module */
  58.     void __iomem    *prm;        /* Power and Reset Management */
  59.     void __iomem    *cm;        /* Clock Management */
  60. };
  61.  
  62. void omap2_set_globals_242x(void);
  63. void omap2_set_globals_243x(void);
  64. void omap2_set_globals_343x(void);
  65.  
  66. /* These get called from omap2_set_globals_xxxx(), do not call these */
  67. void omap2_set_globals_tap(struct omap_globals *);
  68. void omap2_set_globals_memory(struct omap_globals *);
  69. void omap2_set_globals_control(struct omap_globals *);
  70. void omap2_set_globals_prcm(struct omap_globals *);
  71.  
  72. #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */
  73.