aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-u300/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-u300/core.c')
-rw-r--r--arch/arm/mach-u300/core.c85
1 files changed, 16 insertions, 69 deletions
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c
index a7b3f36e226..b911590c8ae 100644
--- a/arch/arm/mach-u300/core.c
+++ b/arch/arm/mach-u300/core.c
@@ -95,19 +95,9 @@ static struct amba_pl011_data uart0_plat_data = {
95#endif 95#endif
96}; 96};
97 97
98static struct amba_device uart0_device = { 98/* Slow device at 0x3000 offset */
99 .dev = { 99static AMBA_APB_DEVICE(uart0, "uart0", 0, U300_UART0_BASE,
100 .coherent_dma_mask = ~0, 100 { IRQ_U300_UART0 }, &uart0_plat_data);
101 .init_name = "uart0", /* Slow device at 0x3000 offset */
102 .platform_data = &uart0_plat_data,
103 },
104 .res = {
105 .start = U300_UART0_BASE,
106 .end = U300_UART0_BASE + SZ_4K - 1,
107 .flags = IORESOURCE_MEM,
108 },
109 .irq = { IRQ_U300_UART0, NO_IRQ },
110};
111 101
112/* The U335 have an additional UART1 on the APP CPU */ 102/* The U335 have an additional UART1 on the APP CPU */
113#ifdef CONFIG_MACH_U300_BS335 103#ifdef CONFIG_MACH_U300_BS335
@@ -119,71 +109,28 @@ static struct amba_pl011_data uart1_plat_data = {
119#endif 109#endif
120}; 110};
121 111
122static struct amba_device uart1_device = { 112/* Fast device at 0x7000 offset */
123 .dev = { 113static AMBA_APB_DEVICE(uart1, "uart1", 0, U300_UART1_BASE,
124 .coherent_dma_mask = ~0, 114 { IRQ_U300_UART1 }, &uart1_plat_data);
125 .init_name = "uart1", /* Fast device at 0x7000 offset */
126 .platform_data = &uart1_plat_data,
127 },
128 .res = {
129 .start = U300_UART1_BASE,
130 .end = U300_UART1_BASE + SZ_4K - 1,
131 .flags = IORESOURCE_MEM,
132 },
133 .irq = { IRQ_U300_UART1, NO_IRQ },
134};
135#endif 115#endif
136 116
137static struct amba_device pl172_device = { 117/* AHB device at 0x4000 offset */
138 .dev = { 118static AMBA_APB_DEVICE(pl172, "pl172", 0, U300_EMIF_CFG_BASE, { }, NULL);
139 .init_name = "pl172", /* AHB device at 0x4000 offset */
140 .platform_data = NULL,
141 },
142 .res = {
143 .start = U300_EMIF_CFG_BASE,
144 .end = U300_EMIF_CFG_BASE + SZ_4K - 1,
145 .flags = IORESOURCE_MEM,
146 },
147};
148 119
149 120
150/* 121/*
151 * Everything within this next ifdef deals with external devices connected to 122 * Everything within this next ifdef deals with external devices connected to
152 * the APP SPI bus. 123 * the APP SPI bus.
153 */ 124 */
154static struct amba_device pl022_device = { 125/* Fast device at 0x6000 offset */
155 .dev = { 126static AMBA_APB_DEVICE(pl022, "pl022", 0, U300_SPI_BASE,
156 .coherent_dma_mask = ~0, 127 { IRQ_U300_SPI }, NULL);
157 .init_name = "pl022", /* Fast device at 0x6000 offset */
158 },
159 .res = {
160 .start = U300_SPI_BASE,
161 .end = U300_SPI_BASE + SZ_4K - 1,
162 .flags = IORESOURCE_MEM,
163 },
164 .irq = {IRQ_U300_SPI, NO_IRQ },
165 /*
166 * This device has a DMA channel but the Linux driver does not use
167 * it currently.
168 */
169};
170 128
171static struct amba_device mmcsd_device = { 129/* Fast device at 0x1000 offset */
172 .dev = { 130#define U300_MMCSD_IRQS { IRQ_U300_MMCSD_MCIINTR0, IRQ_U300_MMCSD_MCIINTR1 }
173 .init_name = "mmci", /* Fast device at 0x1000 offset */ 131
174 .platform_data = NULL, /* Added later */ 132static AMBA_APB_DEVICE(mmcsd, "mmci", 0, U300_MMCSD_BASE,
175 }, 133 U300_MMCSD_IRQS, NULL);
176 .res = {
177 .start = U300_MMCSD_BASE,
178 .end = U300_MMCSD_BASE + SZ_4K - 1,
179 .flags = IORESOURCE_MEM,
180 },
181 .irq = {IRQ_U300_MMCSD_MCIINTR0, IRQ_U300_MMCSD_MCIINTR1 },
182 /*
183 * This device has a DMA channel but the Linux driver does not use
184 * it currently.
185 */
186};
187 134
188/* 135/*
189 * The order of device declaration may be important, since some devices 136 * The order of device declaration may be important, since some devices