diff options
Diffstat (limited to 'arch/arm/mach-davinci/include/mach/common.h')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/common.h | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/arch/arm/mach-davinci/include/mach/common.h b/arch/arm/mach-davinci/include/mach/common.h index 50a955f05ef9..a57cba21e21e 100644 --- a/arch/arm/mach-davinci/include/mach/common.h +++ b/arch/arm/mach-davinci/include/mach/common.h | |||
@@ -12,6 +12,9 @@ | |||
12 | #ifndef __ARCH_ARM_MACH_DAVINCI_COMMON_H | 12 | #ifndef __ARCH_ARM_MACH_DAVINCI_COMMON_H |
13 | #define __ARCH_ARM_MACH_DAVINCI_COMMON_H | 13 | #define __ARCH_ARM_MACH_DAVINCI_COMMON_H |
14 | 14 | ||
15 | #include <linux/compiler.h> | ||
16 | #include <linux/types.h> | ||
17 | |||
15 | struct sys_timer; | 18 | struct sys_timer; |
16 | 19 | ||
17 | extern struct sys_timer davinci_timer; | 20 | extern struct sys_timer davinci_timer; |
@@ -21,7 +24,7 @@ extern void __iomem *davinci_intc_base; | |||
21 | extern int davinci_intc_type; | 24 | extern int davinci_intc_type; |
22 | 25 | ||
23 | struct davinci_timer_instance { | 26 | struct davinci_timer_instance { |
24 | void __iomem *base; | 27 | u32 base; |
25 | u32 bottom_irq; | 28 | u32 bottom_irq; |
26 | u32 top_irq; | 29 | u32 top_irq; |
27 | unsigned long cmp_off; | 30 | unsigned long cmp_off; |
@@ -34,39 +37,54 @@ struct davinci_timer_info { | |||
34 | unsigned int clocksource_id; | 37 | unsigned int clocksource_id; |
35 | }; | 38 | }; |
36 | 39 | ||
37 | /* SoC specific init support */ | 40 | struct davinci_gpio_controller; |
41 | |||
42 | /* | ||
43 | * SoC info passed into common davinci modules. | ||
44 | * | ||
45 | * Base addresses in this structure should be physical and not virtual. | ||
46 | * Modules that take such base addresses, should internally ioremap() them to | ||
47 | * use. | ||
48 | */ | ||
38 | struct davinci_soc_info { | 49 | struct davinci_soc_info { |
39 | struct map_desc *io_desc; | 50 | struct map_desc *io_desc; |
40 | unsigned long io_desc_num; | 51 | unsigned long io_desc_num; |
41 | u32 cpu_id; | 52 | u32 cpu_id; |
42 | u32 jtag_id; | 53 | u32 jtag_id; |
43 | void __iomem *jtag_id_base; | 54 | u32 jtag_id_reg; |
44 | struct davinci_id *ids; | 55 | struct davinci_id *ids; |
45 | unsigned long ids_num; | 56 | unsigned long ids_num; |
46 | struct clk_lookup *cpu_clks; | 57 | struct clk_lookup *cpu_clks; |
47 | void __iomem **psc_bases; | 58 | u32 *psc_bases; |
48 | unsigned long psc_bases_num; | 59 | unsigned long psc_bases_num; |
49 | void __iomem *pinmux_base; | 60 | u32 pinmux_base; |
50 | const struct mux_config *pinmux_pins; | 61 | const struct mux_config *pinmux_pins; |
51 | unsigned long pinmux_pins_num; | 62 | unsigned long pinmux_pins_num; |
52 | void __iomem *intc_base; | 63 | u32 intc_base; |
53 | int intc_type; | 64 | int intc_type; |
54 | u8 *intc_irq_prios; | 65 | u8 *intc_irq_prios; |
55 | unsigned long intc_irq_num; | 66 | unsigned long intc_irq_num; |
67 | u32 *intc_host_map; | ||
56 | struct davinci_timer_info *timer_info; | 68 | struct davinci_timer_info *timer_info; |
57 | void __iomem *gpio_base; | 69 | int gpio_type; |
70 | u32 gpio_base; | ||
58 | unsigned gpio_num; | 71 | unsigned gpio_num; |
59 | unsigned gpio_irq; | 72 | unsigned gpio_irq; |
60 | unsigned gpio_unbanked; | 73 | unsigned gpio_unbanked; |
74 | struct davinci_gpio_controller *gpio_ctlrs; | ||
75 | int gpio_ctlrs_num; | ||
61 | struct platform_device *serial_dev; | 76 | struct platform_device *serial_dev; |
62 | struct emac_platform_data *emac_pdata; | 77 | struct emac_platform_data *emac_pdata; |
63 | dma_addr_t sram_dma; | 78 | dma_addr_t sram_dma; |
64 | unsigned sram_len; | 79 | unsigned sram_len; |
80 | struct platform_device *reset_device; | ||
81 | void (*reset)(struct platform_device *); | ||
65 | }; | 82 | }; |
66 | 83 | ||
67 | extern struct davinci_soc_info davinci_soc_info; | 84 | extern struct davinci_soc_info davinci_soc_info; |
68 | 85 | ||
69 | extern void davinci_common_init(struct davinci_soc_info *soc_info); | 86 | extern void davinci_common_init(struct davinci_soc_info *soc_info); |
87 | extern void davinci_init_ide(void); | ||
70 | 88 | ||
71 | /* standard place to map on-chip SRAMs; they *may* support DMA */ | 89 | /* standard place to map on-chip SRAMs; they *may* support DMA */ |
72 | #define SRAM_VIRT 0xfffe0000 | 90 | #define SRAM_VIRT 0xfffe0000 |