linux/arch/arm/mach-davinci/include/mach/common.h
<<
>>
Prefs
   1/*
   2 * Header for code common to all DaVinci machines.
   3 *
   4 * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
   5 *
   6 * 2007 (c) MontaVista Software, Inc. This file is licensed under
   7 * the terms of the GNU General Public License version 2. This program
   8 * is licensed "as is" without any warranty of any kind, whether express
   9 * or implied.
  10 */
  11
  12#ifndef __ARCH_ARM_MACH_DAVINCI_COMMON_H
  13#define __ARCH_ARM_MACH_DAVINCI_COMMON_H
  14
  15struct sys_timer;
  16
  17extern struct sys_timer davinci_timer;
  18
  19extern void davinci_irq_init(void);
  20extern void __iomem *davinci_intc_base;
  21extern int davinci_intc_type;
  22
  23/* parameters describe VBUS sourcing for host mode */
  24extern void setup_usb(unsigned mA, unsigned potpgt_msec);
  25
  26/* parameters describe VBUS sourcing for host mode */
  27extern void setup_usb(unsigned mA, unsigned potpgt_msec);
  28
  29struct davinci_timer_instance {
  30        void __iomem    *base;
  31        u32             bottom_irq;
  32        u32             top_irq;
  33        unsigned long   cmp_off;
  34        unsigned int    cmp_irq;
  35};
  36
  37struct davinci_timer_info {
  38        struct davinci_timer_instance   *timers;
  39        unsigned int                    clockevent_id;
  40        unsigned int                    clocksource_id;
  41};
  42
  43/* SoC specific init support */
  44struct davinci_soc_info {
  45        struct map_desc                 *io_desc;
  46        unsigned long                   io_desc_num;
  47        u32                             cpu_id;
  48        u32                             jtag_id;
  49        void __iomem                    *jtag_id_base;
  50        struct davinci_id               *ids;
  51        unsigned long                   ids_num;
  52        struct davinci_clk              *cpu_clks;
  53        void __iomem                    **psc_bases;
  54        unsigned long                   psc_bases_num;
  55        void __iomem                    *pinmux_base;
  56        const struct mux_config         *pinmux_pins;
  57        unsigned long                   pinmux_pins_num;
  58        void __iomem                    *intc_base;
  59        int                             intc_type;
  60        u8                              *intc_irq_prios;
  61        unsigned long                   intc_irq_num;
  62        struct davinci_timer_info       *timer_info;
  63        void __iomem                    *gpio_base;
  64        unsigned                        gpio_num;
  65        unsigned                        gpio_irq;
  66        unsigned                        gpio_unbanked;
  67        struct platform_device          *serial_dev;
  68        struct emac_platform_data       *emac_pdata;
  69        dma_addr_t                      sram_dma;
  70        unsigned                        sram_len;
  71};
  72
  73extern struct davinci_soc_info davinci_soc_info;
  74
  75extern void davinci_common_init(struct davinci_soc_info *soc_info);
  76
  77/* standard place to map on-chip SRAMs; they *may* support DMA */
  78#define SRAM_VIRT       0xfffe0000
  79#define SRAM_SIZE       SZ_128K
  80
  81#endif /* __ARCH_ARM_MACH_DAVINCI_COMMON_H */
  82