Path: blob/master/arch/arm/mach-davinci/include/mach/common.h
17533 views
/*1* Header for code common to all DaVinci machines.2*3* Author: Kevin Hilman, MontaVista Software, Inc. <[email protected]>4*5* 2007 (c) MontaVista Software, Inc. This file is licensed under6* the terms of the GNU General Public License version 2. This program7* is licensed "as is" without any warranty of any kind, whether express8* or implied.9*/1011#ifndef __ARCH_ARM_MACH_DAVINCI_COMMON_H12#define __ARCH_ARM_MACH_DAVINCI_COMMON_H1314#include <linux/compiler.h>15#include <linux/types.h>1617struct sys_timer;1819extern struct sys_timer davinci_timer;2021extern void davinci_irq_init(void);22extern void __iomem *davinci_intc_base;23extern int davinci_intc_type;2425struct davinci_timer_instance {26u32 base;27u32 bottom_irq;28u32 top_irq;29unsigned long cmp_off;30unsigned int cmp_irq;31};3233struct davinci_timer_info {34struct davinci_timer_instance *timers;35unsigned int clockevent_id;36unsigned int clocksource_id;37};3839struct davinci_gpio_controller;4041/*42* SoC info passed into common davinci modules.43*44* Base addresses in this structure should be physical and not virtual.45* Modules that take such base addresses, should internally ioremap() them to46* use.47*/48struct davinci_soc_info {49struct map_desc *io_desc;50unsigned long io_desc_num;51u32 cpu_id;52u32 jtag_id;53u32 jtag_id_reg;54struct davinci_id *ids;55unsigned long ids_num;56struct clk_lookup *cpu_clks;57u32 *psc_bases;58unsigned long psc_bases_num;59u32 pinmux_base;60const struct mux_config *pinmux_pins;61unsigned long pinmux_pins_num;62u32 intc_base;63int intc_type;64u8 *intc_irq_prios;65unsigned long intc_irq_num;66u32 *intc_host_map;67struct davinci_timer_info *timer_info;68int gpio_type;69u32 gpio_base;70unsigned gpio_num;71unsigned gpio_irq;72unsigned gpio_unbanked;73struct davinci_gpio_controller *gpio_ctlrs;74int gpio_ctlrs_num;75struct platform_device *serial_dev;76struct emac_platform_data *emac_pdata;77dma_addr_t sram_dma;78unsigned sram_len;79struct platform_device *reset_device;80void (*reset)(struct platform_device *);81};8283extern struct davinci_soc_info davinci_soc_info;8485extern void davinci_common_init(struct davinci_soc_info *soc_info);86extern void davinci_init_ide(void);8788/* standard place to map on-chip SRAMs; they *may* support DMA */89#define SRAM_VIRT 0xfffe000090#define SRAM_SIZE SZ_128K9192#endif /* __ARCH_ARM_MACH_DAVINCI_COMMON_H */939495